GitHub - kioie/toolschema-kit · GitHub
/" data-turbo-transient="true" />
Skip to content
Search or jump to...
Search code, repositories, users, issues, pull requests...
-->
Search
Clear
Search syntax tips
Provide feedback
--><br>We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
-->
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up
Appearance settings
Resetting focus
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
kioie
toolschema-kit
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
master
BranchesTags
Go to file
CodeOpen more actions menu
Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit
History<br>7 Commits<br>7 Commits
.github/workflows
.github/workflows
cmd/catalog-mcp
cmd/catalog-mcp
docs
docs
internal/catalog
internal/catalog
.gitignore
.gitignore
Dockerfile
Dockerfile
LICENSE
LICENSE
README.md
README.md
fly.toml
fly.toml
go.mod
go.mod
go.sum
go.sum
mcp.json.example
mcp.json.example
render.yaml
render.yaml
View all files
Repository files navigation
ToolSchema Kit
MCP tool-schema reference & contract exercises for agent platforms (Cursor, Claude Desktop, custom runtimes).
If you already gate OpenAPI breaking changes with tools like 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 200 while agent contracts still break.
What this is
A small commerce-catalog MCP server (Go, tinymcp) you can run locally, in CI, or on a free host. It exposes get_product and list_skus with versioned output controlled by CATALOG_SCHEMA_VERSION.
Use it to:
Prototype agent flows against a stable catalog contract
Reproduce silent drift (healthy HTTP, changed tool schemas)
Optional: assert every URL in mcp.json is covered by an external watch (see CI)
Live endpoint
https://toolschema-kit.onrender.com/mcp
(Also: GET /health for liveness.)
Quick start
git clone https://github.com/kioie/toolschema-kit.git<br>cd toolschema-kit<br>CATALOG_MCP_TRANSPORT=http go run ./cmd/catalog-mcp<br># MCP: http://127.0.0.1:8080/mcp
Bump schema (diff exercise)
CATALOG_SCHEMA_VERSION=2026.06.02 CATALOG_MCP_TRANSPORT=http go run ./cmd/catalog-mcp
Compare tools/list or tool outputs before/after — same idea as an OpenAPI diff, for MCP.
Cursor / Claude Desktop
mcp.json.example — point url at localhost or the live host above.
Production monitoring
Teams usually run a scheduled contract watch on MCP URLs (diff tools/list, alert on breaking changes). This repo stays vendor-neutral; one workflow shows DriftGuard coverage assert as an optional gate — swap in your own checker if you prefer.
Docs
Guide<br>Topic
docs/end-to-end.md<br>Local → agent → diff → optional watch
docs/ci.md<br>GitHub Actions contract coverage
docs/simulate-drift.md<br>Version bumps & silent drift
docs/comparison.md<br>OpenAPI diff vs MCP tool-schema diff
Deploy
Target<br>Command / file
Render<br>Blueprint render.yaml — auto-deploy on push when connected
Container<br>docker run -p 8080:8080 ghcr.io/kioie/toolschema-kit:latest
Fly<br>fly.toml + optional workflow (needs billing)
Keywords
MCP schema drift, tool-schema diff, OpenAPI-style breaking changes for agents, Cursor MCP contract test, tools/list monitoring, silent API drift, SpecShield alternative MCP, OASDiff for MCP.
License
MIT — see LICENSE.
About
No description, website, or topics provided.
Resources
Readme
License
MIT license
Uh oh!
There was an error while loading. Please reload this page.
Activity
Stars
star
Watchers
watching
Forks
forks
Report repository
Releases
No releases published
Packages
Uh oh!
There was an error while loading. Please reload this page.
Contributors
Uh oh!
There was an error while loading. Please reload this page.
Languages
Go<br>92.3%
Dockerfile<br>7.7%
You can’t perform that action at this time.