Token导航 LogoToken导航TokenDH.com
gambi (Victorarias) logo
运维云端未说明官方级别未说明来源级核验

gambi (Victorarias)

MCP Server

一个本地MCP聚合器,为编码代理提供单一连接点,支持多服务器工具调用和Python脚本执行,减少往返通信和令牌使用。

工具数

2

提示词数

0

GitHub Stars

1

资源数

0
开发工具RustClaudeClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

victorarias

提供方

victorarias

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

gambi

一个MCP端点。所有的服务器。调用它们的代码。

一个本地MCP聚合器,为您的编码代理提供到您使用的每个上游MCP服务器的单个stdio连接,以及一个内置的执行工具,可以从Python脚本调用其中的任何一个,这样代理就可以停止一次往返一个工具。

  • 自动刷新OAuth令牌 --gambi在后台处理PKCE、令牌刷新、旋转和降级状态恢复。代理人从不拖延等待过期的代币。
  • Python执行沙盒 --代理编写简短的Python脚本,一次性组合多个工具调用,大大减少了往返和令牌使用。
  • 单MCP连接 --一个stdio端点通过命名空间、暴露控制和执行策略聚合所有上游服务器。

gambi admin dashboard

为什么存在

我尝试使用现有的MCP集线器。我无法让它工作。文档看起来很广泛,但实际上并没有帮助。我的编码代理也无法理解——他们只是不停地告诉我添加更多的依赖关系。让它运行的可用性太痛苦了,我想: *我不能用这个。即使我修好了,我也不能用这个。*

与此同时,我一直在思考一个不同的问题。MCP非常好——小脚本、API调用、结构化工具访问。但是,您向集线器添加的服务器越多,代理看到的工具就越多,代理就会迷失在数十种工具的海洋中。更糟糕的是,他们一个接一个地称呼它们,对工作流程的每一个小步骤都进行往返。

还有auth。基于OAuth的MCP服务器在几分钟后丢失了令牌,突然间,您的代理程序停止运行,等待您重新进行身份验证。我也无法忍受。

那么,如果我们同时解决这三个问题呢?一个单一的聚合器 *就是好用* --一个二进制、零配置仪式——一个执行工具,允许代理编写一个简短的Python脚本,一次性编排多个工具调用-- 自动令牌刷新,使每个上游服务器在后台都经过身份验证。

这种胶带和巧妙的解决方案在巴西葡萄牙语中有一个名字: 改变因此,甘比。

它做什么

  • 单MCP连接 --您的代理与一个stdio服务器通信,并获得稳定的gambi表面(gambi_help, gambi_execute等等)
  • 聚合 --来自每个上游服务器的工具、提示和资源,具有自动命名空间和路由
  • gambi_execute + gambi_execute_escalated --当工作流需要更高风险的工具时,安全优先执行,并明确升级
  • 管理用户界面 --带有四个选项卡(服务器、工具、有效、日志)的网络仪表板,以及每个服务器健康芯片的状态条;添加/删除服务器,激活/停用它们,通过内联选择器更改暴露和策略,编辑工具描述,以及监视日志
  • 激活控制 --在不删除配置的情况下停用服务器;一键重新激活
  • 工具激活控制 --每服务器工具默认值(allnone)加上每个工具的活动/非活动切换
  • 曝光模式 --控制代理看到多少工具元数据: passthrough, compact, names-only,或 server-only
  • 执行策略控制 --将每个服务器目录分类为 heuristic, all-safe, all-escalated,或 custom;每个工具显示一个 safe/escalated 徽章和政策源药丸(heuristic, override, system)
  • OAuth处理 --PKCE、令牌刷新/轮换、降级状态报告——所有这些都为您管理
  • 工具描述覆盖 --单击任何工具描述以内联编辑;保存或取消、比较差异或恢复原始状态
  • 服务器指令覆盖 --MCP上游表面 instructionsgambi_help/管理员,内联覆盖它们,并随时恢复上游默认值

- 覆盖值经过验证,上限为8192个字符

gambi admin tools tab

安装

自制(macOS+Linux)

brew install victorarias/tap/gambi

单行安装程序(macOS+Linux)

curl -fsSL https://raw.githubusercontent.com/victorarias/gambi/main/install.sh | sh

可选标志:

# install a specific tag
curl -fsSL https://raw.githubusercontent.com/victorarias/gambi/main/install.sh | sh -s -- --version v0.1.2

