mcpField
M
Minibridge

Minibridge

本地服务
github.com/acuvity安全5523 周前更新

关于 Minibridge

Minibridge 是一个位于 Agent 与 MCP 服务之间的桥接程序,可将 MCP 服务安全地暴露到互联网。它面向需要生产化部署的团队,支持 TLS、策略检查(Policer)、SBOM 生成与 OTEL 追踪。

主要功能

  1. 01TLS 传输与可选客户端证书校验
  2. 02通过 Policer 进行策略检查(远程 HTTP 或 OPA Rego)
  3. 03SBOM 生成与工具完整性校验
  4. 04Prometheus 指标与 OTEL 追踪
  5. 05all-in-one 模式单进程运行

适用场景

  1. 01将本地 MCP 服务安全地暴露到互联网
  2. 02对 MCP 服务的输入与输出执行策略检查
  3. 03为 MCP 服务增加监控与链路追踪

MCP 相关

Minibridge 包装 MCP 服务,客户端连接其前端,前端再连接包装 MCP 服务的后端。它不修改服务本身,而是在传输层增加安全与监控能力。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

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

详细介绍

Minibridge

Build Go Report Card GoDoc DockerHub

Minibridge 充当后端与前端之间的桥梁,让 Agent 与 MCP 服务之间的通信更顺畅、更安全。它可以安全地将 MCP 服务 暴露到互联网,并可选择与通用策略服务集成(称为 Policer),用于 Agent 身份验证、内容分析和转换。Policer 可以通过 HTTP 远程实现,也可以使用 OPA Rego 策略在本地实现。

Minibridge 可以通过生成 SBOM(软件物料清单)并实时验证,帮助确保 MCP 服务的完整性。

此外,Minibridge 支持 OTEL,可以报告并重新关联来自传统 OTEL 标头的 span,也可以直接从 MCP 调用中获取 span(由 Open Inference 等工具插入)。

arch-overview

  • Minibridge Frontend:客户端连接到 Minibridge 的 Frontend 部分。
  • Minibridge Backend:Frontend 连接到 Backend,后者封装了 MCP 服务。
  • Minibridge Policer:Policer 在 Backend 中运行,可选择根据一些策略(使用 Rego 在本地执行,或通过 HTTPs 远程执行)对输入和输出作出决策。

提示

Minibridge 可以方便地以“一体化”(AIO)模式启动,作为单个进程运行。

为什么使用 Minibridge?

Minibridge 提供以下功能:

  • 安全传输:使用 TLS,并可选择验证客户端证书
  • 完整性:确保 MCP 服务在执行期间不会更改工具、模板等
  • 用户身份验证:将用户信息传递给 Policer
  • 监控:暴露 prometheus 指标
  • 遥测:使用 Opentelemetry 报告跟踪和 span

安装

Minibridge 可通过多种方式安装:

Homebrew

在 macOS 上,可以使用 Homebrew

brew tap acuvity/tap
brew install minibridge
AUR

在基于 Arch 的 Linux 发行版上,可以运行:

yay -S minibridge

或者,获取 main 分支中的最新版本:

yay -S minibridge-git
Go

如果已安装 Go 工具链:

go install go.acuvity.ai/minibridge@latest

或者,获取 main 分支中的最新版本:

go install go.acuvity.ai/minibridge@main
手动安装

可以从发布页面轻松下载适用于你平台的二进制版本。

功能比较

🚀 功能🔹 MCP🔸 Minibridge📦 ARC (Acuvity Containers)
🌐 远程访问⚠️✅✅
🔒 TLS 支持❌✅✅
📃 工具完整性检查❌✅✅
📊 可视化和跟踪❌✅✅
🛡️ 隔离❌⚠️✅
🔐 安全策略管理❌👤⚠️
🕵️ 密钥脱敏❌👤⚠️
🔑 授权控制❌👤👤
🧑‍💻 个人身份信息检测和脱敏❌👤👤
📌 版本固定❌❌✅

✅ 包含 | ⚠️ 部分/基础支持 | 👤 用户自定义实现 | ❌ 不支持

示例:在 MCP 客户端中配置 Minibridge

假设你的客户端配置最初指定了一个 MCP 服务,如下所示:

{
  "mcpServers": {
    "fetch": {
      "command": "uvx",
      "args": ["mcp-server-fetch"]
    }
  }
}

要通过 Minibridge 路由请求(启用 SBOM 检查、策略强制执行等),请更新该条目:

{
  "mcpServers": {
    "fetch": {
      "command": "minibridge",
      "args": ["aio", "--", "uvx", "mcp-server-fetch"]
    }
  }
}
  • minibridge aio:以“一体化”模式调用 Minibridge,封装下游工具。
  • uvx mcp-server-fetch:原始 MCP 服务命令,现在在 Minibridge 内部执行。

提示

配置文件的位置取决于你的客户端。例如,如果你使用 Claude Desktop,配置文件位于:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json

请参阅官方文档 面向 Claude Desktop 用户的 MCP QuickStart。

重要

客户端必须能够解析二进制文件的路径。 如果你看到类似 MCP fetch: spawn minibridge ENOENT 的错误,请将上方的 command 参数设置为 minibridge 的完整路径(运行 which minibridge 可获取完整路径)。

文档

请查看 Wiki 页面中的完整文档。

贡献

我们热烈欢迎所有人参与贡献!🎉 无论你是在修复错误、增强功能、改进文档,还是提出全新的想法,你的参与都有助于加强这个项目,并让整个社区受益。

你无需签署贡献者许可协议(CLA)——只需提交一个拉取请求,让我们携手合作!

加入我们

评论

支持 Markdown

第一次接触 MCP?

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

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