Skip to main content
Glama
sam-ueckert

mcp-slim-proxy

by sam-ueckert

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.

Related MCP server: Refract

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_changed notifications are not yet propagated; the registry is built once at startup. Restart the proxy after changing an upstream's tool set.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    A proxy server that wraps existing MCP servers to significantly reduce token consumption by compressing tool descriptions into a two-step interface. It enables users to integrate extensive toolsets without exceeding context limits or incurring high API costs.
    118
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    MCP proxy that compresses tool schemas on the fly. Up to 98% token reduction, 100% signal preserved verified after every compression. Zero LLM calls, fully deterministic.
    5
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP proxy that reduces context usage through semantic tool routing, enabling on-demand discovery and routing of relevant tools.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A generic MCP proxy that filters which tools are exposed from a remote MCP server, reducing context window token usage by only loading the tools you actually need.
    8 npm
    1
    MIT