bellwether check snapshots your MCP server's schema and compares it against a baseline. If anything changed — tools added/removed, parameters modified, types changed — it fails your CI build before you deploy. No LLM calls, no API costs, runs in seconds.
Key features:
• Zero-cost for CI: The check command is completely free and deterministic. No API keys, no LLM calls.
• Granular exit codes: Returns 0-5 depending on severity (no drift → info → warning → breaking changes → errors → low confidence). Configure your pipeline to fail only on breaking changes, or be stricter.
• Documentation as a side effect: Generates CONTRACT.md and AGENTS.md documenting your server's tools, parameters, and behavior.
• Optional deep testing: bellwether explore uses LLMs to test from multiple personas (security tester, QA engineer, novice user) and catches edge cases that structural checks miss.
npm install -g @dotsetlabs/bellwether
bellwether init npx @mcp/your-server
bellwether check
bellwether baseline save
# Later: bellwether check --fail-on-drift
GitHub Action: - uses: actions/checkout@v4
- run: npx @dotsetlabs/bellwether check --fail-on-drift
Why this matters:If you're building AI agents that depend on MCP servers, you need to know when those dependencies change. This is like having API contract tests, but for AI tool schemas.
Docs: https://docs.bellwether.sh
NPM: @dotsetlabs/bellwether
GitHub: https://github.com/dotsetlabs/bellwether
Questions welcome. Curious if others are hitting similar MCP drift issues or if there's a better approach I'm missing.