Token导航 LogoToken导航TokenDH.com
Moonbridge MCP logo
开发工具stdio官方级别未说明来源级核验

Moonbridge MCP

MCP Server

Moonbridge是一个支持从Claude Code、Cursor等MCP客户端生成AI编码代理的工具,支持并行运行多个任务以降低成本,适用于并行探索、前端开发、测试文档和代码重构等场景。

工具数

5

提示词数

0

GitHub Stars

3

资源数

0
代码生成PythonClaudeClaudeCursor

安装说明

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

作者 / 组织

misty-step

提供方

misty-step

最后核验

2026/5/17 20:48

运行时

Python

快速接入

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

命令预览

uvx moonbridge

详细介绍

月亮桥

你的MCP客户刚刚组建了一个团队。

从Claude Code、Cursor或任何MCP客户端生成AI编码代理。以成本的一小部分并行运行10种方法。

uvx moonbridge

快速开始

  1. 安装至少一个受支持的CLI:
适配器安装身份验证
基米(default) uv tool install --python 3.13 kimi-clikimi login
食品法典委员会npm install -g @openai/codex设置 OPENAI_API_KEY
OpenCode`curl -fsSL https://opencode.ai/install \bash`opencode auth login
Gemini CLInpm install -g @google/gemini-cli快跑 gemini 登录流程或设置 GEMINI_API_KEY
  1. 添加到MCP配置 (~/.mcp.json):
   {
     "mcpServers": {
       "moonbridge": {
         "type": "stdio",
         "command": "uvx",
         "args": ["moonbridge"]
       }
     }
   }
  1. 使用它。 您的MCP客户端现在具有 spawn_agentspawn_agents_parallel 工具。

安全警告(请先阅读)

Moonbridge执行代理CLIs(Kimi/Codex/OpenCode/GGemini)。恶意或粗心的提示可能会导致 代理运行shell命令、读取可访问的文件或通过网络调用泄露数据。

Moonbridge增加了护栏(MOONBRIDGE_ALLOWED_DIRS,环境同种异体,可选 MOONBRIDGE_SANDBOX=1),但这些并不等同于操作系统级别的遏制。

对于不受信任的提示或共享环境,请在容器或VM中运行Moonbridge 最小权限文件系统和网络访问。

更新中

Moonbridge在启动时检查更新(缓存24小时)。要手动更新,请执行以下操作:

# If using uvx (recommended)
uvx moonbridge --refresh

# If installed as a tool
uv tool upgrade moonbridge

禁用CI/CD自动化的更新检查:

export MOONBRIDGE_SKIP_UPDATE_CHECK=1

何时使用Moonbridge

任务为什么选择Moonbridge
并行探索同时运行10种方法,选择最佳方法
前端/UI工作Kimi擅长视觉编码和组件设计
测试和文档高容量任务的成本效益
重构在一个请求中尝试多种策略

最适合: 受益于并行执行或批量的任务。

原理

连接流程

  1. MCP客户端(Claude Code、Cursor等)通过stdio连接到Moonbridge
  2. 客户端通过以下方式发现可用工具 list_tools
  3. 客户电话 spawn_agentspawn_agents_parallel

产卵过程

  1. Moonbridge验证提示和工作目录
  2. 决定使用哪个适配器(Kimi、Codex、OpenCode、Gemini)
  3. 适配器使用适当的标志构建CLI命令
  4. 在单独的流程组中生成子流程
  5. 捕获stdout/stderr,强制超时
  6. 返回结构化JSON结果

并行执行

  • spawn_agents_parallel 通过以下方式同时运行多达10个代理 asyncio.gather
  • 每个代理都是独立的(单独的过程,单独的输出)
  • 当最后一个代理完成(或超时)时,所有结果一起返回
MCP Client → stdio → Moonbridge → adapter → CLI subprocess
                                          → CLI subprocess (parallel)
                                          → CLI subprocess (parallel)

工具

工具用例
spawn_agent单一任务:“为auth.ts编写测试”
spawn_agents_parallel广泛:10名特工,10种方法,挑选最好的
check_status验证适配器CLI是否已安装并经过身份验证
list_adapters显示可用适配器及其状态
list_models显示适配器的已知/动态模型选项

示例:平行探索

{
  "agents": [
    {"prompt": "Refactor to React hooks"},
    {"prompt": "Refactor to Zustand"},
    {"prompt": "Refactor to Redux Toolkit"}
  ]
}

三种方法。一个请求。你选择赢家。

工具参数

spawn_agent

