What is Compliance Testing?
Compliance testing verifies that your MCP server adheres to the MCP protocol specification. It checks handshake procedures, capability negotiations, tool definitions, and error handling patterns to ensure your server works correctly with any MCP client.Key Benefits
- Protocol conformance - Ensure your server follows MCP standards
- Interoperability - Verify compatibility with different MCP clients
- Specification coverage - Test all required protocol features
- Error handling validation - Check proper error responses and edge cases
How It Works
Configuration
Basic Compliance Test
Test Configuration Fields
Field | Type | Default | Description |
---|---|---|---|
protocol_version | string | ”2025-06-18” | MCP protocol version to validate against |
check_categories | array | [“handshake”, “capabilities”, “tools”, “resources”] | Categories of compliance checks to run |
required_capabilities | array | [] | Specific capabilities that must be present |
Suite-Level Settings
Setting | Type | Default | Description |
---|---|---|---|
strict_mode | boolean | true | Enforce strict protocol compliance |
Check Categories
1. Handshake Testing ("handshake"
)
Validates the MCP connection establishment:
- Proper initialization sequence
- Protocol version negotiation
- Client/server capability exchange
- Error handling during setup
2. Capability Discovery ("capabilities"
)
Tests capability advertisement and validation:
- All advertised capabilities are functional
- Required capabilities are present
- Capability metadata is properly formatted
- Dynamic capability updates work correctly
3. Tool Validation ("tools"
)
Comprehensive tool testing:
- All declared tools can be invoked
- Tool schemas match actual parameters
- Tool responses follow expected formats
- Error handling for invalid tool calls
4. Resource Testing ("resources"
)
Resource access and management:
- Resource enumeration works correctly
- Resource content can be retrieved
- Permission handling is implemented
- Resource URIs are properly formatted
5. Advanced Features ("advanced"
)
Advanced MCP protocol features:
- Sampling support (server requesting LLM completions)
- Elicitation support (server requesting user input)
- Notification support
- Error handling for edge cases
Strict vs Permissive Mode
Strict Mode ("strict_mode": true
)
- Enforces exact specification compliance
- Fails on any protocol deviations
- Requires all standard capabilities
- Validates message format precisely
- Building production MCP servers
- Need guaranteed interoperability
- Preparing for deployment
- Testing against reference implementations
Permissive Mode ("strict_mode": false
)
- Allows minor protocol variations
- Warns but doesn’t fail on non-critical issues
- Accepts partial capability implementations
- More forgiving of format variations
- Developing and debugging servers
- Testing experimental features
- Working with legacy implementations
- Gradual migration to full compliance
Protocol Version Testing
Current Version Compliance
Version-Specific Checks
Different protocol versions may have different requirements:Example Compliance Configurations
Basic Server Validation
Comprehensive Testing
Production Readiness
Server Configuration
Server Config Format
type
field was removed from server configurations for simplicity.
Running Compliance Tests
With Test Suites (Recommended)
Next Steps
- Run your first compliance test
- Learn about security testing for auth validation
- Explore conversational testing for user experience
- Understand server configuration for proper setup