jmunch-mcp — Claude Code MCP server: shrink tool responses
A transparent proxy in front of other MCP servers. It swaps bulky tool responses for queryable handles and cuts token spend.
claude mcp add jmunch-mcp -- uvx jmunch-mcpWhat jmunch-mcp does
jmunch-mcp sits between your agent and any upstream MCP server. Every call still passes through, but a fat payload does not arrive whole: it becomes a handle the agent drills into with a handful of verbs — peek, slice, search, aggregate, describe, list_handles. Tabular results land in SQLite; JSON goes to a tree backend queried with JSONPath. Benchmarks against the GitHub server and Firecrawl came out at 88.3% and 98.9% fewer tokens.
Setup starts with jmunch-mcp init. It scans your MCP client configs, running processes and a short catalog of common upstreams, then renders a checklist and writes one <name>.toml per pick into ./configs/. Your client then launches jmunch-mcp --config <path> in place of the upstream. There is also a gateway for apps that speak the OpenAI or Anthropic HTTP API: pip install 'jmunch-mcp[gateway]', then jmunch-mcp gateway --config configs/gateway.example.toml, and point the app's base_url at http://127.0.0.1:7879. A read-only dashboard runs on http://127.0.0.1:7878.
The code is MIT, so you can modify, redistribute or embed it in commercial products. The upstream servers you wrap keep their own terms — check each one before you redistribute. Dashboard numbers stay empty until a proxy has recorded calls, so run your client through a wrapped server first.
What it helps with
- fit GitHub MCP responses into context without truncating them
- search a huge scraper JSON response without loading all of it
- compute aggregates over a tabular tool result
- add token trimming to an OpenAI API app without touching its code
- see how many tokens each upstream burns
Example prompts for the agent
- Wrap the GitHub MCP with jmunch-mcp and show me the token savings
- Run
peekon the last Firecrawl handle - Run
jmunch-mcp initand wrap filesystem and fetch
How to install jmunch-mcp
Platform CLI
claude mcp add jmunch-mcp -- uvx jmunch-mcpuvx runs the command named after the package; if the README names another one, use uvx --from jmunch-mcp <command>
Platform CLI
codex mcp add jmunch-mcp -- uvx jmunch-mcpuvx runs the command named after the package; if the README names another one, use uvx --from jmunch-mcp <command>
Config file
{
"mcpServers": {
"jmunch-mcp": {
"command": "uvx",
"args": [
"jmunch-mcp"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from jmunch-mcp <command>
Config file
{
"servers": {
"jmunch-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"jmunch-mcp"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from jmunch-mcp <command>
Platform CLI
gemini mcp add jmunch-mcp uvx jmunch-mcpuvx runs the command named after the package; if the README names another one, use uvx --from jmunch-mcp <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about jmunch-mcp
How do I install jmunch-mcp in Claude Code?
Add the server with claude mcp add jmunch-mcp -- uvx jmunch-mcp.
What does jmunch-mcp do?
It proxies another MCP server: calls are forwarded, while large responses are replaced by handles the agent reads through peek, slice, search, aggregate, describe and list_handles.
How is gateway mode different from the MCP proxy?
The proxy saves tokens for MCP clients; the gateway does it for any app on the OpenAI or Anthropic HTTP API with no code changes — just aim base_url at jmunch.