内容
# 🌐 全能 MCP 服务器
**一个代理。所有 MCP 服务器。每个 IDE。**
不再需要在 Cursor、VS Code、Claude Desktop 和 Windsurf 之间复制 MCP 配置。全能 MCP 服务器为您提供一个单一的网关,整合所有 MCP 服务器,应用每个代理的访问控制,并隔离崩溃 - 这样一个损坏的服务器就不会导致您的整个 AI 工作流程崩溃。
## ⚡ 30 秒快速入门
```bash
# 1. 搭建您的配置(从现有的 IDE MCP 配置自动导入)
npx omni-mcp init --import
# 2. 启动网关
npx omni-mcp start
# 3. 将您的 IDE 指向网关(获取复制粘贴代码段)
npx omni-mcp ide-snippets
```
就这样。所有 AI 客户端现在都共享一个托管的 MCP 端点,位于 `http://127.0.0.1:6317/mcp`。
## 🤯 开发者为什么喜欢它
| 使用全能 MCP 服务器之前 | 使用全能 MCP 服务器之后 |
|-----------------|----------------|
| 5 个服务器 × 3 个 IDE = **15 个配置项** 需要维护 | 1 个配置文件 + **3 个单行 IDE 条目** |
| 一个服务器崩溃 → IDE 冻结 | 崩溃隔离 → 其他工具继续工作 |
| 所有代理都看到所有工具(无控制) | 每个代理的配置文件:Cursor 获取管理员,Claude 获取安全模式 |
| 添加服务器 = 编辑每个 IDE 配置 | `omni-mcp add github --npx "@modelcontextprotocol/server-github"` → 在所有地方完成 |
| 机密分散在 IDE 配置中 | 机密存储在一个位置,在代理层注入 |
## ✨ 主要功能
- **统一代理路由**:将 10+ 个独立的 MCP 服务器合并为一个端点。停止管理多个 IDE 上复杂、分散的配置文件。
- **基于配置的访问控制**:立即创建用户、团队或项目特定的配置文件。使用简单、细粒度的控制,在将工具暴露给 LLM 之前切换风险工具的开启或关闭。
- **自动发现和导入**:从 Cursor、VS Code 和 Claude Desktop 检测现有的 MCP 配置。只需一个命令即可导入您的服务器舰队。
- **传输桥接**:无缝映射本地传输(`stdio`)和远程可流式 HTTP 端点到标准化的安全连接面板。
- **崩溃和并发保护**:在专用内部代理后面隔离各个服务器。防止级联故障,并停止行为不端的工具崩溃您的整个代理工作区。
- **安全工作流程**:直接在代理层注入安全身份验证令牌(JWT 或 OAuth),以防止基于工具的令牌盗窃和本地环境利用。
- **热重载**:更改令牌、配置文件或添加服务器,而无需重启。您的 IDE 会话保持连接。
## 🏗️ 架构概述
```text
[Cursor / VS Code / Claude Desktop / Windsurf / 任意 MCP 客户端]
│
▼ (单个 HTTP 连接)
┌────────────────────────────────────────┐
│ 全能 MCP 服务器(端口 6317) │
│ │
│ 令牌:"cursor" → 配置文件:管理员 │
│ 令牌:"claude" → 配置文件:安全 │
│ 令牌:"default" → 配置文件:安全 │
├────────────────────────────────────────┤
│ 配置文件 "管理员":允许 ["*"] │
│ 配置文件 "安全": 允许 [fs, github] │
└──────┬──────────────┬─────────────┬────┘
│ │ │
(本地 stdio) (本地 stdio) (远程 HTTP)
▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐
│文件系统 │ ┌───────────┐ ┌───────────┐
└───────────┘ └───────────┘ └───────────┘
```
## 🚀 入门指南
### 安装
```bash
npm install -g omni-mcp
```
或在不安装的情况下使用:
```bash
npx omni-mcp init
```
### 导入现有配置
已经在您的 IDE 中使用 MCP 服务器?导入它们:
```bash
npx omni-mcp init --import
```
这将扫描 Cursor、VS Code 和 Claude Desktop 配置,导入所有服务器,并生成合理的令牌/配置文件默认值。
### 手动配置
创建 `omni-mcp.config.json`:
```json
{
"port": 6317,
"servers": {
"filesystem": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]
},
"github": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_TOKEN": "$GITHUB_TOKEN" }
}
},
"profiles": {
"default": { "allow": ["filesystem"] },
"admin": { "allow": ["*"] }
},
"tokens": {
"default": { "profile": "default" },
"cursor": { "profile": "admin" }
}
}
```
### 在不编辑 JSON 的情况下添加服务器
```bash
omni-mcp add puppeteer --npx "@modelcontextprotocol/server-puppeteer" --profile admin
omni-mcp add memory --npx "@modelcontextprotocol/server-memory" --profile default --profile admin
```
### 启动网关
```bash
omni-mcp start
```
### 连接您的 IDE
运行 `omni-mcp ide-snippets` 获取精确的复制粘贴配置,或将以下内容添加到您的 IDE 的 MCP 配置中:
```json
{
"url": "http://127.0.0.1:6317/mcp",
"headers": { "Authorization": "******" }
}
```
## 🎯 常见用例
### 独立开发者 - 简化 MCP 管理
一个配置来管理它们。停止编辑 3+ 个 IDE 配置,每次添加服务器时都需要编辑。
### 注重安全的开发者 - 限制危险工具
给予 Claude Desktop 只读工具,而 Cursor 获取完全访问权限:
```json
{
"tokens": {
"cursor": { "profile": "full" },
"claude": { "profile": "readonly" }
}
}
```
### 团队负责人 - 共享 MCP 标准
将 `omni-mcp.config.json` 提交到您的存储库。团队中的每个人都使用一个命令获得相同的 MCP 设置。
### CI/CD - 自动化代理
给予您的 CI 机器人一个仅限部署工具的令牌:
```json
{
"tokens": {
"ci-bot": { "profile": "deploy-only" }
}
}
```
## 📊 CLI 命令
| 命令 | 描述 |
|---------|-------------|
| `omni-mcp init` | 交互式设置,从现有的 IDE 配置自动导入 |
| `omni-mcp start` | 启动代理网关 |
| `omni-mcp stop` | 正常关闭 |
| `omni-mcp status` | 显示服务器健康状况、活动连接、配置文件 |
| `omni-mcp add <name>` | 通过 CLI 将服务器添加到配置中 |
| `omni-mcp remove <name>` | 从配置中删除服务器 |
| `omni-mcp reload` | 热重载令牌和配置文件,无需重启 |
| `omni-mcp validate` | 检查配置有效性(适用于 CI/预提交) |
| `omni-mcp ide-snippets` | 打印 IDE 特定设置代码段 |
## 🎯 目标范围和路线图
- **第一阶段(当前重点)**:单一客户端代理管理器,优化 Cursor、VS Code、Claude Desktop 和本地环境中的开发者工作流程。
- **第二阶段(团队扩展)**:独立团队云服务,封装多个共享 MCP,并具有负载均衡、Web UI 和 OAuth。
- **第三阶段(企业平台)**:具有自动缩放区域代理、企业合规开关和 AI 驱动的自动化工具发现的完整多租户 SaaS 平台。
## 📖 文档
完整规格可在 [`docs/specs/`](./docs/specs/):
- [项目概述](./docs/specs/00-overview.md)
- [配置](./docs/specs/01-configuration.md)
- [令牌和身份验证](./docs/specs/02-token-auth.md)
- [代理网关](./docs/specs/03-proxy-gateway.md)
- [传输桥接](./docs/specs/04-transport-bridging.md)
- [弹性](./docs/specs/05-resilience.md)
- [CLI](./docs/specs/06-cli.md)
- [IDE 集成](./docs/specs/07-ide-integration.md)