agent-mcp-guard 0.4.2 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/docs/baseline.md +2 -2
- package/docs/business-playbook.md +2 -0
- package/docs/github-action.md +4 -4
- package/docs/launch-checklist.md +1 -1
- package/docs/marketplace-action-readme.md +3 -3
- package/docs/marketplace.md +5 -5
- package/docs/roadmap.md +1 -0
- package/docs/trusted-publishing.md +61 -0
- package/examples/sample-report.md +1 -1
- package/package.json +1 -1
- package/site/e2e/report.html +1 -1
- package/site/e2e/report.json +2 -2
- package/site/e2e/report.md +1 -1
- package/site/e2e/report.sarif +1 -1
- package/src/cli.js +1 -1
package/README.md
CHANGED
|
@@ -19,7 +19,7 @@ Live demo PR: [mcp-guard-demo#1](https://github.com/ChaoYue0307/mcp-guard-demo/p
|
|
|
19
19
|
<a href="https://github.com/marketplace/actions/mcp-guard-mcp-security-scanner"><img alt="GitHub Marketplace" src="https://img.shields.io/badge/Marketplace-mcp--guard-0f766e?logo=github"></a>
|
|
20
20
|
<a href="https://github.com/ChaoYue0307/mcp-guard/actions"><img alt="CI" src="https://github.com/ChaoYue0307/mcp-guard/actions/workflows/ci.yml/badge.svg"></a>
|
|
21
21
|
<a href="LICENSE"><img alt="License" src="https://img.shields.io/badge/license-Apache--2.0-111827"></a>
|
|
22
|
-
<a href="https://github.com/ChaoYue0307/mcp-guard/releases/tag/v0.4.
|
|
22
|
+
<a href="https://github.com/ChaoYue0307/mcp-guard/releases/tag/v0.4.3"><img alt="Release" src="https://img.shields.io/github/v/release/ChaoYue0307/mcp-guard?color=7c2d12"></a>
|
|
23
23
|
</p>
|
|
24
24
|
|
|
25
25
|
## Install
|
|
@@ -81,7 +81,7 @@ mcp-guard scan --config .mcp.json --baseline .mcp-guard-baseline.json --fail-on
|
|
|
81
81
|
Use the GitHub Action:
|
|
82
82
|
|
|
83
83
|
```yaml
|
|
84
|
-
- uses: ChaoYue0307/mcp-guard-action@v0.4.
|
|
84
|
+
- uses: ChaoYue0307/mcp-guard-action@v0.4.3
|
|
85
85
|
with:
|
|
86
86
|
config: .mcp.json
|
|
87
87
|
baseline: .mcp-guard-baseline.json
|
|
@@ -206,6 +206,7 @@ Contact: [hechaoyue0307@gmail.com](mailto:hechaoyue0307@gmail.com)
|
|
|
206
206
|
- [GitHub Action](docs/github-action.md)
|
|
207
207
|
- [Marketplace publishing plan](docs/marketplace.md)
|
|
208
208
|
- [Privacy and security](docs/privacy-and-security.md)
|
|
209
|
+
- [Trusted publishing](docs/trusted-publishing.md)
|
|
209
210
|
- [Roadmap](docs/roadmap.md)
|
|
210
211
|
- [Operator runbook](docs/operator-runbook.md)
|
|
211
212
|
|
package/docs/baseline.md
CHANGED
|
@@ -30,7 +30,7 @@ If the scan finds only baseline-accepted findings, the exit code is `0`. If a ne
|
|
|
30
30
|
## GitHub Action
|
|
31
31
|
|
|
32
32
|
```yaml
|
|
33
|
-
- uses: ChaoYue0307/mcp-guard-action@v0.4.
|
|
33
|
+
- uses: ChaoYue0307/mcp-guard-action@v0.4.3
|
|
34
34
|
with:
|
|
35
35
|
config: .mcp.json
|
|
36
36
|
baseline: .mcp-guard-baseline.json
|
|
@@ -45,7 +45,7 @@ The generated Markdown, HTML, JSON, and PR comment separate active findings from
|
|
|
45
45
|
{
|
|
46
46
|
"version": 1,
|
|
47
47
|
"generatedAt": "2026-05-10T00:00:00.000Z",
|
|
48
|
-
"toolVersion": "0.4.
|
|
48
|
+
"toolVersion": "0.4.3",
|
|
49
49
|
"findings": [
|
|
50
50
|
{
|
|
51
51
|
"fingerprint": "mcpg_a009b2c2",
|
|
@@ -22,6 +22,8 @@ Deliverables:
|
|
|
22
22
|
- document missing rule requests for future product work;
|
|
23
23
|
- provide a short setup handoff note.
|
|
24
24
|
|
|
25
|
+
For product operations, npm Trusted Publishing should be used after the package setting is configured. This avoids manual QR-code publish flows and makes small releases repeatable.
|
|
26
|
+
|
|
25
27
|
## Pricing
|
|
26
28
|
|
|
27
29
|
| Customer | Price |
|
package/docs/github-action.md
CHANGED
|
@@ -35,7 +35,7 @@ jobs:
|
|
|
35
35
|
runs-on: ubuntu-latest
|
|
36
36
|
steps:
|
|
37
37
|
- uses: actions/checkout@v6
|
|
38
|
-
- uses: ChaoYue0307/mcp-guard-action@v0.4.
|
|
38
|
+
- uses: ChaoYue0307/mcp-guard-action@v0.4.3
|
|
39
39
|
with:
|
|
40
40
|
config: .mcp.json
|
|
41
41
|
fail-on: high
|
|
@@ -63,7 +63,7 @@ jobs:
|
|
|
63
63
|
runs-on: ubuntu-latest
|
|
64
64
|
steps:
|
|
65
65
|
- uses: actions/checkout@v6
|
|
66
|
-
- uses: ChaoYue0307/mcp-guard-action@v0.4.
|
|
66
|
+
- uses: ChaoYue0307/mcp-guard-action@v0.4.3
|
|
67
67
|
with:
|
|
68
68
|
config: .mcp.json
|
|
69
69
|
fail-on: high
|
|
@@ -75,7 +75,7 @@ jobs:
|
|
|
75
75
|
Use `fail-on: none` when you want artifacts and summaries without blocking a pull request.
|
|
76
76
|
|
|
77
77
|
```yaml
|
|
78
|
-
- uses: ChaoYue0307/mcp-guard-action@v0.4.
|
|
78
|
+
- uses: ChaoYue0307/mcp-guard-action@v0.4.3
|
|
79
79
|
with:
|
|
80
80
|
fail-on: none
|
|
81
81
|
```
|
|
@@ -91,7 +91,7 @@ mcp-guard scan --config .mcp.json --write-baseline .mcp-guard-baseline.json
|
|
|
91
91
|
Commit `.mcp-guard-baseline.json`, then reference it from the action:
|
|
92
92
|
|
|
93
93
|
```yaml
|
|
94
|
-
- uses: ChaoYue0307/mcp-guard-action@v0.4.
|
|
94
|
+
- uses: ChaoYue0307/mcp-guard-action@v0.4.3
|
|
95
95
|
with:
|
|
96
96
|
config: .mcp.json
|
|
97
97
|
baseline: .mcp-guard-baseline.json
|
package/docs/launch-checklist.md
CHANGED
|
@@ -23,7 +23,7 @@ jobs:
|
|
|
23
23
|
runs-on: ubuntu-latest
|
|
24
24
|
steps:
|
|
25
25
|
- uses: actions/checkout@v6
|
|
26
|
-
- uses: ChaoYue0307/mcp-guard-action@v0.4.
|
|
26
|
+
- uses: ChaoYue0307/mcp-guard-action@v0.4.3
|
|
27
27
|
with:
|
|
28
28
|
config: .mcp.json
|
|
29
29
|
fail-on: high
|
|
@@ -42,7 +42,7 @@ jobs:
|
|
|
42
42
|
runs-on: ubuntu-latest
|
|
43
43
|
steps:
|
|
44
44
|
- uses: actions/checkout@v6
|
|
45
|
-
- uses: ChaoYue0307/mcp-guard-action@v0.4.
|
|
45
|
+
- uses: ChaoYue0307/mcp-guard-action@v0.4.3
|
|
46
46
|
with:
|
|
47
47
|
config: .mcp.json
|
|
48
48
|
fail-on: high
|
|
@@ -95,7 +95,7 @@ mcp-guard scan --config .mcp.json --write-baseline .mcp-guard-baseline.json
|
|
|
95
95
|
Then enforce only new findings:
|
|
96
96
|
|
|
97
97
|
```yaml
|
|
98
|
-
- uses: ChaoYue0307/mcp-guard-action@v0.4.
|
|
98
|
+
- uses: ChaoYue0307/mcp-guard-action@v0.4.3
|
|
99
99
|
with:
|
|
100
100
|
config: .mcp.json
|
|
101
101
|
baseline: .mcp-guard-baseline.json
|
package/docs/marketplace.md
CHANGED
|
@@ -82,16 +82,16 @@ Code quality
|
|
|
82
82
|
Current release title:
|
|
83
83
|
|
|
84
84
|
```text
|
|
85
|
-
v0.4.
|
|
85
|
+
v0.4.3
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
Release notes:
|
|
89
89
|
|
|
90
90
|
```text
|
|
91
|
-
|
|
91
|
+
Trusted Publishing readiness release.
|
|
92
92
|
|
|
93
|
-
- Adds
|
|
94
|
-
-
|
|
93
|
+
- Adds a GitHub Actions workflow for npm Trusted Publishing readiness.
|
|
94
|
+
- Keeps `mcp-guard init` for generating a GitHub Action workflow and baseline.
|
|
95
95
|
- Keeps Node.js 24, PR comments, artifacts, and SARIF upload support.
|
|
96
96
|
```
|
|
97
97
|
|
|
@@ -105,7 +105,7 @@ Completed:
|
|
|
105
105
|
- README, docs, and website examples now use:
|
|
106
106
|
|
|
107
107
|
```yaml
|
|
108
|
-
- uses: ChaoYue0307/mcp-guard-action@v0.4.
|
|
108
|
+
- uses: ChaoYue0307/mcp-guard-action@v0.4.3
|
|
109
109
|
```
|
|
110
110
|
|
|
111
111
|
Remaining Marketplace web step:
|
package/docs/roadmap.md
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
- Baseline/allowlist mode for accepting known findings and failing only on new risks.
|
|
13
13
|
- Optional GitHub pull request comments from the Marketplace Action.
|
|
14
14
|
- `mcp-guard init` for bootstrapping a GitHub Action workflow and optional baseline.
|
|
15
|
+
- npm Trusted Publishing workflow prepared for tokenless release publishing.
|
|
15
16
|
|
|
16
17
|
## Next
|
|
17
18
|
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Trusted Publishing
|
|
2
|
+
|
|
3
|
+
`mcp-guard` includes a GitHub Actions workflow for npm Trusted Publishing so future releases can publish without npm browser QR links, OTP prompts, or long-lived npm tokens.
|
|
4
|
+
|
|
5
|
+
## Why
|
|
6
|
+
|
|
7
|
+
npm browser authentication links can expire quickly and may open as 404. Trusted Publishing lets npm accept a publish from a specific GitHub Actions workflow through OIDC.
|
|
8
|
+
|
|
9
|
+
The workflow is committed at:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
.github/workflows/publish-npm.yml
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
It uses:
|
|
16
|
+
|
|
17
|
+
- `permissions: id-token: write`
|
|
18
|
+
- `actions/checkout@v6`
|
|
19
|
+
- `actions/setup-node@v6`
|
|
20
|
+
- Node.js 24
|
|
21
|
+
- `npm publish --access public`
|
|
22
|
+
|
|
23
|
+
## npm Package Settings
|
|
24
|
+
|
|
25
|
+
Configure this once on npmjs.com:
|
|
26
|
+
|
|
27
|
+
| Field | Value |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| Package | `agent-mcp-guard` |
|
|
30
|
+
| Publisher | GitHub Actions |
|
|
31
|
+
| Organization or user | `ChaoYue0307` |
|
|
32
|
+
| Repository | `mcp-guard` |
|
|
33
|
+
| Workflow filename | `publish-npm.yml` |
|
|
34
|
+
| Environment name | leave empty |
|
|
35
|
+
|
|
36
|
+
After this is saved, run the workflow from GitHub Actions with the release tag, for example:
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
v0.4.3
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Release Flow After Setup
|
|
43
|
+
|
|
44
|
+
1. Update `package.json` and `src/cli.js`.
|
|
45
|
+
2. Run `npm test` and `npm run release:check`.
|
|
46
|
+
3. Commit and push to `main`.
|
|
47
|
+
4. Create a GitHub release tag such as `v0.4.3`.
|
|
48
|
+
5. Run the `Publish npm` workflow with the same tag.
|
|
49
|
+
6. Verify npm:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npm view agent-mcp-guard version
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Troubleshooting
|
|
56
|
+
|
|
57
|
+
- The workflow filename configured on npm must be exactly `publish-npm.yml`.
|
|
58
|
+
- The package `repository.url` must match `https://github.com/ChaoYue0307/mcp-guard`.
|
|
59
|
+
- The workflow must run on GitHub-hosted runners.
|
|
60
|
+
- The workflow must keep `id-token: write`.
|
|
61
|
+
- If npm says authentication failed, re-check the npm Trusted Publisher fields before retrying.
|
package/package.json
CHANGED
package/site/e2e/report.html
CHANGED
|
@@ -297,7 +297,7 @@
|
|
|
297
297
|
<div class="metric"><strong>1</strong><span>Scanned files</span></div>
|
|
298
298
|
<div class="metric"><strong>3</strong><span>MCP servers</span></div>
|
|
299
299
|
<div class="metric"><strong>9</strong><span>Active findings</span></div>
|
|
300
|
-
<div class="metric"><strong>2026-05-10 13:
|
|
300
|
+
<div class="metric"><strong>2026-05-10 13:47 UTC</strong><span>Generated</span></div>
|
|
301
301
|
</div>
|
|
302
302
|
</div>
|
|
303
303
|
<aside class="scorecard" aria-label="Risk score">
|
package/site/e2e/report.json
CHANGED
package/site/e2e/report.md
CHANGED
package/site/e2e/report.sarif
CHANGED
package/src/cli.js
CHANGED
|
@@ -6,7 +6,7 @@ import { scan } from "./scan.js";
|
|
|
6
6
|
import { generateHtmlReport, generateJsonReport, generateMarkdownReport, generateSarifReport, generateTextReport } from "./report.js";
|
|
7
7
|
import { compareSeverity, severityRank } from "./severity.js";
|
|
8
8
|
|
|
9
|
-
const VERSION = "0.4.
|
|
9
|
+
const VERSION = "0.4.3";
|
|
10
10
|
|
|
11
11
|
export async function runCli(argv, io) {
|
|
12
12
|
const args = argv.slice(2);
|