@yawlabs/mcp-compliance 0.14.1 → 0.14.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 +15 -11
- package/dist/index.js +0 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
|
|
10
10
|
Built and maintained by [Yaw Labs](https://yaw.sh).
|
|
11
11
|
|
|
12
|
+
[](yaw://install?name=mcp-compliance&command=npx&args=-y%2C%40yawlabs%2Fmcp-compliance&description=Test%20any%20MCP%20server%20against%20the%20spec%20-%2088-test%20suite%20with%20letter-grade%20scoring&source=https%3A%2F%2Fgithub.com%2FYawLabs%2Fmcp-compliance)
|
|
13
|
+
|
|
14
|
+
One click adds this to your local Yaw MCP config so it's available in every Yaw Terminal session. Or install manually below.
|
|
15
|
+
|
|
12
16
|
## Why this tool?
|
|
13
17
|
|
|
14
18
|
MCP servers are multiplying fast — but most ship without compliance testing. Broken transport handling, missing error codes, malformed schemas, and silent capability violations are common. Hand-rolling test scripts is tedious and incomplete.
|
|
@@ -28,20 +32,20 @@ This tool solves that:
|
|
|
28
32
|
**Remote HTTP server:**
|
|
29
33
|
|
|
30
34
|
```bash
|
|
31
|
-
npx @yawlabs/mcp-compliance test https://my-server.com/mcp
|
|
35
|
+
npx @yawlabs/mcp-compliance@latest test https://my-server.com/mcp
|
|
32
36
|
```
|
|
33
37
|
|
|
34
38
|
**Local stdio server** (the vast majority of MCP servers on npm):
|
|
35
39
|
|
|
36
40
|
```bash
|
|
37
41
|
# Pass the command directly, Inspector-style
|
|
38
|
-
npx @yawlabs/mcp-compliance test npx @modelcontextprotocol/server-filesystem /tmp
|
|
42
|
+
npx @yawlabs/mcp-compliance@latest test npx @modelcontextprotocol/server-filesystem /tmp
|
|
39
43
|
|
|
40
44
|
# Or a local build
|
|
41
|
-
npx @yawlabs/mcp-compliance test node ./dist/server.js
|
|
45
|
+
npx @yawlabs/mcp-compliance@latest test node ./dist/server.js
|
|
42
46
|
|
|
43
47
|
# With env vars
|
|
44
|
-
npx @yawlabs/mcp-compliance test -E GITHUB_TOKEN=$GITHUB_TOKEN -- npx @modelcontextprotocol/server-github
|
|
48
|
+
npx @yawlabs/mcp-compliance@latest test -E GITHUB_TOKEN=$GITHUB_TOKEN -- npx @modelcontextprotocol/server-github
|
|
45
49
|
```
|
|
46
50
|
|
|
47
51
|
**Install globally:**
|
|
@@ -417,27 +421,27 @@ Required tests are worth 70% of the score, optional tests 30%. See the [full sco
|
|
|
417
421
|
```yaml
|
|
418
422
|
# GitHub Actions example
|
|
419
423
|
- name: MCP Compliance Check
|
|
420
|
-
run: npx @yawlabs/mcp-compliance test ${{ env.MCP_SERVER_URL }} --strict
|
|
424
|
+
run: npx @yawlabs/mcp-compliance@latest test ${{ env.MCP_SERVER_URL }} --strict
|
|
421
425
|
```
|
|
422
426
|
|
|
423
427
|
```yaml
|
|
424
428
|
# With JSON output for parsing
|
|
425
429
|
- name: MCP Compliance Check
|
|
426
430
|
run: |
|
|
427
|
-
npx @yawlabs/mcp-compliance test ${{ env.MCP_SERVER_URL }} --format json > compliance.json
|
|
431
|
+
npx @yawlabs/mcp-compliance@latest test ${{ env.MCP_SERVER_URL }} --format json > compliance.json
|
|
428
432
|
cat compliance.json | jq '.grade'
|
|
429
433
|
```
|
|
430
434
|
|
|
431
435
|
```yaml
|
|
432
436
|
# With retries for flaky network conditions
|
|
433
437
|
- name: MCP Compliance Check
|
|
434
|
-
run: npx @yawlabs/mcp-compliance test ${{ env.MCP_SERVER_URL }} --strict --retries 2 --timeout 30000
|
|
438
|
+
run: npx @yawlabs/mcp-compliance@latest test ${{ env.MCP_SERVER_URL }} --strict --retries 2 --timeout 30000
|
|
435
439
|
```
|
|
436
440
|
|
|
437
441
|
```yaml
|
|
438
442
|
# SARIF output for GitHub Code Scanning
|
|
439
443
|
- name: MCP Compliance Check
|
|
440
|
-
run: npx @yawlabs/mcp-compliance test ${{ env.MCP_SERVER_URL }} --format sarif > compliance.sarif
|
|
444
|
+
run: npx @yawlabs/mcp-compliance@latest test ${{ env.MCP_SERVER_URL }} --format sarif > compliance.sarif
|
|
441
445
|
- name: Upload SARIF
|
|
442
446
|
uses: github/codeql-action/upload-sarif@v3
|
|
443
447
|
with:
|
|
@@ -453,7 +457,7 @@ This package also exposes an MCP server with 3 tools that can be used from Claud
|
|
|
453
457
|
**Claude Code (one-liner):**
|
|
454
458
|
|
|
455
459
|
```bash
|
|
456
|
-
claude mcp add mcp-compliance -- npx -y @yawlabs/mcp-compliance mcp
|
|
460
|
+
claude mcp add mcp-compliance -- npx -y @yawlabs/mcp-compliance@latest mcp
|
|
457
461
|
```
|
|
458
462
|
|
|
459
463
|
**Or create `.mcp.json` in your project root:**
|
|
@@ -465,7 +469,7 @@ macOS / Linux / WSL:
|
|
|
465
469
|
"mcpServers": {
|
|
466
470
|
"mcp-compliance": {
|
|
467
471
|
"command": "npx",
|
|
468
|
-
"args": ["-y", "@yawlabs/mcp-compliance", "mcp"]
|
|
472
|
+
"args": ["-y", "@yawlabs/mcp-compliance@latest", "mcp"]
|
|
469
473
|
}
|
|
470
474
|
}
|
|
471
475
|
}
|
|
@@ -478,7 +482,7 @@ Windows:
|
|
|
478
482
|
"mcpServers": {
|
|
479
483
|
"mcp-compliance": {
|
|
480
484
|
"command": "cmd",
|
|
481
|
-
"args": ["/c", "npx", "-y", "@yawlabs/mcp-compliance", "mcp"]
|
|
485
|
+
"args": ["/c", "npx", "-y", "@yawlabs/mcp-compliance@latest", "mcp"]
|
|
482
486
|
}
|
|
483
487
|
}
|
|
484
488
|
}
|
package/dist/index.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yawlabs/mcp-compliance",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.3",
|
|
4
|
+
"mcpName": "io.github.YawLabs/mcp-compliance",
|
|
4
5
|
"description": "CLI tool and MCP server that tests MCP servers for spec compliance",
|
|
5
6
|
"license": "MIT",
|
|
6
7
|
"author": "Yaw Labs <contact@yaw.sh> (https://yaw.sh)",
|