crumb-mcp
A standalone MCP server that queries one or more Crumb endpoints, so an AI assistant (e.g. Claude Code) can answer questions about your deploys: what shipped, when, by whom, and which files changed.
Each developer runs this locally. It talks to the read API exposed by the
crumb engine mounted in your apps, authenticating with a read token.
Installation
Install the gem from RubyGems — no clone needed:
gem install crumb-mcp
The entrypoint is crumb-mcp, run over stdio.
Working on the gem itself? Clone the repo and
cd mcp && bundle install; the entrypoint is thenbundle exec exe/crumb-mcp.
Configuration
Create ~/.config/crumb/config.yml describing each app endpoint you want to query:
endpoints:
my-app-staging:
base_url: https://staging.your-app.com/crumb
token_env: CRUMB_READ_TOKEN_STAGING
repo_path: ~/code/your-app # optional, for local git lookups
my-app-production:
base_url: https://your-app.com/crumb
token_env: CRUMB_READ_TOKEN_PRODUCTION
repo_path: ~/code/your-app
base_url— the engine's mount URL (the same/crumbpath the app mounts).token_env— the name of the env var holding this endpoint's read token. The server reads the token from the environment, so secrets stay out of the config file.repo_path— optional local checkout, used by tools that inspect git directly.
The map keys (my-app-staging, …) are the endpoint slugs you pass to the tools;
omit the slug on most tools to fan out across every endpoint.
Mint a token from each app (bin/rails crumb:tokens:mint OWNER=you@example.com — see the
engine README) and export it under the matching
token_env:
# ~/.zshrc
export CRUMB_READ_TOKEN_STAGING=...
export CRUMB_READ_TOKEN_PRODUCTION=...
Registering with Claude Code
If you ran gem install crumb-mcp, register the executable directly:
claude mcp add crumb -- crumb-mcp
Or skip the install step entirely and let gem exec fetch and run the gem on demand
(Ruby 3.4+ / RubyGems 3.5+):
claude mcp add crumb -- gem exec crumb-mcp
Restart Claude Code so the tools register in a fresh session, then ask things like "What deployed to my-app-staging today?".
From a local checkout (gem development): point the command at
bundle exec:claude mcp add crumb -- bash -c "cd /absolute/path/to/crumb/mcp && bundle exec exe/crumb-mcp"
Tools
| Tool | Input | Returns |
|---|---|---|
recent_deploys |
endpoint?, limit? |
Most recent deploys, across all endpoints or one |
deploy_details |
endpoint, id, include_diff? |
One deploy with commits and changed files |
compare_deploys |
endpoint, from_id, to_id |
Union of commits/files between two deploys |
find_deploys_touching |
path_prefix, endpoint?, limit? |
Deploys that changed files under a path prefix |
License
MIT.