
Security News
GitHub Actions Pricing Whiplash: Self-Hosted Actions Billing Change Postponed
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.
@modelcontextprotocol/conformance
Advanced tools
A framework for testing MCP (Model Context Protocol) client and server implementations against the specification.
A framework for testing MCP (Model Context Protocol) client and server implementations against the specification.
[!WARNING] This repository is a work in progress and is unstable. Join the conversation in the #conformance-testing-wg in the MCP Contributors discord.
# Using the everything-client (recommended)
npx @modelcontextprotocol/conformance client --command "tsx examples/clients/typescript/everything-client.ts" --scenario initialize
# Run an entire suite of tests
npx @modelcontextprotocol/conformance client --command "tsx examples/clients/typescript/everything-client.ts" --suite auth
# Run all server scenarios (default)
npx @modelcontextprotocol/conformance server --url http://localhost:3000/mcp
# Run a single scenario
npx @modelcontextprotocol/conformance server --url http://localhost:3000/mcp --scenario server-initialize
npx @modelcontextprotocol/conformance list
The conformance test framework validates MCP implementations by:
For Clients:
For Servers:
npx @modelcontextprotocol/conformance client --command "<client-command>" --scenario <scenario-name> [options]
Options:
--command - The command to run your MCP client (can include flags)--scenario - The test scenario to run (e.g., "initialize")--suite - Run a suite of tests in parallel (e.g., "auth")--timeout - Timeout in milliseconds (default: 30000)--verbose - Show verbose outputThe framework appends <server-url> as an argument to your command and sets the MCP_CONFORMANCE_SCENARIO environment variable to the scenario name. For scenarios that require additional context (e.g., client credentials), the MCP_CONFORMANCE_CONTEXT environment variable contains a JSON object with scenario-specific data.
npx @modelcontextprotocol/conformance server --url <url> [--scenario <scenario>]
Options:
--url - URL of the server to test--scenario <scenario> - Test scenario to run (e.g., "server-initialize". Runs all available scenarios by defaultClient Testing - Results are saved to results/<scenario>-<timestamp>/:
checks.json - Array of conformance check results with pass/fail statusstdout.txt - Client stdout outputstderr.txt - Client stderr outputServer Testing - Results are saved to results/server-<scenario>-<timestamp>/:
checks.json - Array of conformance check results with pass/fail statusexamples/clients/typescript/everything-client.ts - Single client that handles all scenarios based on scenario name (recommended)examples/clients/typescript/test1.ts - Simple MCP client (for reference)examples/clients/typescript/auth-test.ts - Well-behaved OAuth client (for reference)Run npx @modelcontextprotocol/conformance list --server to see all available server scenarios, including:
See src/runner/DESIGN.md for detailed architecture documentation.
src/runner/) - Orchestrates test execution and result generation
client.ts - Client testing implementationserver.ts - Server testing implementationutils.ts - Shared utilitiesindex.ts - Public API exportssrc/index.ts) - Command-line interface using Commander.jssrc/scenarios/) - Test scenarios with expected behaviorssrc/checks/) - Conformance validation functionssrc/types.ts) - Shared type definitionssrc/scenarios/<scenario-name>/Scenario interface with start(), stop(), and getChecks()src/scenarios/index.tsSee src/scenarios/initialize/ for a reference implementation.
FAQs
A framework for testing MCP (Model Context Protocol) client and server implementations against the specification.
We found that @modelcontextprotocol/conformance demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.