{"slug": "toolschema-kit-reproducible-mcp-contract-drift-lab-10-min-tutorial", "title": "ToolSchema Kit – reproducible MCP contract drift lab (10-min tutorial)", "summary": "ToolSchema Kit, a new open-source repository, provides a reproducible MCP contract drift lab for agent platforms like Cursor and Claude Desktop, enabling teams to detect silent breaking changes in tool schemas. The kit includes a commerce-catalog MCP server and CI workflows for scheduled contract monitoring, applying OpenAPI-style diffing to MCP tools/list and tool I/O schemas.", "body_md": "**MCP tool-schema reference & contract exercises** for agent platforms (Cursor, Claude Desktop, custom runtimes).\n\nIf you already gate **OpenAPI** breaking changes with tools like [OASDiff](https://github.com/Tufin/oasdiff) or policy checks in the spirit of **SpecShield**, this repo applies the same mindset to ** tools/list and tool I/O schemas** — where HTTP can stay\n\n`200`\n\nwhile agent contracts still break.A small **commerce-catalog MCP server** (Go, [tinymcp](https://github.com/kioie/tiny-go-mcp-server)) you can run locally, in CI, or on a free host. It exposes `get_product`\n\nand `list_skus`\n\nwith versioned output controlled by `CATALOG_SCHEMA_VERSION`\n\n.\n\nUse it to:\n\n- Prototype agent flows against a stable catalog contract\n- Reproduce\n**silent drift**(healthy HTTP, changed tool schemas) - Optional: assert every URL in\n`mcp.json`\n\nis covered by an external watch (see[CI](/kioie/toolschema-kit/blob/master/docs/ci.md))\n\n```\nhttps://toolschema-kit.onrender.com/mcp\n```\n\n(Also: `GET /health`\n\nfor liveness.)\n\n```\ngit clone https://github.com/kioie/toolschema-kit.git\ncd toolschema-kit\nCATALOG_MCP_TRANSPORT=http go run ./cmd/catalog-mcp\n# MCP: http://127.0.0.1:8080/mcp\nCATALOG_SCHEMA_VERSION=2026.06.02 CATALOG_MCP_TRANSPORT=http go run ./cmd/catalog-mcp\n```\n\nCompare `tools/list`\n\nor tool outputs before/after — same idea as an OpenAPI diff, for MCP.\n\n[ mcp.json.example](/kioie/toolschema-kit/blob/master/mcp.json.example) — point\n\n`url`\n\nat localhost or the live host above.Teams usually run a **scheduled contract watch** on MCP URLs (diff `tools/list`\n\n, alert on breaking changes). This repo stays vendor-neutral; one workflow shows [DriftGuard](https://driftguard.org) coverage assert as an optional gate — swap in your own checker if you prefer.\n\n| Guide | Topic |\n|---|---|\n|\n\n[docs/ci.md](/kioie/toolschema-kit/blob/master/docs/ci.md)[docs/simulate-drift.md](/kioie/toolschema-kit/blob/master/docs/simulate-drift.md)[docs/comparison.md](/kioie/toolschema-kit/blob/master/docs/comparison.md)| Target | Command / file |\n|---|---|\nRender |\nBlueprint\n`render.yaml` |\n\n**Container**`docker run -p 8080:8080 ghcr.io/kioie/toolschema-kit:latest`\n\n**Fly**[+ optional workflow (needs billing)](/kioie/toolschema-kit/blob/master/fly.toml)`fly.toml`\n\nMCP schema drift, tool-schema diff, OpenAPI-style breaking changes for agents, Cursor MCP contract test, `tools/list`\n\nmonitoring, silent API drift, SpecShield alternative MCP, OASDiff for MCP.\n\nMIT — see [LICENSE](/kioie/toolschema-kit/blob/master/LICENSE).", "url": "https://wpnews.pro/news/toolschema-kit-reproducible-mcp-contract-drift-lab-10-min-tutorial", "canonical_source": "https://github.com/kioie/toolschema-kit", "published_at": "2026-06-17 21:04:42+00:00", "updated_at": "2026-06-17 21:23:44.225362+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "ai-tools", "ai-infrastructure", "mlops"], "entities": ["Cursor", "Claude Desktop", "OASDiff", "SpecShield", "DriftGuard", "Render", "Fly", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/toolschema-kit-reproducible-mcp-contract-drift-lab-10-min-tutorial", "markdown": "https://wpnews.pro/news/toolschema-kit-reproducible-mcp-contract-drift-lab-10-min-tutorial.md", "text": "https://wpnews.pro/news/toolschema-kit-reproducible-mcp-contract-drift-lab-10-min-tutorial.txt", "jsonld": "https://wpnews.pro/news/toolschema-kit-reproducible-mcp-contract-drift-lab-10-min-tutorial.jsonld"}}