Skip to content

Commit d76aeb7

Browse files
author
andrey.korchemkin
committed
v0.5.0 is a narrow integration-driven release.
1 parent 55a4f75 commit d76aeb7

17 files changed

Lines changed: 131 additions & 20 deletions

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,27 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on Keep a Changelog and this project uses Semantic Versioning.
66

7+
## [0.5.0] - 2026-03-31
8+
9+
Integration-driven release.
10+
11+
### Added
12+
13+
- explicit `scan_timestamp` field in JSON reports for downstream temporal-decay consumers
14+
- matching scan timestamp metadata in SARIF run properties and invocation metadata
15+
- release-ready interface contract for Layer 1 style static baseline consumers
16+
17+
### Changed
18+
19+
- bumped report schema version to `0.5`
20+
- refreshed release docs and README examples for `v0.5.0`
21+
- regenerated sample artifacts from the current scanner output
22+
23+
### Notes
24+
25+
- `generated_at` is retained for backward compatibility
26+
- `scan_timestamp` is the canonical cross-layer timestamp field going forward
27+
728
## [0.4.0] - 2026-03-29
829

930
First practically useful public release.

README.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111

1212
`MCP Trust Kit` scans a local MCP server over `stdio`, discovers its tools, runs deterministic
1313
checks for protocol and tool hygiene plus risky exposed capabilities, calculates a score from
14-
`0..100`, and emits terminal, JSON, and SARIF output that fits cleanly into CI.
14+
`0..100`, and emits terminal, JSON, and SARIF output that fits cleanly into CI. JSON and SARIF
15+
include an explicit `scan_timestamp` field for downstream consumers.
1516

1617
**MCP Trust Kit scores surface risk, not business intent.**
1718

@@ -122,7 +123,7 @@ jobs:
122123
- uses: actions/checkout@v4
123124

124125
- name: Run MCP Trust Kit
125-
uses: aak204/MCP-Trust-Kit@v0.4.0
126+
uses: aak204/MCP-Trust-Kit@v0.5.0
126127
with:
127128
cmd: python path/to/your/server.py
128129
min-score: "80"
@@ -141,7 +142,7 @@ The action fails when:
141142
- the scan fails technically
142143
- the final score is below `min-score`
143144

144-
If the `v0.4.0` tag is not published yet, use a branch name or commit SHA while testing privately.
145+
If the `v0.5.0` tag is not published yet, use a branch name or commit SHA while testing privately.
145146

146147
## Example Output
147148

@@ -228,7 +229,7 @@ The scoring model is intentionally simple and predictable:
228229
3. clamp to `0..100`
229230
4. compute category scores the same way
230231

231-
Severity mapping in `v0.4.0`:
232+
Severity mapping in `v0.5.0`:
232233

233234
| Severity | Penalty |
234235
| --- | --- |
@@ -273,7 +274,7 @@ More detail:
273274

274275
## Roadmap
275276

276-
Near-term work after `v0.4.0`:
277+
Near-term work after `v0.5.0`:
277278

278279
- expand deterministic rules for `auth` and `secrets`
279280
- improve SARIF location mapping when source context is available

docs/architecture.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Architecture
22

3-
`MCP Trust Kit` keeps the `v0.4.0` pipeline intentionally small and deterministic.
3+
`MCP Trust Kit` keeps the `v0.5.0` pipeline intentionally small and deterministic.
44

