mcpField
C
crabeye-mcp-bridge

crabeye-mcp-bridge

本地服务
github.com/crabeye-ai开发工具18今天更新

关于 crabeye-mcp-bridge

crabeye-mcp-bridge 将配置的上游 MCP 服务整合到单个 STDIO 连接中。它按需提供工具发现与执行,并支持命名空间、加密凭据和逐工具执行策略。

主要功能

  1. 01通过单个 STDIO 入口连接上游服务
  2. 02模糊搜索已发现的工具
  3. 03工具命名空间与按需执行
  4. 04逐工具、逐服务及全局策略
  5. 05加密凭据存储
  6. 06速率限制

适用场景

  1. 01搜索大型工具目录而不加载所有模式
  2. 02将调用路由到已配置 MCP 服务的工具
  3. 03要求特定工具调用经审批

MCP 相关

该桥接连接已配置的上游 MCP 服务,并通过 `search_tools` 和 `run_tool` 两个工具向客户端提供其工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"crabeye-ai-crabeye-mcp-bridge": {
"command": "npx",
"args": [
"-y",
"@crabeye-ai/crabeye-mcp-bridge"
]
}
}
}
启动命令npx -y @crabeye-ai/crabeye-mcp-bridge

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@crabeye-ai/crabeye-mcp-bridge1.3.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Crabeye MCP Bridge

通过一个 MCP 连接管理所有工具——支持发现、命名空间和执行策略。

每向 AI 助手添加一个 MCP 服务,就意味着多一个连接、多一组注入上下文窗口的工具定义,而且无法集中搜索或控制这些工具。接入 10 个服务、每个服务有 100 个工具,助手在对话开始前就要处理 1,000 个工具架构的 Token——其中大多数永远不会被调用。

crabeye-mcp-bridge 将所有上游 MCP 服务整合到一个 STDIO 接口后,只向助手公开两个工具:search_tools 和 run_tool。助手连接后,系统会发现、命名并索引各个服务中的工具;但只有助手实际搜索时,这些工具才会进入上下文窗口。你可以随时调用上千个工具,而不会让上下文膨胀;还可以通过模糊搜索查找工具,并使用逐工具执行策略控制哪些工具可以自由运行、哪些需要审批、哪些会被阻止。

crabeye-mcp-bridge 拓扑图:AI 助手通过一个 STDIO 连接桥接服务,桥接服务公开两个工具——search_tools 和 run_tool;桥接服务再连接到 Linear、GitHub、Slack、Sentry 和 Figma 等上游 MCP 服务。搜索命中之前,工具架构不会进入上下文窗口。

快速开始

最快的入门方式是使用 init,它会发现你的 MCP 客户端配置并自动设置桥接服务:

npx @crabeye-ai/crabeye-mcp-bridge init

此命令会扫描 Claude Desktop、Cursor、VS Code Copilot、Windsurf、Zed、Cline、Roo Code、opencode 和 Continue.dev 的配置文件,让你选择要使用的配置,并可选择注入桥接服务配置。之后只需运行 npx @crabeye-ai/crabeye-mcp-bridge,无需 --config 标志。

opencode 和 Continue.dev 会以仅检测模式显示:它们的配置架构不适用于重命名并注入的流程,因此 init 会为它们输出手动配置片段,而不会改写文件。

要撤销更改,请运行 npx @crabeye-ai/crabeye-mcp-bridge restore。

手动设置

如果你想手动设置,假设当前的 MCP 客户端配置如下:

{
  "mcpServers": {
    "linear": {
      "command": "npx",
      "args": ["-y", "@anthropic/linear-mcp-server"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@anthropic/github-mcp-server"],
      "env": {
        "GITHUB_TOKEN": "ghp_..."
      }
    }
  }
}

首先,将密钥存储在加密凭据库中:

crabeye-mcp-bridge credential set github-pat ghp_abc123

然后将 mcpServers 重命名为 upstreamMcpServers,添加桥接服务,并将硬编码的令牌替换为 ${credential:key} 引用:

{
  "mcpServers": {
    "bridge": {
      "command": "npx",
      "args": ["-y", "@crabeye-ai/crabeye-mcp-bridge", "--config", "/path/to/this/file.json"]
    }
  },
  "upstreamMcpServers": {
    "linear": {
      "command": "npx",
      "args": ["-y", "@anthropic/linear-mcp-server"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@anthropic/github-mcp-server"],
      "env": {
        "GITHUB_TOKEN": "${credential:github-pat}"
      }
    }
  }
}

就是这样。现在,你的 AI 助手可以通过单个连接访问所有已配置服务中的所有工具。桥接服务会自动从 mcpServers 中排除自身,以避免递归,因此将 --config 指向同一个文件是安全的。

桥接服务也会将 upstreamServers(简写)、servers(VS Code Copilot)和 context_servers(Zed)作为输入键读取。完整的优先级顺序和自身排除规则,请参阅 docs/configuration.md。

你也可以不重命名任何内容,直接在现有的 mcpServers 条目旁添加桥接服务——桥接服务会自动从 mcpServers 中获取其他服务(并排除自身)。在客户端中禁用其他 MCP 服务,让助手通过桥接服务作为唯一入口。

安装为 Claude Code 插件

将桥接服务的代码仓库注册为 Claude Code marketplace,然后安装插件:

/plugin marketplace add crabeye-ai/crabeye-mcp-bridge
/plugin install crabeye-mcp-bridge@crabeye

Claude Code 会自动将桥接服务注册为 MCP 服务。如果尚未配置上游服务,桥接服务的启动错误会显示在 Claude Code 的 MCP 服务日志中——在终端运行 npx @crabeye-ai/crabeye-mcp-bridge init,即可发现并导入其他客户端中现有的 MCP 服务配置。

功能

  • 发现与搜索。 使用两个元工具(search_tools、run_tool),而不是在上下文中定义 N×M 个工具。参见 docs/how-it-works.md。
  • 配置。 支持 STDIO、HTTP 和 SSE 上游;类别;多源配置键。参见 docs/configuration.md。
  • 身份验证。 加密的凭据存储、由操作系统钥匙串保护的主密钥、${credential:key} 模板,以及用于 HTTP 上游的一次性 auth <server> OAuth 流程。参见 docs/auth.md。
  • 策略。 支持按工具、按服务及全局设置工具策略(always / prompt / never),并支持速率限制。参见 docs/policies.md。
  • STDIO 管理器。 STDIO 上游通过每用户管理器进程进行路由,以便多个桥接器共享每个上游的单个子进程。参见 docs/stdio-manager.md。
  • 命令行工具。 init、restore、credential、daemon、--validate。参见 docs/cli.md。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。