mcp-recorder
VCR.py for MCP servers. Record, replay, verify
Details
- External ID
- 47274100
- Source
- HN
- Company
- —
- Product
- mcp-recorder
- Website domain
- github.com
- Launched
- March 6, 2026
- Cohort
- —
- Upvotes
- 6
- Upvotes percentile
- 0.2853628536285363
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:26 p.m.
- Updated at
- Sept. 7, 2026, 9:26 p.m.
Description
Hi HN, I'm Vlad. I've been building MCP servers and related tooling for a while now, and I kept hitting a class of bug that no unit test caught: someone on the team renames a tool parameter or tweaks a tool description, all the tests pass, but the AI agent that was calling that tool silently breaks. This happens because the model reads tool descriptions and parameter schemas to decide which tool to call and how, so a renamed parameter or a reworded description isn't just a cosmetic change — it directly affects the model's behavior.The MCP spec doesn't have tool versioning available yet, and there's no static artifact describing what a server exposes. The tools/list just returns whatever's in memory at runtime and there's nothing to commit or diff against, which means changes slip through that can break downstream workflows without noticing.The same problem for HTTP was already solved a long time ago with VCR.py, and I realized the same pattern works here. mcp-recorder captures the full MCP interaction sequence — initialize, tools/list, tools/call — into a JSON cassette file. Because it records complete protocol exchanges rather than just schema snapshots, you're testing actual behavior: if a tool call that used to return a specific format now returns something different, or a capability quietly disappears during the handshake, the cassette catches it. From that single recording you can replay it as a mock server (no API keys, fully deterministic), or verify your changed server against it and catch any diff:Verifying golden.json against node dist/index.js 1. initialize [PASS] 2. tools/list [PASS] 3. tools/call [search] [FAIL] $.result.content[0].text: "old output" != "new output" 4. tools/call [analyze] [PASS] Result: 3/4 passed, 1 failedNon-zero exit code on any mismatch, so it plugs straight into CI.You can try it right now with minimal setup, there's a public demo server and a scenarios file included:pip install mcp-recorder mcp-recorder record-scenarios scenarios.yml mcp-recorder verify --cassette cassettes/demo_walkthrough.json \ --target https://mcp.devhelm.ioIt works with both HTTP and stdio transports. Scenarios are defined in YAML so it works with MCP servers in any language, and there's a pytest plugin if you want tighter integration. Secret redaction and environment variable interpolation are built in.To make sure this actually works on real codebases, I submitted several PRs to production MCP servers: monday.com's MCP server (https://github.com/mondaycom/mcp/pull/222), Tavily's MCP server (https://github.com/tavily-ai/tavily-mcp/pull/113), and Firecrawl's MCP server (https://github.com/firecrawl/firecrawl-mcp-server/pull/175). They went from zero schema coverage to full tool surface verification with a clean schema diff available on each tool change. One big benefit is that you can do verification and replay with no API keys — deterministic responses, no live requests to real servers.I wrote up a deeper dive into the schema drift problem and the VCR pattern for MCP here: https://devhelm.io/blog/regression-testing-mcp-serversmcp-recorder is MIT-licensed and on PyPI. Source is at https://github.com/devhelmhq/mcp-recorder — issues and PRs are welcome.I'm building more tooling around MCP and agent reliability, so if you're dealing with similar problems, I'd genuinely like to hear what's been painful for you.
Enrichment
- Theme
- Model Context Protocol developer tools
- Vertical
- Horizontal
- Function
- Dev tools
- Audience
- Developer
- AI stance
- Not AI
- Project type
- Hobby / open-source project
- Normalized one-liner
- vcr for mcp servers
- Manually corrected
- False
Could you build this?
Yes It functions like VCR.py/Betamax adapted to Model Context Protocol (MCP) JSON-RPC messages, intercepting traffic to cache and assert schema compatibility.
Discussion
No comments on this launch.
Competitors
Other products that read as similar to this one — 89 launches clear the similarity bar, closest 8 shown.
Attention rank: #74 of 90 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Launched 115 days after the earliest competitor.
- MCPSpec · hn · 2026-02-25 · 7 upvotes · similarity 0.55
- Model Tools Protocol (MTP) · hn · 2026-02-10 · 9 upvotes · similarity 0.52
- Tool for Testing MCP Servers · hn · 2026-01-07 · 5 upvotes · similarity 0.46
- mcp-audit-tool · github · 2026-09-26 · 120 upvotes · similarity 0.45
- Retrace · hn · 2026-05-12 · 14 upvotes · similarity 0.43
- Mcpscore · hn · 2026-08-04 · 10 upvotes · similarity 0.42
- mcp-use v2 rebuilt from scratch for stateless 2026-07-28 MCP spec · hn · 2026-08-06 · 10 upvotes · similarity 0.42
- Murl · hn · 2026-02-21 · 5 upvotes · similarity 0.42
Other launches for this product
- No other launches for this product.
Same idea, different domain
Nobody's really built a dev tools tool for Sales yet.