@yawlabs/mcp-compliance 0.5.0 → 0.7.0

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.
@@ -2,7 +2,7 @@ import {
2
2
  SPEC_BASE,
3
3
  TEST_DEFINITIONS,
4
4
  runComplianceSuite
5
- } from "../chunk-Z7VLPYIO.js";
5
+ } from "../chunk-SELO4TOW.js";
6
6
 
7
7
  // src/mcp/server.ts
8
8
  import { createRequire } from "module";
@@ -14,13 +14,13 @@ import { z } from "zod";
14
14
  function registerTools(server) {
15
15
  server.tool(
16
16
  "mcp_compliance_test",
17
- "Run the full MCP compliance test suite against a server URL. Returns grade (A-F), score, and detailed results for all 48 tests covering transport, lifecycle, tools, resources, prompts, errors, and schema validation.",
17
+ "Run the full MCP compliance test suite against a server URL. Returns grade (A-F), score, and detailed results for all 78 tests covering transport, lifecycle, tools, resources, prompts, errors, schema validation, and security.",
18
18
  {
19
19
  url: z.string().url().describe("The MCP server URL to test (must be HTTP or HTTPS)"),
20
20
  auth: z.string().optional().describe('Authorization header value (e.g., "Bearer tok123")'),
21
21
  headers: z.record(z.string()).optional().describe('Additional headers to include on all requests (e.g., {"X-Api-Key": "abc"})'),
22
- timeout: z.number().optional().describe("Request timeout in milliseconds (default: 15000)"),
23
- retries: z.number().optional().describe("Number of retries for failed tests (default: 0)"),
22
+ timeout: z.number().int().min(1).max(3e5).optional().describe("Request timeout in milliseconds (default: 15000, max: 300000)"),
23
+ retries: z.number().int().min(0).max(10).optional().describe("Number of retries for failed tests (default: 0, max: 10)"),
24
24
  only: z.array(z.string()).optional().describe("Only run tests matching these categories or test IDs"),
25
25
  skip: z.array(z.string()).optional().describe("Skip tests matching these categories or test IDs")
26
26
  },
@@ -85,7 +85,7 @@ ${JSON.stringify(report, null, 2)}` }
85
85
  url: z.string().url().describe("The MCP server URL to test"),
86
86
  auth: z.string().optional().describe('Authorization header value (e.g., "Bearer tok123")'),
87
87
  headers: z.record(z.string()).optional().describe("Additional headers to include on all requests"),
88
- timeout: z.number().optional().describe("Request timeout in milliseconds (default: 15000)")
88
+ timeout: z.number().int().min(1).max(3e5).optional().describe("Request timeout in milliseconds (default: 15000, max: 300000)")
89
89
  },
90
90
  {
91
91
  title: "Get Compliance Badge",
package/dist/runner.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- type TestCategory = "transport" | "lifecycle" | "tools" | "resources" | "prompts" | "errors" | "schema";
1
+ type TestCategory = "transport" | "lifecycle" | "tools" | "resources" | "prompts" | "errors" | "schema" | "security";
2
2
  interface TestResult {
3
3
  id: string;
4
4
  name: string;
@@ -60,7 +60,7 @@ interface TestDefinition {
60
60
  description: string;
61
61
  recommendation: string;
62
62
  }
63
- /** All 48 test IDs with descriptions for the explain command */
63
+ /** All 78 test IDs with descriptions for the explain command */
64
64
  declare const TEST_DEFINITIONS: TestDefinition[];
65
65
 
66
66
  declare function computeGrade(score: number): Grade;
package/dist/runner.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  generateBadge,
8
8
  parseSSEResponse,
9
9
  runComplianceSuite
10
- } from "./chunk-Z7VLPYIO.js";
10
+ } from "./chunk-SELO4TOW.js";
11
11
  export {
12
12
  SPEC_BASE,
13
13
  SPEC_VERSION,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yawlabs/mcp-compliance",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "CLI tool and MCP server that tests MCP servers for spec compliance",
5
5
  "license": "MIT",
6
6
  "author": "Yaw Labs <contact@yaw.sh> (https://yaw.sh)",
@@ -9,6 +9,10 @@
9
9
  ".": {
10
10
  "import": "./dist/runner.js",
11
11
  "types": "./dist/runner.d.ts"
12
+ },
13
+ "./mcp/server": {
14
+ "import": "./dist/mcp/server.js",
15
+ "types": "./dist/mcp/server.d.ts"
12
16
  }
13
17
  },
14
18
  "main": "./dist/runner.js",