loading…
Search for a command to run...
loading…
A test harness for MCP servers that validates server JSON, tool schemas, performs golden file diffing and schema drift detection, and generates signed test repo
A test harness for MCP servers that validates server JSON, tool schemas, performs golden file diffing and schema drift detection, and generates signed test reports with Shields.io badges.
Drop-in golden-file + schema-drift + tool-failure test harness for ANY MCP server. Generates a pytest template, produces an HMAC-signed test report, prints a Shields.io grade badge for your README.
🧪 Part of the MEOK Governance Substrate (£499/mo) — combine with
mcp-spec-compliance-mcp(spec audit) +meok-mcp-hardening-mcp(security red-team) for the full pre-publish gate.
Thousands of MCPs ship zero tests. MCP Inspector is debug-only. Anthropic Registry will probably enforce some baseline by Q4 2026. Every MCP author wants a green check before submitting.
This MCP gives you:
| Test | What it catches |
|---|---|
validate_server_json |
Missing name/version/description/repo |
validate_tool_schema |
Tool name not alphanumeric, description <5 or >1024 chars, invalid JSON Schema type |
diff_server_json |
Breaking changes (removed keys, type flips) |
run_golden_diff |
Snapshot drift |
check_idempotency_static |
Non-deterministic read-only tools |
generate_test_template |
Pytest scaffolding so authors can drop tests in CI |
run_test_suite |
The full default flow above as one call |
sign_test_report |
HMAC seal + Shields.io badge URL |
pip install meok-mcp-test-mcp
# or
uvx meok-mcp-test-mcp
from server import run_test_suite, sign_test_report
report = run_test_suite(
server_json=my_server_json,
golden_pairs=[
{"name": "list_chains", "actual": actual_out, "expected": expected_out},
],
schema_drift_baseline=last_known_good_server_json,
)
sealed = sign_test_report(report)
print(sealed["badge_url"]) # paste in your README
run_test_suite(server_json, golden_pairs?, schema_drift_baseline?) — full default suitevalidate_server_json(server_json) — structural validationvalidate_tool_schema(tool) — single tool deep-checkdiff_server_json(old, new) — structural diff with breaking-change flagrun_golden_diff(actual, expected) — single snapshot checkcheck_idempotency_static(samples) — given N samples, return whether all equalgenerate_test_template() — pytest scaffoldingsign_test_report(report) — HMAC-seal + Shields.io badge# .github/workflows/mcp-test.yml
name: MEOK MCP Test
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with: { python-version: "3.11" }
- run: pip install meok-mcp-test-mcp
- run: python -m server # runs the included pytest scaffold
Paste any signed test report at https://meok.ai/verify — the HMAC signature is checked against MEOK's public JWKS.
mcp-spec-compliance-mcp — registry-spec conformity auditmeok-mcp-hardening-mcp — OWASP LLM Top 10 + 5 MCP-specific risksmeok-mcp-cardgen-mcp — generate .well-known/mcp cardsmeok-agents-md-lint-mcp — AGENTS.md spec lintBuilt by MEOK AI Labs — trading name of CSOAI LTD, UK Companies House 16939677.
Founder: Nicholas Templeman ([email protected]).
License: MIT.
Run in your terminal:
claude mcp add meok-mcp-test-mcp -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.