Skip to content

Add MCP conformance testing framework integration#196

Merged
jancurn merged 1 commit into
mainfrom
claude/add-conformance-testing-LVvpp
Apr 23, 2026
Merged

Add MCP conformance testing framework integration#196
jancurn merged 1 commit into
mainfrom
claude/add-conformance-testing-LVvpp

Conversation

@jancurn
Copy link
Copy Markdown
Member

@jancurn jancurn commented Apr 23, 2026

Summary

This PR adds integration with the @modelcontextprotocol/conformance framework to verify that mcpc adheres to the MCP specification. It includes a conformance test adapter, GitHub Actions workflow, and npm scripts to run conformance tests.

Key Changes

  • New conformance adapter (test/conformance/client.mjs): A Node.js script that translates MCP conformance scenarios into mcpc CLI commands. Currently supports the initialize and tools-call scenarios, with a framework for adding more as coverage grows.

  • GitHub Actions workflow (.github/workflows/conformance.yml): An on-demand workflow that runs the conformance suite against mcpc. Includes options to specify individual scenarios and enable verbose output. Results are uploaded as artifacts.

  • npm script (test:conformance): Convenience script to run conformance tests locally via npm run test:conformance.

  • Build configuration updates: Added results/ directory to .gitignore (where conformance test output is written) and updated CHANGELOG.md to document the new feature.

Implementation Details

  • The adapter spawns mcpc CLI commands in a temporary home directory with a unique session name per test run
  • Each scenario creates a fresh session, runs the necessary commands, and cleans up afterward
  • Unsupported scenarios exit with a non-zero code so the framework records them as failures (can be tracked in expected-failures.yml until coverage expands)
  • The workflow is triggered manually via workflow_dispatch to keep it out of the default CI pipeline while the conformance framework is still evolving

https://claude.ai/code/session_01T9e2qmMdhHMVQLVcpxyN2E

Introduce `npm run test:conformance`, which drives the
`@modelcontextprotocol/conformance` framework against mcpc to validate
adherence to the MCP specification. Scenarios are mapped to mcpc CLI
commands by a small Node adapter at `test/conformance/client.mjs`
(currently covering `initialize`; more scenarios can be added over time).

Also add a separate `Conformance` GitHub Actions workflow that runs the
suite on demand (`workflow_dispatch`) and uploads the framework's
`results/` directory as a build artifact.
@jancurn jancurn merged commit 760e277 into main Apr 23, 2026
6 checks passed
@jancurn jancurn deleted the claude/add-conformance-testing-LVvpp branch April 23, 2026 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants