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 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.2"><img alt="Release" src="https://img.shields.io/github/v/release/ChaoYue0307/mcp-guard?color=7c2d12"></a>
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.2
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.2
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.2",
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 |
@@ -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.2
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.2
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.2
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.2
94
+ - uses: ChaoYue0307/mcp-guard-action@v0.4.3
95
95
  with:
96
96
  config: .mcp.json
97
97
  baseline: .mcp-guard-baseline.json
@@ -31,7 +31,7 @@ mcp-guard scan --config .mcp.json --fail-on high
31
31
  ## GitHub Action Setup
32
32
 
33
33
  ```yaml
34
- - uses: ChaoYue0307/mcp-guard-action@v0.4.2
34
+ - uses: ChaoYue0307/mcp-guard-action@v0.4.3
35
35
  with:
36
36
  config: .mcp.json
37
37
  baseline: .mcp-guard-baseline.json
@@ -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.2
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.2
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.2
98
+ - uses: ChaoYue0307/mcp-guard-action@v0.4.3
99
99
  with:
100
100
  config: .mcp.json
101
101
  baseline: .mcp-guard-baseline.json
@@ -82,16 +82,16 @@ Code quality
82
82
  Current release title:
83
83
 
84
84
  ```text
85
- v0.4.2
85
+ v0.4.3
86
86
  ```
87
87
 
88
88
  Release notes:
89
89
 
90
90
  ```text
91
- CI bootstrap release.
91
+ Trusted Publishing readiness release.
92
92
 
93
- - Adds `mcp-guard init` for generating a GitHub Action workflow.
94
- - Can generate and reference an initial baseline.
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.2
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.
@@ -1,6 +1,6 @@
1
1
  # mcp-guard Scan Report
2
2
 
3
- Generated: 2026-05-10T13:31:24.377Z
3
+ Generated: 2026-05-10T13:47:08.616Z
4
4
 
5
5
  ## Summary
6
6
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-mcp-guard",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "description": "Open-source CLI scanner for risky MCP server and AI agent tool configuration.",
5
5
  "type": "module",
6
6
  "homepage": "https://chaoyue0307.github.io/mcp-guard/",
@@ -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:31 UTC</strong><span>Generated</span></div>
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">
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "metadata": {
3
- "generatedAt": "2026-05-10T13:31:24.346Z",
3
+ "generatedAt": "2026-05-10T13:47:08.576Z",
4
4
  "cwd": ".",
5
5
  "home": "~",
6
- "toolVersion": "0.4.2"
6
+ "toolVersion": "0.4.3"
7
7
  },
8
8
  "scannedFiles": [
9
9
  "site/e2e/claude_desktop_config.json"
@@ -1,6 +1,6 @@
1
1
  # mcp-guard Scan Report
2
2
 
3
- Generated: 2026-05-10T13:31:24.329Z
3
+ Generated: 2026-05-10T13:47:08.555Z
4
4
 
5
5
  ## Summary
6
6
 
@@ -7,7 +7,7 @@
7
7
  "driver": {
8
8
  "name": "mcp-guard",
9
9
  "informationUri": "https://github.com/ChaoYue0307/mcp-guard",
10
- "semanticVersion": "0.4.2",
10
+ "semanticVersion": "0.4.3",
11
11
  "rules": [
12
12
  {
13
13
  "id": "MCP010",
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.2";
9
+ const VERSION = "0.4.3";
10
10
 
11
11
  export async function runCli(argv, io) {
12
12
  const args = argv.slice(2);