# install into a custom directory
curl -fsSL https://raw.githubusercontent.com/victorarias/gambi/main/install.sh | sh -s -- --bin-dir "$HOME/.local/bin"

从源代码构建

git clone git@github.com:victorarias/gambi.git
cd gambi
cargo build --release
# binary: target/release/gambi

或者直接从源代码安装:

cargo install --git https://github.com/victorarias/gambi.git

先决条件:Rust稳定的工具链。

快速开始

1.将您的编码代理指向gambi

克劳德代码

claude mcp add -s user gambi gambi serve

Codex CLI

codex mcp add gambi -- gambi serve

光标

将此添加到 ~/.cursor/mcp.json (全球)或 .cursor/mcp.json (项目本地):

{
  "mcpServers": {
    "gambi": {
      "command": "gambi",
      "args": ["serve"]
    }
  }
}

如果文件已存在,请仅合并 gambi 进入下 mcpServers.

设置后,当您的代理连接时,gambi会自动启动。

管理UI将位于 http://127.0.0.1:3333 默认情况下。

2.添加服务器

通过CLI:

gambi add playwright npx @playwright/mcp@latest
gambi add playwright npx @playwright/mcp@latest -- --headless
gambi add my-tool 'stdio:///usr/local/bin/my-mcp?arg=--stdio'
gambi disable github
gambi enable github
gambi list
gambi remove github

或者通过管理UI http://127.0.0.1:3333. 服务器目标字段接受URL格式(https://..., stdio://...)或命令形式(npx -y @railway/mcp-server).

3.使用它

您的代理使用gambi的执行优先流:

  • gambi_help 检查可用的上游工具
  • gambi_execute 安全的工作流程
  • gambi_execute_escalated 仅当需要升级时

对于多步骤工作流,代理可以使用 gambi_execute (安全模式)编写一个按顺序调用多个工具的Python脚本:

issues = github.search_issues(query="bug label:critical")
for issue in issues:
    slack.post_message(channel="alerts", text=f"Critical: {issue['title']}")

一次工具调用,而不是N+1次往返。

安全/升级执行策略(什么、为什么、如何)

什么

  • gambi_execute 是安全的执行路径。
  • gambi_execute_escalated 是升级的执行路径。
  • 每个上游工具都有一个有效的政策级别: safeescalated.

为什么

  • 您可以预先批准低风险工作流,同时仍允许特权操作。
  • 代理收到确定性升级信号(ESCALATION_REQUIRED)而不是猜测。
  • 动态MCP目录在工具出现/消失时保持可管理性。

如何

  • 目录策略模式可以设置为 heuristic, all-safe, all-escalated,或 custom.
  • custom,按工具设置覆盖(safe/escalated)对于那个目录。
  • 默认启发式将工具标记为 safe 什么时候:

- 工具名称以开头 get, list, search, lookup,或 fetch (不区分大小写),或 - 描述以开头 get 不区分大小写

  • 如果 gambi_execute 点击升级的工具,它很快就会失败 ESCALATION_REQUIRED;通过重新运行 gambi_execute_escalated.

执行工具

这两种执行工具都允许您的代理编写Python脚本,使用点语法调用上游工具:

# .(**kwargs)
result = github.get_issue(issue_id="123")
slack.post_message(channel="eng", text=f"Issue loaded: {result['id']}")

对于非标识符工具名称(例如包含以下内容的名称 -),使用基于字符串的调用:

result = tool("railway_mcp:list-projects")
# or
result = call_tool("railway_mcp:list-projects")
  • 呼叫之间有命名空间: server.tool(**kwargs)
  • 对于非标识符名称,请使用 tool("server:tool-name", **kwargs)call_tool("server:tool-name", **kwargs)
  • 仅关键字参数(位置参数被拒绝)
  • read_file(path) 内置用于从以下位置输入UTF-8文本文件 /tmp 仅(无需进口)
  • 上游错误(is_error=true)执行失败
  • 进度令牌通过嵌套调用转发
  • 运行在 蒙蒂 有资源限制的Python运行时(不是沙盒)
  • gambi_execute 执行安全策略
  • gambi_execute_escalated 绕过安全策略阻止(仍受运行时限制)

管理用户界面

