/ 目录 / 演练场 / 1MCP Agent
● 社区 1mcp-app ⚡ 即开即用

1MCP Agent

作者 1mcp-app · 1mcp-app/agent

将你使用的所有 MCP 服务器聚合到一个端点——共享配置、共享认证、命名空间化工具名称,一处更新全部生效。

1mcp/agent 是 MCP 服务器的统一代理。一次配置所有服务器(filesystem、github、postgres、sentry 等),你的客户端(Claude Desktop / Cursor / Cline)只看到一个 MCP。工具名称会带命名空间前缀(github__create_issue),agent 负责启动/健康检查,无需重启客户端即可热加载配置。

为什么要用

核心特性

实时演示

实际使用效果

onemcp-agent.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "onemcp-agent": {
      "command": "npx",
      "args": [
        "-y",
        "@1mcp/agent"
      ]
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "onemcp-agent": {
      "command": "npx",
      "args": [
        "-y",
        "@1mcp/agent"
      ]
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "onemcp-agent": {
      "command": "npx",
      "args": [
        "-y",
        "@1mcp/agent"
      ]
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "onemcp-agent": {
      "command": "npx",
      "args": [
        "-y",
        "@1mcp/agent"
      ]
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "onemcp-agent",
      "command": "npx",
      "args": [
        "-y",
        "@1mcp/agent"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "onemcp-agent": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@1mcp/agent"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add onemcp-agent -- npx -y @1mcp/agent

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: 1MCP Agent

将 20+ 个 MCP 服务器整合到一个端点

👤 配置了大量 MCP 的高级用户 ⏱ ~25 min intermediate

何时使用: 你的 claude_desktop_config.json 有 20+ 条记录,添加/移除服务器非常繁琐。

前置条件
  • 1mcp 已安装 — npx -y @1mcp/agent(或按文档永久安装)
步骤
  1. 将现有服务器迁移到 1mcp 配置
    Use onemcp-agent. Convert my current MCP client config into a 1mcp config file with each server prefixed by its name.✓ 已复制
    → 1mcp.config.json 含所有服务器及前缀
  2. 将客户端指向 1mcp
    Replace my client's MCP config with a single entry pointing at 1mcp; keep a backup.✓ 已复制
    → 客户端现在只看到一个服务器;工具以前缀形式列出
  3. 热添加新服务器
    Add the new arxiv MCP to 1mcp config and reload — without restarting Claude Desktop.✓ 已复制
    → 下一次 list_tools 刷新时新工具出现

结果: 所有 MCP 服务器的单一可信来源;迭代更快。

注意事项
  • 带前缀的工具名称变得很长 — 为每个服务器使用简短的前缀别名(gh、fs、pg),而非全名

在开发机上运行团队共享的 MCP 服务器栈

👤 使用共享基础设施的小型开发团队 ⏱ ~45 min advanced

何时使用: 你希望团队所有人共享同一套经过审查的 MCP 服务器和 secret,而不是各自维护重复配置。

前置条件
  • 可访问的主机 — 在开发机上运行 1mcp,通过带认证的 SSE/HTTP 传输暴露
步骤
  1. 集中配置
    Configure 1mcp on the dev box with our team's MCP set + shared auth tokens. Expose via authenticated SSE.✓ 已复制
    → 服务栈已运行;SSE 端点需要 bearer token
  2. 分发单一客户端配置
    Generate per-developer client snippets pointing to the shared SSE URL with their personal bearer.✓ 已复制
    → 每位开发者一份配置片段

结果: 团队获得统一的 MCP 服务集,每个人无需各自管理 20 份配置。

注意事项
  • 单一主机 = 单点故障 — 记录本地配置的回退方案;或在负载均衡器后运行多个副本

将不受信任的 MCP 隔离在 1mcp 后面

👤 尝试社区 MCP 的安全意识用户 ⏱ ~30 min advanced

何时使用: 你想试用第三方 MCP,但不想给它完整的环境变量访问权或文件系统访问权。

步骤
  1. 在容器中运行 1mcp
    Set up 1mcp in a Docker container with minimal env; mount only ./scratch/. Add the untrusted MCP under a 'sandbox' prefix.✓ 已复制
    → 容器已运行;沙箱 MCP 只能看到 sandbox/ 工具
  2. 仅用于一个任务
    Run the experimental task only with sandbox__ tools.✓ 已复制
    → 任务完成;无任何内容逃出容器

结果: 试用不受信任的服务器,同时不向其交出所有权限。

注意事项
  • 忘记 MCP 仍然可以从容器内访问网络 — 如果出站流量敏感,使用 --network none 或受限网络命名空间

组合

与其他 MCP 搭配,撬动十倍杠杆

onemcp-agent + filesystem + github

作为你日常服务器集的聚合器

Configure 1mcp with filesystem (prefix fs) + github (prefix gh) + postgres (prefix pg). Use fs__read_file and gh__create_issue from one client.✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
list_servers 健康检查 / 调试 0
reload_config config_path? 编辑 1mcp.config.json 后调用 0
restart_server server_name 当某个子服务器出现异常时 0
<prefix>__<tool> as per child tool 所有子工具都以前缀形式暴露 depends on child server

成本与限制

运行它的成本

API 配额
每次调用增加的开销可忽略不计
每次调用 Token 数
0——代理透传;工具列表成本是所有子服务器的总和
费用
免费
提示
通过配置标志禁用不常用的子服务器,而非删除——保持 prompt 精简

安全

权限、密钥、影响范围

最小权限: Whatever child servers need
凭据存储: 子服务器环境变量集中写在 1mcp.config.json 中——请保护好该文件
数据出站: 取决于子服务器的行为——1mcp 本身不对外发送数据,除非配置了远程 SSE
切勿授予: 不要让配置文件世界可读,因为其中包含 secret

故障排查

常见错误与修复

子服务器启动失败

查看 1mcp 中该服务器的 stderr 日志;通常是环境变量缺失或命令路径有误

验证: 在终端单独运行子服务器命令
工具名称冲突

在配置中为每个服务器添加或缩短前缀

验证: list_servers 显示当前前缀
热加载未生效

部分变更需要重启(传输模式、端口)。对受影响的子服务器运行 restart_server,或完全重启 1mcp

首次响应缓慢

子服务器默认懒加载——对常用服务器设置 'eager: true'

替代方案

1MCP Agent 对比其他方案

替代方案何时用它替代权衡
metamcp你需要带 UI 管理的聚合器和团队工作流更重量级;约束更多
mcp-router (TheLunarCompany/lunar)你需要治理和审计日志(企业级)体量更大;配置更复杂

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills