SuperAI MCP
一个MCP服务器将它们连接起来:
统一 克劳德代码, Codex CLI,以及 Gemini CLI 实现无缝多模型协作。
广播、连锁、投票、辩论——人工智能模型协同工作。
   
   
  
共享SuperAI MCP
  
多模式协作,一次MCP呼叫即可
Table of contents
目录
- 多模型广播 - 链式管道 - 投票共识 - 多轮辩论 - 批处理 - 自动重试回退 - 响应缓存 - 流输出 - 模型发现与验证 - 成本跟踪和配额 - 安全
####
✨ 特性
🔀 多模型广播
向发送相同的提示 克劳德、Codex和双子座并列 并在单个响应中获得聚合结果。非常适合多角度代码审查、比较模型推理或在不同AI引擎之间找到共识。
- 通过以下方式覆盖每个目标模型和参数
models和overrides - 系统提示注入,实现所有目标的一致指令
- 内置提示模板:
review,refactor,explain,test,debug,optimize
🔗 链式管道
构建 顺序多模型管道 其中每一步的输出自动流入下一步。为受益于分阶段处理的任务链接不同的模型——用一个起草,用另一个改进,用第三个验证。
- 输出自动注入 `
` 步骤之间的标签
- 第一次失败时停止,返回部分结果
- 所有步骤的端到端超时预算
🗳️ 投票共识
并行运行候选人,然后有一个 判断模型选择最佳答案通过同时利用多个模型的优势,获得最可靠的输出。
- 法官自动排除在候选人名单之外
- 只有成功的候选人输出被转发给法官
- 完全可配置的候选人和裁判选择
💬 多轮辩论
阶段A 交替辩论 在多轮比赛中,两个模型之间。每一轮都会看到对手之前的反应。非常适合探索权衡、压力测试解决方案或生成平衡分析。
- 可配置的辩论轮数
- 对手输出注入为 `` 标签
- 任何两个CLIs作为辩论方
More Features
⚡ 批处理
跑 同时对同一CLI发出N个提示 在一次工具调用中。通过服务器端调度绕过stdio序列化瓶颈 asyncio.Semaphore最多20个任务,具有可配置的并发性。
🔁 自动重试回退
速率限制、服务器错误或超时时自动级联降级。可重试的模式包括 RESOURCE_EXHAUSTED, overloaded_error, 429, 5xx, timed out等等。
| CLI | 回退策略 | 示例 |
|---|---|---|
| 双子座 | 切换到 flash 模型 | pro → flash |
| 克劳德 | 模型降级 | 当前→ sonnet → haiku |
| 法典 | 减少推理工作量 | high → medium → low |
🗄️ 响应缓存
在内存缓存中选择LRU+TTL(use_cache=True).相同的请求(相同的cli+cd+prompt+model)会立即返回缓存结果。通过配置 SUPERAI_MCP_CACHE_TTL (默认300秒)和 SUPERAI_MCP_CACHE_MAXSIZE (默认值128)。
📡 流输出
通过MCP实时推送AI响应块 ctx.info() 通知(stream=True).在工具返回最终完整响应的同时,立即查看长时间运行的任务。
🔍 模型发现与验证
list-models 实时从OpenRouter查询可用模型(不需要API密钥,缓存5分钟)。模型参数会自动验证,并给出拼写错误的纠正建议。短别名(flash, pro, sonnet, haiku, opus)绕过验证。
💰 成本跟踪和配额
usage--通过OpenRouter定价的累计代币计数和估计成本(美元)quota-通过本地OAuth凭据实时使用帐户级别(不需要API密钥)status--CLI可用性、版本和身份验证状态概览
🔒 安全
- 所有文件操作的路径遍历保护
- Git ref审核参数验证
- 无壳注射——纯
asyncio.create_subprocess_exec - 嵌套深度限制(最大5)
SUPERAI_MCP_DEPTHenv 是 - 默认情况下仅HTTP传输环回
📦 大型即时支持
通过stdin提示超过200KB的自动管道,以避免操作系统 ARG_MAX 限制。对来电者透明。
🔄 会话恢复
通过以下方式继续上一次对话的上下文 session_id。在不丢失上下文的情况下,保持多个通话的对话流畅。
📡 进度通知
主控程序 report_progress 在长时间运行的任务中,每5秒保持一次活动。包括已用时间和当前状态摘要,以防止客户端超时。
📝 系统提示和模板
通过以下方式注入系统级指令 system_prompt 或使用内置 template 预设(review, refactor, explain, test, debug, optimize)用于结构化提示。

