mcp-protocol-conformance
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| runJsonRpcComplianceB | Run JSON-RPC 2.0 compliance suite (parse-error, invalid-request, method-not-found, invalid-params, internal-error) against a target MCP server. |
| runSpecVersionAssertionA | Drive an initialize handshake and assert the target advertises the expected MCP spec version. |
| runTransportSuiteC | Verify the target's transport layer (stdio line-delimited JSON or Streamable HTTP). |
| runOauthPkceFlowB | Exercise OAuth 2.1 PKCE S256 flow against the target. Mock-AS by default; real-tenant when --oauth-mode=real. |
| runToolSchemaValidationA | Validate that every advertised tool has a well-formed JSON-Schema inputSchema. Optionally diff against an expected manifest. |
| runCapabilityIntrospectionA | Compare the capabilities the target advertises in initialize against what tools/list, resources/list, prompts/list actually return. |
| runRoundtripSmokeB | Perform one tools/call per advertised tool. Fails on JSON-RPC transport errors, warns on tool-level isError=true. |
| runAnnotationsAuditB | Apply the heuristic annotation rules (destructive name regex, readOnlyHint conflicts) to every advertised tool. |
| runFullSuiteB | Run all (or selected) suites and produce a FullReport with summary + per-suite + per-check status. |
| generateReportB | Render a FullReport as JUnit XML, JSON, or human-readable terminal output. |
| compareManifestsB | Diff two tool manifests — added/removed/changed tools. |
| assertNoBreakingChangesA | Compare a baseline FullReport against a current FullReport. Returns a list of breaking changes and warnings. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Every tool has a clearly distinct purpose targeting a specific conformance aspect or utility. There is no overlap between tools like runJsonRpcCompliance, runTransportSuite, and runOauthPkceFlow, as they each test different parts of the protocol.
All tool names follow a consistent verbNoun pattern in camelCase, using descriptive verbs like run, generate, compare, and assert. This uniform convention makes the tool surface predictable and easy to navigate.
With 12 tools, the server covers a comprehensive set of conformance testing areas without being overwhelming. Each tool serves a necessary function, from individual compliance checks to full suite execution and reporting.
The tool set covers all major MCP protocol conformance areas: JSON-RPC errors, spec version, transport, OAuth, tool schema, capability introspection, roundtrip testing, annotations, and regression comparison. No obvious gaps remain for the stated purpose.