Back to the catalog

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)。

More