📦 入门指南
先决条件
- Python>=3.12
- 紫外线
- 以下CLI中至少有一个(调用未安装的CLI会返回错误,而不会影响其他CLI):
| CLI | 安装 | |
|---|---|---|
| Codex CLI | npm install -g @openai/codex | |
| Gemini CLI | npm install -g @google/gemini-cli | |
| 克劳德代码 | `curl -fsSL https://claude.ai/install.sh \ | bash` |
安装
推荐:通过安装技能 技能s.sh
技能是可重用的指令集,教人工智能代理如何有效地使用工具。将它们安装在MCP服务器旁边,以获得最佳体验。
npx skills add https://github.com/babywbx/SuperAI-MCP --skill superai-mcpAvailable skills
| 技能 | 描述 |
|---|---|
superai-mcp | 工具概述、调用约定、模型选择、常见错误 |
multi-model-review | 多模型代码审查的最佳实践 broadcast |
quota-check | 检查帐户级别配额指南 |
npx skills add https://github.com/babywbx/SuperAI-MCP --list
npx skills add https://github.com/babywbx/SuperAI-MCP --skill multi-model-review
npx skills add https://github.com/babywbx/SuperAI-MCP --skill quota-check克劳德代码
claude mcp add super -s user -- uvx --from git+https://github.com/babywbx/SuperAI-MCP.git superai-mcpMore options
# Clone and install locally
git clone https://github.com/babywbx/SuperAI-MCP.git
claude mcp add super -s user -- uv run --directory /path/to/SuperAI-MCP superai-mcp添加 ~/.claude.json (全球)或 .mcp.json (项目层面):
{
"mcpServers": {
"super": {
"command": "uvx",
"args": ["--from", "git+https://github.com/babywbx/SuperAI-MCP.git", "superai-mcp"]
}
}
}自动允许工具调用 ~/.claude/settings.json:
{
"permissions": {
"allow": ["mcp__super"]
}
}您也可以只允许特定的工具: "mcp__super__codex", "mcp__super__gemini", "mcp__super__claude", "mcp__super__broadcast", "mcp__super__batch", "mcp__super__chain", "mcp__super__vote", "mcp__super__debate", "mcp__super__list-models", "mcp__super__status", "mcp__super__usage", "mcp__super__quota".
Codex CLI
# ~/.codex/config.toml
[mcp_servers.super]
command = "uvx"
args = ["--from", "git+https://github.com/babywbx/SuperAI-MCP.git", "superai-mcp"]Gemini CLI
gemini mcp add super -- uvx --from git+https://github.com/babywbx/SuperAI-MCP.git superai-mcpHTTP Transport (Advanced)
uv run superai-mcp --http --host 127.0.0.1 --port 8088用于并发工具调用的流式HTTP传输。非环回主机被拒绝,除非 SUPERAI_ALLOW_REMOTE_HTTP=1.
添加 ~/.gemini/settings.json:
{
"mcpServers": {
"super": {
"command": "uvx",
"args": ["--from", "git+https://github.com/babywbx/SuperAI-MCP.git", "superai-mcp"]
}
}
}Claude Plugin (slash commands)
claude plugin marketplace add github:babywbx/SuperAI-MCP && claude plugin install superai-mcpSlash命令: /quota --对所有提供商进行快速配额检查。
配置后重新启动CLI。