管理面板仅在环回上运行(http://127.0.0.1:3333)并且被组织成四个选项卡:

头球 --状态徽章(ok/error、exec on/off、服务器计数、故障计数)始终显示在顶部。

状态栏 --一排每台服务器的芯片,一目了然地显示连接状态(已认证、已禁用、已降级、未配置)。当服务器需要注意时,登录/刷新按钮会内联显示。

服务器选项卡 --使用暴露、策略和工具默认选择器按名称+URL添加服务器。每张服务器卡显示:

  • 内联下拉菜单可更改曝光模式(passthrough, compact, names-only, server-only),策略模式(heuristic, all-safe, all-escalated, custom),以及工具默认值(all, none)
  • 激活/停用切换以启用或禁用服务器而不将其删除
  • 删除按钮(需要双击确认)
  • 身份验证状态芯片和摘要行(state=enabled · exposure=passthrough · tools=all · policy=heuristic)
  • 服务器说明部分:单击以编辑/保存覆盖,请参阅源代码(upstream/override/none),diff覆盖与上游,并恢复

“工具”选项卡 --列出代理可以访问的每个工具,并按名称/描述、服务器和策略级别进行筛选。每个工具行显示:

  • active / inactive 切换每个工具的激活覆盖
  • safe / escalated 您可以单击路由徽章来覆盖该工具的策略
  • 源药丸显示激活+策略源(override, catalog-all, catalog-none, heuristic, system)
  • 点击编辑描述:点击描述文本,打开带保存覆盖/取消按钮的内联编辑器;当存在覆盖时,差异视图和还原按钮可用

有效选项卡 --实时预览您的代理所看到的内容: initialize 响应(包括指令)、本地gambi工具、上游工具路由(活动/非活动、安全/升级、源)和每台服务器的健康状态。在代理连接之前,使用此功能验证您的配置。

日志选项卡 --跟踪最近的服务器活动。

每个选项卡都有一个“json”切换来查看原始API响应。

API端点也可直接使用: /health, /status, /servers, /tools, /logs, /server-instructions, /auth/status, /config/export, /config/import以及更多。

CLI参考

gambi serve                        # start (default: admin on :3333, exec enabled)
gambi serve --admin-port 4000      # custom admin port
gambi serve --no-exec              # disable both execution tools
gambi add               # add upstream server
gambi add   [args]  # shorthand for stdio:// command targets
gambi add   --policy all-escalated
gambi add   --tool-default none
gambi disable                # deactivate server (keep config and auth state)
gambi enable                 # reactivate server
gambi remove                 # remove upstream server
gambi policy  custom         # set catalog policy mode
gambi list                         # list configured servers

配置

配置目录: ~/.config/gambi/

文件目的
config.json服务器、工具激活默认值/覆盖、策略模式/覆盖、工具描述覆盖和服务器指令覆盖
tokens.jsonOAuth令牌(文件支持的配置文件)

令牌存储配置文件:

  • GAMBI_PROFILE=local (默认):文件支持的令牌
  • GAMBI_PROFILE=production:操作系统钥匙链

环境变量

执行限制:

变量目的
GAMBI_EXEC_MAX_WALL_MS最长挂钟时间
GAMBI_EXEC_MAX_CPU_SECS最大CPU秒数
GAMBI_EXEC_MAX_MEM_BYTES最大内存
GAMBI_EXEC_MAX_STDOUT_BYTES最大stdout捕获
GAMBI_EXEC_MAX_READ_FILE_BYTES返回的最大字节数 read_file(path) (仅限于阅读 /tmp)

上游行为:

变量默认值用途
GAMBI_UPSTREAM_REQUEST_TIMEOUT_MS3000工具调用超时
GAMBI_UPSTREAM_DISCOVERY_TIMEOUT_MS3000工具发现超时

兼容性:

变量目的
GAMBI_TOOL_SCHEMA_COMPAT_NORMALIZATION=0禁用严格的客户端模式规范化(默认启用)

安全模型

  • 管理员UI/API:仅环回(127.0.0.1 / ::1)
  • MCP端点:仅限stdio
  • 信任模型:同一操作系统用户(您的用户下的任何进程都可以访问gambi)
  • 配置/令牌文件: 0600 权限, 0700 配置目录
  • gambi_execute / gambi_execute_escalated:每月运行时资源限制,不是完整的操作系统沙盒

发展

cargo fmt --all --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test

完整的CI线束:

./scripts/test-harness.sh ci       # full CI run
./scripts/test-harness.sh smoke    # fast smoke test
./scripts/test-harness.sh ui       # Playwright UI tests only

UI测试需要: npm ci && npm run test:ui:install

许可证

GPL-3.0。看 许可证.

目录标签

目录标签

开发工具RustClaudeMCP聚合本地部署Python执行OAuth自动刷新服务器管理

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP