mcpkit: Turn Any MCP Server Into a CLI Command and Save Your Context Budget
I read a sharp post on The Main Thread this morning about IBM Bob and the "context tax" of MCP servers. The numbers were stark: the default GitHub MCP server alone burns ~17,201 tokens just to describe its tools. That
I read a sharp post on The Main Thread this morning about IBM Bob and the "context tax" of MCP servers. The numbers were stark: the default GitHub MCP server alone burns ~17,201 tokens just to describe its tools. That is 8.6% of a 200,000-token window before you type a single character of your actual prompt. If you enable the broader tool surface, it climbs to ~37,787 tokens - nearly 19% of your context budget gone before any real work starts.
The article is right. I like MCP too. I do not like pretending it is free.
The Problem: MCP Definitions Eat Context
Every time an AI agent starts a turn, it loads the full tool schema of every connected MCP server into the system prompt. The GitHub MCP server exposes five default toolsets: context, issues, pull_requests, repos, and users. Each tool has a name, description, and JSON schema. Add them up and you are spending thousands of tokens on definitions you might not even use this turn.
The fix is not to abandon MCP. The fix is to stop making the agent hold every tool schema in memory at all times.
My Take: mcpkit - A CLI Wrapper for Any MCP Server
I built mcpkit to solve exactly this. It is a tiny CLI that connects to any MCP server and exposes its tools as simple command-line calls. Instead of injecting the entire tool catalog into the agent's context window, you install the server once and then invoke it on demand with mcpkit call <tool>.
The agent only needs to know about mcpkit itself - a single, lightweight skill - not the full schema of every connected server. When it needs a tool, it calls the CLI. The tool runs. The result comes back. Context saved.
How It Works
Install mcpkit globally:
npm install -g @balakumar.dev/mcpkit
Install any MCP server as a mcpkit target:
# From a command string
mcpkit install "npx -y @modelcontextprotocol/server-filesystem /tmp" --name filesystem
# From a JSON config
mcpkit install '{"mcpServers":{"github":{"command":"npx","args":["-y","@modelcontextprotocol/server-github"],"env":{"GITHUB_TOKEN":"..."}}}}'
# From a file
mcpkit install ./my-servers.json
Then call any tool:
mcpkit call filesystem --tool list_directory --args '{"path": "/tmp"}'
The agent sees a single skill - mcpkit - not the full filesystem schema with every parameter, enum, and description. The actual tool definition stays out of the context window until the moment it is needed.
Context Math: Before and After
| Setup | Tokens Consumed | % of 200k Window |
|---|---|---|
| GitHub MCP (default) | 17,201 | 8.6% |
| GitHub MCP (broad) | 37,787 | 18.9% |
| Filesystem MCP | ~3,000 | 1.5% |
| Three MCP servers | ~23,000+ | 11.5%+ |
| mcpkit skill only | ~500 | 0.25% |
The difference is not subtle. If you run Claude Code, Cursor, or any agent with a 200k context window, loading three MCP servers can burn 20,000+ tokens before you ask your first question. With mcpkit, you spend ~500 tokens on the skill definition and call tools on demand.
Agent Support
mcpkit is built to work with the agents I use daily:
- Claude Code
- Cursor
- Windsurf
- Augment Code
- OpenAI Codex CLI
- OpenClaw
Each of these agents supports either custom skills or CLI tool invocation. mcpkit generates the skill file for the agent you target, so the integration is one command away.
When to Use mcpkit
Use mcpkit when:
- You have MCP servers with large tool surfaces (GitHub, AWS, Salesforce)
- You switch contexts often and do not need every tool every session
- You want to keep the agent's context window for code, not tool definitions
- You prefer CLI-driven workflows over persistent server connections
Do not use mcpkit when:
- You have a tiny MCP server with one or two tools (the overhead is negligible)
- You need real-time streaming from the MCP server (mcpkit is request/response)
- Your agent does not support CLI tool calls
Install and Try It
npm install -g @balakumar.dev/mcpkit
mcpkit install "npx -y @modelcontextprotocol/server-filesystem /tmp" --name fs
mcpkit call fs --tool list_directory --args '{"path": "/tmp"}'
The README on the repo has agent-specific setup for Claude Code, Cursor, and the rest. It takes about two minutes to get the first tool running.
Bottom Line
MCP is a great protocol. But the way most agents consume it today is wasteful. Loading full tool schemas into every turn is like importing every library in your project at the top of every file, even the ones you never call. mcpkit is the lazy import for MCP tools: install once, call on demand, keep your context budget for the work that actually matters.
Source: The Main Thread - "IBM Bob Needs a Context Budget Before It Needs More Tools" (Jun 06, 2026)