🛠️ 工具参考
概述
| 工具 | 类型 | 描述 |
|---|---|---|
codex | 核心 | 向Codex CLI转发提示 |
gemini | 核心 | 将提示转发到Gemini CLI |
claude | 核心 | 将提示转发给Claude CLI |
broadcast | 协作 | 相同提示→ 并行的多个CLI |
batch | 协作 | 多个提示→ 一个CLI并发 |
chain | 协作 | 顺序多模型管道 |
vote | 协作 | 平行候选人+评委选出最佳人选 |
debate | 合作 | 多轮交替辩论 |
list-models | 实用程序 | 从OpenRouter查询可用型号 |
status | 实用程序 | 检查CLI可用性和身份验证状态 |
usage | 效用 | 代币跟踪和成本估算 |
quota | 实用程序 | 帐户级使用配额 |
使用方式:1️⃣默认--直接转发提示·2️⃣查看--自动获取git diff(review_uncommitted/review_base/review_commit) ·3️⃣文件--通过以下方式读取文件内容filesparam(路径或全局)
Core Tool Parameters
codex
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
prompt | str | 必填 | 任务说明 |
cd | str | 必填 | 工作目录 |
session_id | str | "" | 恢复会话 |
sandbox | str | "read-only" | 沙盒模式 |
model | str | "" | 型号名称 |
reasoning_effort | str | "" | 推理深度:无/最小/低/中/高/x高 |
service_tier | str | "" | API服务层(例如。 "fast") |
multi_agent bool的。 False | 启用子代理生成以进行并行工作 | ||
agents_max_threads | int | 0 | 最大并发代理线程数(0=默认值,最大20个) |
agents_max_depth | int | 0 | 最大代理嵌套深度(0=默认值,最大5) |
review_uncommitted bool的。 False | 审查未提交的更改 | ||
review_base | str | "" | 审查更改与分支 |
review_commit | str | "" | 审查特定提交(7-40十六进制SHA) |
files | 列表 | None | 文件路径或glob模式(例如。 "src/**/*.py") |
return_all_messages bool的。 False | 返回完整的事件流 | ||
auto_split bool的。 False | 自动将大型任务拆分为子任务 | ||
system_prompt | str | "" | 系统级指令 |
template | str | "" | 提示模板:审查/重构/解释/测试/调试/优化 |
use_cache bool的。 False | 返回相同请求的缓存响应 | ||
stream bool的。 False | 实时推送响应块 | ||
timeout | 浮子 | 300 | 超时时间(秒) |
gemini
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
prompt | str | 必填 | 任务说明 |
cd | str | 必填 | 工作目录 |
session_id | str | "" | 恢复会话 |
sandbox bool的。 True | 启用沙盒 | ||
model | str | "" | 型号名称/别名(pro、flash等) |
approval_mode | str | "" | 审批模式:默认/自动编辑/约洛/计划 |
include_directories | 列表 | None | 其他工作区目录 |
review_uncommitted bool的。 False | 审查未提交的更改 | ||
review_base | str | "" | 审查更改与分支 |
review_commit | str | "" | 审查特定提交(7-40十六进制SHA) |
files | 列表 | None | 文件路径或全局模式 |
return_all_messages bool的。 False | 返回完整的事件流 | ||
auto_split bool的。 False | 自动将大型任务拆分为子任务 | ||
system_prompt | str | "" | 系统级指令 |
template | str | "" | 提示模板:审查/重构/解释/测试/调试/优化 |
use_cache bool的。 False | 返回相同请求的缓存响应 | ||
stream bool的。 False | 实时推送响应块 | ||
timeout | 浮子 | 300 | 超时时间(秒) |
claude
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
prompt | str | 必填 | 任务说明 |
cd | str | 必填 | 工作目录 |
session_id | str | "" | 恢复会话(映射到--Resume) |
sandbox | str | "read-only" | 沙盒模式(映射到权限模式) |
model | str | "" | 型号名称(作品/十四行诗/俳句等) |
effort | str | "" | 努力程度:低/中/高/最大 |
max_budget_usd | 浮子 | 0.0 | API成本限制(0=无限制) |
permission_mode | str | "" | 权限模式:acceptEdits/dontAsk/palan/auto(覆盖沙盒) |
add_dirs | 列表 | None | 工具访问的其他目录 |
fallback_model | str | "" | 默认值过载时的自动回退模型 |
append_system_prompt | str | "" | 附加到默认系统提示 |
json_schema | str | "" | 用于结构化输出验证的JSON模式 |
review_uncommitted bool的。 False | 审查未提交的更改 | ||
review_base | str | "" | 审查更改与分支 |
review_commit | str | "" | 审查特定提交(7-40十六进制SHA) |
files | 列表 | None | 文件路径或全局模式 |
return_all_messages bool的。 False | 返回完整的JSON | ||
auto_split bool的。 False | 自动将大型任务拆分为子任务 | ||
system_prompt | str | "" | 系统级指令 |
template | str | "" | 提示模板:审查/重构/解释/测试/调试/优化 |
use_cache bool的。 False | 返回相同请求的缓存响应 | ||
stream bool的。 False | 实时推送响应块 | ||
timeout | 浮子 | 300 | 超时时间(秒) |
Collaboration Tool Parameters
broadcast
并行向多个CLI发送相同的提示,返回聚合结果。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
prompt | str | 必填 | 任务说明 |
cd | str | 必填 | 工作目录 |
targets | 列表 | None | 目标CLIs,空=全部(codex, gemini, claude) |
model | str | "" | 传递给所有CLI的模型名称(全局覆盖) |
models | 字典 | None | 根据CLI模型,例如。 {"gemini": "gemini-3.1-pro-preview"} |
overrides | 字典 | None | 每个CLI参数覆盖 |
review_uncommitted bool的。 False | 审查未提交的更改 | ||
review_base | str | "" | 审查更改与分支 |
review_commit | str | "" | 审查特定提交(7-40十六进制SHA) |
files | 列表 | None | 文件路径或全局模式 |
return_all_messages bool的。 False | 返回完整的事件流 | ||
system_prompt | str | "" | 系统级指令 |
template | str | "" | 提示模板 |
use_cache bool的。 False | 返回相同请求的缓存响应 | ||
stream bool的。 False | 实时推送响应块 | ||
timeout | 浮子 | 300 | 超时时间(秒) |
按目标覆盖 --优先级: overrides > models > model:
{
"overrides": {
"codex": { "timeout": 600, "reasoning_effort": "high" },
"gemini": { "timeout": 120, "system_prompt": "be concise" },
"claude": { "timeout": 900, "effort": "high", "max_budget_usd": 5.0 }
}
}备注:上下文构建参数(review_uncommitted,review_base,review_commit,files)预构建一次,不能为每个目标覆盖。
batch
对同一CLI目标同时运行多个提示。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
target | str | 必需 | 要使用CLI:codex/gemini/claude |
prompts | list\[str\] | 必填 | 提示字符串列表(最多20个) |
cd | str | 必填 | 工作目录 |
model | str | "" | 型号名称 |
max_concurrency | int | 0 | 最大并行任务数(0=默认5,最大20) |
review_uncommitted bool的。 False | 审查未提交的更改 | ||
review_base | str | "" | 审查更改与分支 |
review_commit | str | "" | 审查特定提交(7-40十六进制SHA) |
files | 列表 | None | 文件路径或全局模式 |
system_prompt | str | "" | 系统级指令 |
template | str | "" | 提示模板 |
use_cache bool的。 False | 返回相同请求的缓存响应 | ||
stream bool的。 False | 实时推送响应块 | ||
timeout | 浮子 | 300 | 超时时间(秒) |
options | 字典\[str,obj\] | None | 目标特定参数(例如。 {"reasoning_effort": "high"}) |
备注:broadcast发送1个提示→ N个目标。batch发送N个提示→ 1 目标。组合有效载荷上限为20 MiB。
chain
顺序多模型管道。每一步的输出都会自动注入下一步。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
steps | list\[dict\] | 必填 | 步骤列表,每个步骤 {target, prompt, model?} |
cd | str | 必填 | 工作目录 |
system_prompt | str | "" | 系统级指令 |
timeout | 浮子 | 300 | 总超时时间(秒)(端到端预算) |
vote
平行候选人+评委选出最佳答案。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
prompt | str | 必填 | 任务说明 |
cd | str | 必填 | 工作目录 |
candidates | 列表 | None | 候选CLIs,空=全部 |
judge | str | "claude" | 法官CLI(自动排除在候选人之外) |
model | str | "" | 型号名称 |
system_prompt | str | "" | 系统级指令 |
timeout | 浮子 | 300 | 总超时时间(秒) |
debate
两轮交替辩论。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
prompt | str | 必填 | 辩论主题/任务说明 |
cd | str | 必填 | 工作目录 |
side_a | str | "codex" | A侧CLI |
side_b | str | "claude" | B侧CLI |
rounds | int | 3 | 辩论轮数 |
model | str | "" | 型号名称 |
system_prompt | str | "" | 系统级指令 |
timeout | 浮子 | 300 | 总超时时间(秒) |
Utility Tool Parameters
list-models
从OpenRouter查询可用模型(包括OpenAI、Google、Anthropic)。不需要API密钥,缓存5分钟。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
provider | str | "" | 筛选器: openai, google, anthropic,或全部为空 |
备注:来自OpenRouter的数据——并非所有型号都能保证与CLIs配合使用。已验证截至2026年3月的最新型号: |CLI |最新验证型号| |-----|----------------------| |双子座|gemini-3.1-pro-preview| |食品法典委员会|gpt-5.3-codex| |克劳德|claude-opus-4-6|
status
检查所有CLI的可用性、版本和身份验证状态。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
include_quota bool的。 False | 同时获取帐户级别的使用配额 |
quota
通过本地OAuth凭据(Keychain、auth.json、OAuth_creds.json)实现真实的帐户级使用配额。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
provider | str | "" | 提供商: claude, codex, gemini,或全部为空 |
usage
累计代币使用量、通话次数和估计成本(美元)。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
reset bool的。 False | 读取后清除计数器 | ||
clear_cache bool的。 False | 清除响应缓存 |

🧪 测试
uv run pytest -v
🤝 贡献
欢迎各种类型的贡献。


______________________________________________________________________
📝 License
该项目根据 Apache许可证2.0.
版权所有©2026 婴儿.
这个项目是 Apache 2.0 得到许可的。
