McpHub
MCP bridge that folds multiple MCP servers' capabilities into a few fixed tools for AI tools.
Open source Open in the app JSON README (API)
About
MCP bridge that folds multiple MCP servers' capabilities into a few fixed tools for AI tools.
Details
- Kind
- MCP servers
- Topic
- No topic detected
- Publisher
- john0king
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.0.1.1
- Stars
- 2
- Last push
- 2026-08-10T11:40:53Z
- Repository state
- ativo
- Language
- C#
- License
- MIT
- Added
- 2026-08-29 03:01:59
- Updated
- 2026-08-29 03:01:59
- Origin id
io.github.John0King/mcphub
README
# McpHub
<!-- mcp-name: io.github.John0King/mcphub -->
MCP bridge -- folds the capabilities (tools / prompts / resources) of multiple MCP servers into **4 fixed tools**, exposed uniformly to AI tools.
## Quick Start
### stdio mode (default)
```bash
dotnet run --project src/McpHub -- --config examples/mcp-hub.config.json
```
Configure in your AI tool's `mcp.json`:
```json
{
"servers": {
"mcp-hub": {
"command": "dotnet",
"args": [
"run",
"--project", "path/to/McpHub",
"--", "--config", "path/to/mcp-hub.config.json"
]
}
}
}
```
### HTTP mode
```bash
dotnet run --project src/McpHub -- --http --port 8080 --config examples/mcp-hub.config.json
```
Client connects to `http://localhost:8080/` (Streamable HTTP).
## CLI Options
| Option | Alias | Description | Default |
|--------|-------|-------------|---------|
| `--config` | `-c` | Path to the MCP configuration file | Auto-discovered |
| `--http` | - | Use HTTP (Streamable HTTP) transport | stdio |
| `--port` | - | HTTP mode listening port | 8080 |
| `--workspace` | `-w` | Workspace folder for `${workspaceFolder}` substitution | Current directory |
| `--verbose` | - | Output verbose diagnostic logs to stderr | Off |
## 暴露的 3 个 Tool
| Tool | 说明 |
|------|------|
| `list_mcp_capabilities` | 列出所有上游 MCP server 的可用能力(tools/prompts/resources),可选 `kind` 过滤 |
| `describe_mcp_capability` | 查询某个能力的完整调用方式(参数 schema 等),输入限定名 `serverName.capabilityName` |
| `call_mcp_capability` | 实际调用某个能力,传入限定名 + arguments |
## 配置文件格式
兼容 VS Code 族(`servers` 键)和 Claude/Cursor 族(`mcpServers` 键),自动推断 transport 类型:
```json
{
"servers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path"],
"env": { "API_KEY": "..." }
},
"remote-server": {
"type": "http",
"url": "https://example.com/mcp",
"headers": { "Authorization": "Bearer xxx" }
}
}
}
```
支持变量替换:
- `${workspaceFolder}` — 工作区目录
- `${env:VAR_NAME}` — 环境变量
配置文件发现顺序(未指定 `--config` 时):
1. `--config` 显式指定
2. 当前目录 `mcp.json`
3. 当前目录 `.mcp.json`
4. `.vscode/mcp.json`
5. `claude_desktop_config.json`
## 架构
```
AI 工具 ←stdio/http→ McpHub ←stdio/http→ 多个上游 MCP Server
│
├── list_mcp_capabilities → 聚合所有 server 的 tools/prompts/resources
├── describe_mcp_capability → 透传 schema 详情
└── call_mcp_capability → 透传调用
```
详见 [设计文档](.agents/plan/mcp-hub-design.md)。