MCP CONTRACT TESTING · OPEN SOURCE
Your MCP server still starts.
Did it still work?
Astray Verify records the tools your AI clients rely on, then catches broken names, schemas, and protocol output before you release.
A small CI check for authors of MCP servers. No model, account, or cloud required.
recorded interface
A green process is not a stable integration.
Renaming one tool, changing one input field, or printing a debug line to stdout can break an AI client after deployment. The server may look healthy; the contract your client depends on is not.
01 Missing or renamed tools
02 Changed JSON input schemas
03 Invalid JSON-RPC output
Record once.
Protect every release.
-
01
Record
Start your MCP server once. Astray Verify performs the handshake and saves its tools and schemas as a small JSON fixture.
astray-verify record --name github -- <server> -
02
Commit
Review the fixture with your code. It becomes the explicit promise your server makes to every AI client.
fixtures/github.mcp.json -
03
Replay
Run one command locally or in CI. A change fails loudly before it becomes somebody else's broken agent workflow.
astray-verify test
Small on purpose.
Start with the part every MCP client sees: a clean stdio handshake and tools/list. No generated dashboards. No cloud account. Just a contract test you can trust.
- ✓ Stdio transport
- ✓ Initialize handshake
- ✓ Tool schema snapshot
- ✓ Strict stdout validation
One command. Then test the change you were about to ship.
Downloads a release binary when available; otherwise builds the current release with Rust.
curl -fsSL https://raw.githubusercontent.com/TheAstrayDev/astray-verify/main/install.sh | sh
Works on Apple Silicon and Intel Macs. A source build is used while a matching release binary is unavailable.
curl -fsSL https://raw.githubusercontent.com/TheAstrayDev/astray-verify/main/install.sh | sh
Run from PowerShell. It downloads a Windows release binary or builds from source with Rust.
curl.exe -fsSL https://raw.githubusercontent.com/TheAstrayDev/astray-verify/main/install.ps1 | powershell -NoProfile -ExecutionPolicy Bypass -
Prefer to read every line first? Open the source on GitHub ↗
The short answers.
Who is this for?
Anyone building or maintaining an MCP server. If an AI client calls your tools, their public interface is worth testing.
Does it call an AI model?
No. Astray Verify talks to your MCP server directly. It checks the protocol contract, so it does not require an API key or model account.
Does it replace the MCP Inspector?
No. Use Inspector to explore and debug. Use Astray Verify to commit a known-good interface and replay it after every change.