MCPHubs
All in One MCPHubs CLI
Ask AI about MCPHubs
Powered by Claude Β· Grounded in docs
I know everything about MCPHubs. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
MCPHubs
The MCP gateway that doesn't overwhelm your AI.
δΈζζζ‘£ Β· Quick Start Β· Connect AI Β· Configuration
The Problem
MCP is powerful β but naive aggregation is not. When you wire up 10+ MCP Servers, your LLM is force-fed hundreds of tool definitions on every single request β burning tokens, inflating costs, and degrading decision quality.
The Solution: Progressive Disclosure
Instead of dumping every tool into the system prompt, MCPHubs exposes a lean surface of just 3 meta-tools. Your AI discovers servers, inspects their capabilities, and calls the right tool β all on demand, with zero upfront overhead.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Without MCPHubs β
β β
β AI System Prompt: β
β βββ tool_1 definition (search) } β
β βββ tool_2 definition (fetch_article) } 150 tool schemas β
β βββ tool_3 definition (create_issue) } = ~8,000 tokens β
β βββ ... } EVERY request β
β βββ tool_150 definition (run_analysis) } β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β With MCPHubs β
β β
β AI System Prompt: β
β βββ list_servers "discover servers (with search)" } β
β βββ list_tools "inspect a server's tools" } 3 tools β
β βββ call_tool "invoke any tool" } β 300 tokensβ
β β
β AI discovers and calls the right tool when needed. Not before. β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
How It Works
MCPHubs collapses all your MCP Servers into 3 meta-tools:
| Meta-Tool | Purpose |
|---|---|
list_servers | Discover MCP Servers (supports fuzzy search by name/description) |
list_tools | Inspect tools on a specific server |
call_tool | Invoke any tool on any server |
The AI explores your tool ecosystem on demand β it calls list_servers to see what's available, drills into a server with list_tools, and invokes the right tool via call_tool. No upfront cost, no bloat.
Scales to hundreds of servers.
list_serversreturns up to 20 results by default, along with the total count. When the AI sees more servers exist than shown, it automatically narrows results with the optionalqueryparameter β no extra tools needed.
Don't need progressive disclosure? Set
MCPHUBS_EXPOSURE_MODE=fulland MCPHubs becomes a straightforward aggregation gateway β all tools from all servers exposed directly.
β¨ Features
| π― Progressive Disclosure | 3 meta-tools, infinite capabilities. Tools loaded on demand |
| π Multi-Protocol Gateway | Unifies stdio, SSE, and Streamable HTTP behind one endpoint |
| π₯οΈ Web Dashboard | Modern Next.js UI for managing servers, bulk import/export |
| π¦ One-Click Import | Auto-detects Claude Desktop, VS Code, and generic JSON configs |
| π€ LLM Descriptions | Auto-generates server summaries via OpenAI-compatible APIs |
| π API Key Auth | Bearer Token protection on the /mcp endpoint |
| π ModelScope Sync | Import from ModelScope MCP Marketplace |
π ModelScope Integration
π Architecture
AI Client βββΆ Streamable HTTP βββΆ MCPHubs Gateway βββ¬β stdio servers
β ββ SSE servers
PostgreSQL ββ HTTP servers
β
Web Dashboard
π» CLI
Call MCP tools directly from your terminal β no AI client needed.
npm i -g mcphubs
mcphubs config --url http://localhost:8000 --token "YOUR_ADMIN_TOKEN"
# Install and manage servers
mcphubs install github -e GITHUB_TOKEN=xxx -- npx -y @modelcontextprotocol/server-github
mcphubs install --transport sse remote-server http://example.com/sse
mcphubs install --from claude_desktop_config.json
mcphubs remove github
# Call and run
mcphubs list # List all servers
mcphubs tools github # List tools for a server
mcphubs call github.search_repositories query=test # Call a tool
The CLI uses the Admin Token (Settings β Security), not the MCP API Key. See CLI docs for details.
π Quick Start
Docker Compose (Recommended)
git clone https://github.com/7-e1even/MCPHubs.git && cd MCPHubs
cp .env.example .env # edit as needed
docker compose up -d
Open http://localhost:3000 β login with admin / admin123.
Local Development
Backend
pip install -r requirements.txt
cp .env.example .env
python main.py serve
Frontend (dev)
cd web
npm install
npm run dev
Frontend (production)
cd web && npm install && npm run build && npm run start
π Connect Your AI Client
Add MCPHubs as a single MCP endpoint:
Cursor / Windsurf
{
"mcpServers": {
"mcphubs": {
"type": "streamable-http",
"url": "http://localhost:3000/mcp"
}
}
}
Claude Code
claude mcp add --transport http mcphubs http://localhost:3000/mcp
With API Key authentication:
claude mcp add --transport http --header "Authorization: Bearer YOUR_API_KEY" mcphubs http://localhost:3000/mcp
VS Code
{
"mcp": {
"servers": {
"mcphubs": {
"type": "streamable-http",
"url": "http://localhost:3000/mcp"
}
}
}
}
That's it. Your AI now has access to every tool on every server through progressive discovery β without seeing any of them upfront.
βοΈ Configuration
| Variable | Default | Description |
|---|---|---|
MCPHUBS_EXPOSURE_MODE | progressive | progressive (3 meta-tools) or full (passthrough) |
MCPHUBS_DATABASE_URL | postgresql+asyncpg://... | PostgreSQL connection string |
MCPHUBS_API_KEY | (empty) | Bearer Token for /mcp (empty = no auth) |
MCPHUBS_HOST | 0.0.0.0 | Listen address |
MCPHUBS_PORT | 8000 | Listen port |
MCPHUBS_JWT_SECRET | (random) | JWT signing secret for dashboard |
MCPHUBS_ADMIN_USERNAME | admin | Dashboard admin username |
MCPHUBS_ADMIN_PASSWORD | admin123 | Dashboard admin password |
π‘ Management API
View API examples
# List all servers
curl http://localhost:8000/api/servers
# Register a new server
curl -X POST http://localhost:8000/api/servers \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <JWT_TOKEN>" \
-d '{"name": "my-server", "transport": "sse", "url": "http://10.0.0.5:3000/sse"}'
# Export config (claude / vscode / generic)
curl http://localhost:8000/api/servers/export?format=claude
# Health check
curl http://localhost:8000/api/health
π€ Contributing
Contributions are welcome! Feel free to open issues and pull requests.