55
```mermaid
66
flowchart LR
@@ -18,7 +18,7 @@ flowchart LR
1818

1919
Key properties:
2020

21-
- one MCP transport for `v0.4.0`: local `stdio`
21+
- one MCP transport for `v0.5.0`: local `stdio`
2222
- one deterministic rule per file
2323
- one deterministic surface-risk scoring engine
2424
- output layer formats an already-built `Report`

docs/release-checklist.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Release Checklist
22

3-
Use this list before publishing `v0.4.0`.
3+
Use this list before publishing `v0.5.0`.
44

55
## Repository
66

@@ -28,7 +28,7 @@ Windows note:
2828
- run `pip install .`
2929
- run `mcp-trust --help`
3030
- verify `import mcp_trust; print(mcp_trust.__version__)`
31-
- verify package metadata shows version `0.4.0`
31+
- verify package metadata shows version `0.5.0`
3232

3333
## Examples And Reports
3434

@@ -47,7 +47,7 @@ Windows note:
4747

4848
## Release
4949

50-
- create tag `v0.4.0`
50+
- create tag `v0.5.0`
5151
- publish GitHub Release notes from `CHANGELOG.md`
5252
- attach or link sample artifacts if desired
5353
- smoke-test the published action from a separate repository

docs/release-notes-v0.5.0.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# MCP Trust Kit v0.5.0
2+
3+
`v0.5.0` is a narrow integration-driven release.
4+
5+
The scanner contract from `v0.4.0` stays intentionally stable: local `stdio` discovery,
6+
deterministic rules, predictable scoring, terminal summary, JSON, SARIF, and GitHub Actions.
7+
The main reason for `v0.5.0` is to make Layer 1 baseline output easier to consume by downstream
8+
systems that care about scan freshness and temporal decay.
9+
10+
## Highlights
11+
12+
- explicit `scan_timestamp` field in JSON output
13+
- matching timestamp metadata in SARIF
14+
- no break to existing `generated_at` consumers
15+
- release-ready static baseline contract for higher-layer integrations
16+
17+
## Included In v0.5.0
18+
19+
- JSON reports now expose:
20+
- `scan_timestamp`
21+
- `generated_at`
22+
- aggregate score breakdown
23+
- capability-aware and hygiene-aware findings
24+
- SARIF runs now expose:
25+
- `runs[].properties.scan_timestamp`
26+
- `runs[].invocations[].endTimeUtc`
27+
- sample reports regenerated from the current scanner
28+
- release docs and README updated for `v0.5.0`
29+
30+
## Validation Snapshot
31+
32+
- `examples/insecure-server` -> `10/100`
33+
- `@modelcontextprotocol/server-memory@2026.1.26` -> `100/100`
34+
- `@modelcontextprotocol/server-filesystem@2026.1.14` -> `40/100`
35+
36+
## Contract Note
37+
38+
`generated_at` is still present for backward compatibility.
39+
40+
`scan_timestamp` is now the canonical timestamp field for downstream integrations that need to
41+
reason about baseline freshness.
42+
43+
## Quickstart
44+
45+
Local:
46+
47+
```bash
48+
python -m venv .venv
49+
source .venv/bin/activate
50+
pip install -e .[dev]
51+
mcp-trust scan --json-out baseline.json --cmd python examples/insecure-server/server.py
52+
```
53+
54+
GitHub Actions:
55+
56+
```yaml
57+
- name: Run MCP Trust Kit
58+
uses: aak204/MCP-Trust-Kit@v0.5.0
59+
with:
60+
cmd: python path/to/your/server.py
61+
min-score: "80"
62+
json-out: mcp-trust-report.json
63+
sarif-out: mcp-trust-report.sarif
64+
```

docs/validated-servers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ The point is narrower: show that `MCP Trust Kit` works on real servers outside t
77

88
**MCP Trust Kit scores surface risk, not business intent.**
99

10-
Validation date: `2026-03-29`
10+
Validation date: `2026-03-31`
1111

1212
Reference sources for the public packages used here:
1313

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "mcp-trust-kit"
7-
version = "0.4.0"
7+
version = "0.5.0"
88
description = "CI-first deterministic surface-risk scoring for MCP servers."
99
readme = "README.md"
1010
license = "Apache-2.0"

sample-reports/insecure-server.report.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
2-
"schema_version": "0.4",
3-
"toolkit_version": "0.4.0",
4-
"generated_at": "2026-03-29T13:48:58.855632+00:00",
2+
"schema_version": "0.5",
3+
"toolkit_version": "0.5.0",
4+
"scan_timestamp": "2026-03-31T07:26:34.700338+00:00",
5+
"generated_at": "2026-03-31T07:26:34.700338+00:00",
56
"server": {
67
"target": "stdio:[\".\\\\.venv\\\\Scripts\\\\python\",\"examples\\\\insecure-server\\\\server.py\"]",
78
"name": "Insecure Demo Server",

sample-reports/insecure-server.report.sarif

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"tool": {
77
"driver": {
88
"name": "MCP Trust Kit",
9-
"semanticVersion": "0.4.0",
9+
"semanticVersion": "0.5.0",
1010
"rules": [
1111
{
1212
"id": "duplicate_tool_names",
@@ -490,11 +490,15 @@
490490
"invocations": [
491491
{
492492
"executionSuccessful": true,
493+
"endTimeUtc": "2026-03-31T07:26:34.700338+00:00",
493494
"workingDirectory": {
494495
"uri": "file:///D:/Dev/MCP%20Trust%20Kit"
495496
}
496497
}
497498
],
499+
"properties": {
500+
"scan_timestamp": "2026-03-31T07:26:34.700338+00:00"
501+
},
498502
"results": [
499503
{
500504
"ruleId": "overly_generic_tool_name",

src/mcp_trust/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
__all__ = ["__version__"]
44

5-
__version__ = "0.4.0"
5+
__version__ = "0.5.0"

0 commit comments

Comments
 (0)