Skip to main content

MEOK MCP Test MCP — golden-file + schema-drift + tool-failure tests for any MCP server. Drop-in pre-publish gate. Generates pytest templates. HMAC-signed test reports + Shields.io grade badge. By MEOK AI Labs.

Project description

mcp-name: io.github.CSOAI-ORG/meok-mcp-test-mcp

MEOK MCP Test MCP

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.

Why this exists

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

Quick start

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

Tools exposed

  • run_test_suite(server_json, golden_pairs?, schema_drift_baseline?) — full default suite
  • validate_server_json(server_json) — structural validation
  • validate_tool_schema(tool) — single tool deep-check
  • diff_server_json(old, new) — structural diff with breaking-change flag
  • run_golden_diff(actual, expected) — single snapshot check
  • check_idempotency_static(samples) — given N samples, return whether all equal
  • generate_test_template() — pytest scaffolding
  • sign_test_report(report) — HMAC-seal + Shields.io badge

Wire it up to your CI

# .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

Scoring

  • A ≥ 90% passed
  • B ≥ 75%
  • C ≥ 60%
  • D ≥ 40%
  • F otherwise

Verify any signed report

Paste any signed test report at https://meok.ai/verify — the HMAC signature is checked against MEOK's public JWKS.

Pricing

  • Self-host: free (MIT)
  • Starter: £29/mo — 1K test runs/mo + signed badge SLA
  • Pro: £79/mo — 10K runs/mo + custom badge + public dashboard
  • Governance Substrate: £499/mo — bundled with 10 governance MCPs
  • A2A Substrate: £999/mo — bundled with all 12 A2A MCPs

Companion MCPs

  • mcp-spec-compliance-mcp — registry-spec conformity audit
  • meok-mcp-hardening-mcp — OWASP LLM Top 10 + 5 MCP-specific risks
  • meok-mcp-cardgen-mcp — generate .well-known/mcp cards
  • meok-agents-md-lint-mcp — AGENTS.md spec lint

Legal

Built by MEOK AI Labs — trading name of CSOAI LTD, UK Companies House 16939677. Founder: Nicholas Templeman (nicholas@meok.ai). License: MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meok_mcp_test_mcp-1.0.0.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meok_mcp_test_mcp-1.0.0-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file meok_mcp_test_mcp-1.0.0.tar.gz.

File metadata

  • Download URL: meok_mcp_test_mcp-1.0.0.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for meok_mcp_test_mcp-1.0.0.tar.gz
Algorithm Hash digest
SHA256 696980476a82162eb4e66c51ef747601c5286cff22b5d078bfa550ab85d83b38
MD5 7b96f3dadd6a5e7d2be278880b20f7ab
BLAKE2b-256 1efb1c3eb7594a92b2347664d51bf674d565a348fae2d4a4033b7315f79b7a97

See more details on using hashes here.

File details

Details for the file meok_mcp_test_mcp-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for meok_mcp_test_mcp-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7780f0e4a2d955e0bca30e70ba8deae566df43482b021ff85c8bdfb5818332d6
MD5 96b23e634c263cd9fd416ef07e15047f
BLAKE2b-256 2c39e0769f670b9eadda57ef1f54c9e48cf3380c7968c3d1545f0b46f62965ff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page