mcp-slim-proxy
An MCP proxy that minifies tool schemas to reduce context tokens, supporting minify and defer modes for efficient tool access.
README
mcp-slim-proxy
An MCP stdio server that sits between your MCP host (Claude Code, OpenClaw, Cursor — anything MCP-compatible) and your real MCP servers, re-advertising their tools with minified schemas to cut the context tokens spent on tool metadata every single request.
host (Claude Code / OpenClaw)
│ sees slim schemas
▼
mcp-slim-proxy (stdio)
│ forwards calls unchanged
▼
upstream MCP servers (stdio / SSE / streamable-http)
What gets slimmed
Preserved exactly (everything needed to call the tool correctly):
- type structure,
required,enum,default, property names
Reduced:
- tool descriptions → first sentence(s) within a budget (default 160 chars)
- parameter descriptions → trimmed to 80 chars (or dropped entirely)
examples,title,$comment,outputSchema,annotations→ removed- markdown decoration stripped, whitespace collapsed
Typical reduction: 60–85% of tool-schema bytes for verbose real-world servers.
Modes
minify (default) — every upstream tool is advertised with a slim schema.
Zero behavior change for the model beyond shorter descriptions.
defer — only two meta-tools are advertised: find_tools (keyword search
over the catalog, returns matching slim schemas) and use_tool (invoke by
name). Near-zero fixed context cost regardless of how many upstream tools
exist; the model pays for schemas only when it needs them. Pin
always-available tools via defer.pinned.
OpenClaw note: OpenClaw ≥2026.6 ships this pattern natively as
tools.toolSearch— prefer that for OpenClaw gateways. This proxy is for hosts without an equivalent (Claude Code, Cursor) or when you want minify mode's always-visible slim schemas.
Setup
Requires Python ≥3.10.
python3 -m venv .venv
.venv/bin/pip install mcp
cp config.example.json config.json # edit upstreams
Config:
{
"mode": "minify",
"prefixTools": "auto",
"minify": {
"toolDescriptionMaxChars": 160,
"paramDescriptionMaxChars": 80,
"dropParamDescriptions": false
},
"tools": { "deny": [], "allow": [] },
"defer": { "pinned": [] },
"upstreams": [
{ "name": "archy", "transport": "sse", "url": "http://host:30765/sse" },
{ "name": "foreman", "transport": "streamable-http", "url": "http://host:30766/mcp" },
{ "name": "vault", "transport": "stdio", "command": "bash", "args": ["/path/start.sh"] }
]
}
With multiple upstreams, tools are prefixed <upstream>__<tool> to avoid
collisions (prefixTools: "auto"; set true/false to force).
Claude Code
claude mcp add slim -- /path/to/mcp-slim-proxy/.venv/bin/python -m mcp_slim_proxy --config /path/to/config.json
Then remove the wrapped servers from your direct MCP config so the host only sees the proxy.
OpenClaw
"mcp": {
"servers": {
"slim": {
"command": "/path/to/mcp-slim-proxy/.venv/bin/python",
"args": ["-m", "mcp_slim_proxy", "--config", "/path/to/config.json"]
}
}
}
Test
.venv/bin/python tests/run_test.py
Spins up a deliberately verbose upstream, connects through the proxy, and verifies size reduction, schema-structure preservation, call routing, and defer-mode meta-tools.
Limitations
- Upstream
tools/list_changednotifications are not yet propagated; the registry is built once at startup. Restart the proxy after changing an upstream's tool set.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.