MCP.so
Sign In
Servers

MCP Protocol Validator

@Janix-ai

Test suite for validating MCP server implementations against the open MCP protocol specification. Helps developers ensure protocol compliance and interoperability.

Overview

What is MCP Protocol Validator?

MCP Protocol Validator is a testing suite and reference implementation for the Model Context Protocol (MCP). It provides tools to validate MCP server implementations, including support for protocol version 2025-06-18 with features like OAuth 2.1 authentication, structured tool output, and enhanced security.

How to use MCP Protocol Validator?

Run compliance tests via python -m mcp_testing.scripts.compliance_report for STDIO servers or python -m mcp_testing.scripts.http_compliance_test for HTTP servers. Configure protocol versions, OAuth 2.1, timeouts, and test modes through command-line options and environment variables. A reference HTTP server is provided for testing.

Key features of MCP Protocol Validator

  • OAuth 2.1 authentication support with Bearer token validation
  • STDIO and HTTP compliance test suites
  • Support for protocol versions 2024-11-05, 2025-03-26, 2025-06-18
  • Structured tool output and enhanced tool schema validation
  • Detailed test reports with success rates and server capabilities
  • Configurable timeouts and selective tool testing

Use cases of MCP Protocol Validator

  • Validate custom MCP server implementations against the specification
  • Test HTTP servers with OAuth 2.1 authentication enabled
  • Ensure backward compatibility with multiple protocol versions
  • Automate compliance testing in CI/CD pipelines
  • Verify structured tool output and error handling behavior

FAQ from MCP Protocol Validator

What protocol versions does the validator support?

The validator supports protocol versions 2024-11-05, 2025-03-26, and 2025-06-18, with full 2025-06-18 support including OAuth 2.1 and structured tool output.

How do I test an MCP server installed via pip?

Use the --server-command option with the Python module command, e.g., python -m mcp_testing.scripts.compliance_report --server-command "python -m your_server_module" --protocol-version 2024-11-05.

Can I test only specific tools?

Yes, use --test-mode tools and optionally --dynamic-only to automatically discover and test available tools, or --required-tools to specify which tools to test.

How do I enable OAuth 2.1 authentication for tests?

Set environment variables MCP_OAUTH_ENABLED=true, MCP_OAUTH_INTROSPECTION_URL, and optionally MCP_OAUTH_REQUIRED_SCOPES before starting the reference HTTP server, then run the HTTP compliance test suite.

What kind of test reports does the validator generate?

Each test run produces a report including server information, protocol version, test duration, success rate, detailed results per test case, server capabilities, and session information.

More from Other