参数类型必填说明
promptstring代理的任务描述
adapterstring要使用的后端: kimi, codex, opencode, gemini (默认从 MOONBRIDGE_ADAPTER,回退 kimi)
modelstring模型覆盖(例如。, gpt-5.2-codex, openrouter/minimax/minimax-m2.5, gemini-2.5-pro).对于 opencode,模型使用 provider/model.
thinkingboolean启用推理模式(仅限Kimi)
reasoning_effortstring预算推理: low, medium, high, xhigh (仅限食品法典委员会,默认 xhigh)
timeout_secondsinteger覆盖默认超时(30-3600)

spawn_agents_parallel

参数类型必填说明
agentsarrayYes代理配置列表(最多10个)
agents[].promptstring此代理的任务
agents[].adapterstring此代理的后端
agents[].modelstring此代理的模型覆盖(codex 违约: gpt-5.3-codex; opencode 用途 provider/model; gemini 违约: gemini-2.5-pro)
agents[].thinkingboolean启用推理(仅限Kimi)
agents[].reasoning_effortstring推理预算(仅Codex,默认值 xhigh)
agents[].timeout_secondsinteger此代理超时

check_status

参数类型必填说明
adapterstring要显式检查的适配器。默认为 MOONBRIDGE_ADAPTER 当省略时。

list_models

参数类型必填说明
adapterstring要检查的适配器。默认为 MOONBRIDGE_ADAPTER 当省略时。
providerstringOpenCode模型目录的提供者过滤器(例如。, openrouter).
refreshboolean刷新支持动态发现的适配器的模型目录。

响应格式

所有工具都返回带有以下字段的JSON:

字段类型描述
status字符串success, error, timeout, auth_error,或 cancelled
outputstring来自代理的stdout
stderrstringnullstderr(如果有)
returncodeint进程退出代码(-1表示超时/错误)
duration_msint执行时间(毫秒)
agent_indexint代理索引(0表示单代理,0-N表示并行代理)
message弦?人类可读的错误上下文(如适用)
raw对象?可选的结构化元数据(例如沙盒差异)

当输出太大时,Moonbridge会截断它并添加 raw.output_limit 元数据 原始尺寸。

配置

环境变量

变量描述
MOONBRIDGE_ADAPTER默认适配器(默认: kimi)
MOONBRIDGE_TIMEOUT默认超时时间(秒)(30-3600)
MOONBRIDGE_KIMI_TIMEOUTKimi特定的默认超时
MOONBRIDGE_CODEX_TIMEOUT特定于Codex的默认超时
MOONBRIDGE_OPENCODE_TIMEOUTOpenCode特定的默认超时
MOONBRIDGE_GEMINI_TIMEOUTGemini特定的默认超时
MOONBRIDGE_MODEL全局默认模型覆盖
MOONBRIDGE_KIMI_MODELKimi特定车型超控
MOONBRIDGE_CODEX_MODELCodex特定模型覆盖
MOONBRIDGE_OPENCODE_MODELOpenCode特定的模型覆盖
MOONBRIDGE_GEMINI_MODELGemini特定模型超控
MOONBRIDGE_MAX_AGENTS最大并行代理数
MOONBRIDGE_MAX_OUTPUT_CHARS每个代理返回的最大字符数 stdout+stderr (默认值为120000;超时尾部为每个流)
MOONBRIDGE_ALLOWED_DIRS冒号分隔的工作目录列表
MOONBRIDGE_STRICT设置为 1 要求 ALLOWED_DIRS (如果未设置,则退出)
MOONBRIDGE_SANDBOX设置为 1 在cwd的临时副本中运行代理
MOONBRIDGE_SANDBOX_KEEP设置为 1 保存沙盒目录以供检查
MOONBRIDGE_SANDBOX_MAX_DIFF最大差异大小(以字节为单位)(默认值500000)
MOONBRIDGE_SANDBOX_MAX_COPY最大沙盒副本大小(以字节为单位)(默认500MB)
MOONBRIDGE_LOG_LEVEL设置为 DEBUG 用于详细日志记录

安全

Moonbridge继承了所选适配器CLI的安全模型。Kimi、Codex、OpenCode和Gemini是 代理CLIs;提示可以触发命令执行、文件访问和网络活动 在流程权限范围内。

1.威胁模型(包括快速注入)

如果攻击者可以影响通过MCP发送的提示输入,他们可以尝试 代理人:

  • 读取敏感文件(例如 ~/.ssh.env),
  • 运行破坏性shell命令,
  • 通过网络泄露数据。

Moonbridge不会检查即时意图。将提示输入视为可能不受信任。

2.目录限制(MOONBRIDGE_ALLOWED_DIRS)

默认值:代理可以在任何目录中操作。集 MOONBRIDGE_ALLOWED_DIRS 限制:冒号分隔允许的路径。Symlinks已通过以下方式解决 os.path.realpath 在检查之前。严格模式(MOONBRIDGE_STRICT=1)如果未配置有效的允许目录,则在启动时退出。

