mcptool
Use 100+ MCP tools without blowing your context window.
A drop-in MCP proxy that sits between your AI client (Claude Desktop, Cursor, VS Code) and multiple backend MCP servers. Instead of exposing all tool definitions (100+ tools, 50K+ tokens), MCPtool exposes just 2 meta-tools:
search_tools(query)— find relevant tools by keyword (BM25 search)call_tool(name, arguments)— invoke the tool on the correct backend server
Why
| Without MCPtool | With MCPtool |
|---|---|
| 100+ tools in every request | 2 tools always |
| 50,000+ tokens per call | ~500 tokens per call |
| Context window blown | Context window intact |
Install
npx mcptool --config mcptool.json
Or install globally:
npm install -g mcptool
mcptool --config mcptool.json
Configuration
Create a mcptool.json file:
{
"servers": [
{
"name": "github",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "your-token-here" }
},
{
"name": "filesystem",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/docs"]
}
]
}
Claude Desktop Setup
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"mcptool": {
"command": "npx",
"args": ["mcptool", "--config", "/path/to/mcptool.json"]
}
}
}
How it works
- Startup: MCPtool connects to all configured backend MCP servers and calls
tools/liston each - Indexing: All tool names + descriptions are indexed with BM25 for keyword search
- Runtime: Your AI client sees only
search_toolsandcall_tool - Discovery: LLM calls
search_tools("create github issue")→ gets back relevant tools - Execution: LLM calls
call_tool("create_issue", {...})→ MCPtool routes to the right backend
Development
git clone https://github.com/kspatel29/mcptool
cd mcptool
npm install
npm run build
npm test
License
MIT