export MOONBRIDGE_ALLOWED_DIRS="/home/user/projects:/home/user/work"
export MOONBRIDGE_STRICT=1  # require restrictions

3.环境消毒

只有白名单中的环境变量才会传递给生成的代理。每个适配器都定义了自己的满列表(PATH, HOME,加上适配器特定的类似功能 OPENAI_API_KEY 食品法典委员会)。默认情况下,您的shell环境(机密、令牌、SSH密钥)不会被继承。

4.输入验证

验证模型参数以防止标志注入(值以 - 被拒绝)。提示最多为100000个字符,不能为空。

5.过程隔离和沙盒模式

代理在单独的进程组中运行(start_new_session=True).出口处的孤儿清理。沙盒模式可用(MOONBRIDGE_SANDBOX=1)用于运行时复制隔离。

不是操作系统级沙盒。 代理仍然可以读取或写入他们可以访问的任意主机文件。

6.强化部署检查表

  • MOONBRIDGE_ALLOWED_DIRS 尽可能小的集合。
  • 启用 MOONBRIDGE_STRICT=1 因此,缺失的限制无法关闭。
  • 启用 MOONBRIDGE_SANDBOX=1 以避免直接的工作空间突变。
  • 在容器/VM中运行Moonbridge以实现强隔离。
  • 在没有额外身份验证控制的情况下,不要将Moonbridge暴露给不受信任的客户端。

故障排除

“未找到CLI”

为所选适配器安装CLI:

# Kimi
uv tool install --python 3.13 kimi-cli
which kimi

# Codex
npm install -g @openai/codex
which codex

# OpenCode
curl -fsSL https://opencode.ai/install | bash
which opencode

# Gemini
npm install -g @google/gemini-cli
which gemini

“auth_error”响应

使用您选择的CLI进行身份验证:

# Kimi
kimi login

# Codex
export OPENAI_API_KEY=sk-...

# OpenCode
opencode auth login

# Gemini
gemini  # complete login flow, or set GEMINI_API_KEY

超时错误

适配器有合理的默认值:Codex=1800s,Kimi=600s,OpenCode=1200s,Gemini=1200s。

对于超长任务,显式重写:

{"prompt": "...", "timeout_seconds": 3600}

或者通过环境设置每个适配器的默认值:

export MOONBRIDGE_CODEX_TIMEOUT=2400  # 40 minutes
export MOONBRIDGE_KIMI_TIMEOUT=900    # 15 minutes
export MOONBRIDGE_OPENCODE_TIMEOUT=1200  # 20 minutes
export MOONBRIDGE_GEMINI_TIMEOUT=1200  # 20 minutes

超时最佳实践

任务类型推荐
快速查询,状态60-180s
简单编辑300-600s
功能实现1200-1800s
大型重构1800-3600

优先级解析:显式参数>适配器环境>适配器默认值>全局环境>600秒回退

“MOONBRIDGE_ALLOWED_DIRS未设置”警告

默认情况下,如果没有配置目录限制,Moonbridge会在启动时发出警告。这是当地发展的预期。对于共享/生产环境,设置允许的目录:

export MOONBRIDGE_ALLOWED_DIRS="/path/to/project:/another/path"

沙盒模式(运行时复制)

启用沙盒模式以在工作目录的临时副本中运行代理:

export MOONBRIDGE_SANDBOX=1

启用时:

  • 代理在临时副本中运行 cwd.
  • 默认情况下,主机文件保持不变。
  • 包含一个统一的diff+摘要 raw.sandbox.

可选:

export MOONBRIDGE_SANDBOX_KEEP=1       # keep temp dir
export MOONBRIDGE_SANDBOX_MAX_DIFF=200000
export MOONBRIDGE_SANDBOX_MAX_COPY=300000000

限制:这不是操作系统级别的隔离。如果代理选择的话,它们仍然可以读/写任意主机路径。使用容器/VM进行强隔离。

要执行限制(退出而不是警告):

export MOONBRIDGE_STRICT=1

工作目录权限被拒绝

验证目录是否在您的列表中:

export MOONBRIDGE_ALLOWED_DIRS="/path/to/project:/another/path"

调试日志

启用详细日志记录:

export MOONBRIDGE_LOG_LEVEL=DEBUG

平台支持

仅限macOS和Linux。不支持Windows。

许可证

MIT。看 LICENSE.

目录标签

目录标签

代码生成PythonClaudeAI编码本地部署并行计算开发工具自动化测试

支持客户端

ClaudeCursor

接入字段

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

stdio

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

session

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiosession部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP