Token导航 LogoToken导航TokenDH.com
Magi System MCP logo
运维云端stdio官方级别未说明来源级核验

Magi System MCP

MCP Server

MAGI System MCP是一个本地专用的多LLM引擎,支持提案对战和共识两种模式,具备LLM利用限制时的自动回退功能。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
PythonClaude云端部署Claude DesktopClaudeCursor

安装说明

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

作者 / 组织

toshiohanawa

提供方

toshiohanawa

最后核验

2026/5/17 20:19

运行时

Python

快速接入

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

命令预览

python3 --version # 3.11以上であることを確認

详细介绍

MAGI系统MCP

本地专用多功能LLM发动机。提案之战共识中描述的场景,使用下列步骤创建明细表,以便在概念设计中分析体量的周长LLM配备了使用限制时的自动回退功能。

特徴

  • 两种执行模式

- 提案之战: Codex →Claude →Gemini の顺次実行(CursorがJudge) - 共识:三个佩尔索纳并行评估和投票系统

  • 自动回退功能: LLM已达到使用限制LLM自动代理角色
  • MCP通过服务器: Cursor直接利用
  • CLI仅支持版本:全部LLM啊CLI仅版本(全面禁止HTTP API/SDK调用)

快速启动

1.环境构筑

bash scripts/setup_environment.sh

此脚本自动执行:

  • Python创建虚拟环境(使用uv)
  • 安装相关性
  • LLM CLI确认
  • Docker确认环境

2.系统启动

bash scripts/start_magi.sh

此脚本自动执行:

  • 启动主机包装器(端口9001-9004)
  • Docker启动容器(magi-mcp)(端口8787)

3. MCP设定

MAGI系统包括:Cursor、Claude Desktop、Claude Code三个MCP可供客户端使用。

Cursor用设定

方法1:项目本地设置(建议)

项目根目录.cursor/mcp.json创建:

mkdir -p .cursor
cat > .cursor/mcp.json > "$GLOBAL_MCP"  **注意**:如果全局配置文件已存在,请单击JSON手动编辑格式,或将其设置为现有设置`magi`请添加条目。

Cursor中所述修改相应参数的值。

#### Claude Desktop用设定

Claude Desktop在配置文件中添加:

**macOS如果:** `~/Library/Application Support/Claude/claude_desktop_config.json`

**Windows如果:** `%APPDATA%\Claude\claude_desktop_config.json`

{ "mcpServers": { "magi": { "command": "npx", "args": ["-y", "@ivotoby/openapi-mcp-server"], "env": { "API_BASE_URL": "http://127.0.0.1:8787", "OPENAPI_SPEC_PATH": "http://127.0.0.1:8787/openapi.json" } } } }


设置后Claude Desktop中所述修改相应参数的值。

#### Claude Code用设定

Claude Code的项目设置文件(`.mcp.json`)项目根目录:

{ "mcpServers": { "magi": { "command": "npx", "args": ["-y", "@ivotoby/openapi-mcp-server"], "env": { "API_BASE_URL": "http://127.0.0.1:8787", "OPENAPI_SPEC_PATH": "http://127.0.0.1:8787/openapi.json" } } } }


单击功能区上Claude Code的全局设置(`~/.claude/settings.json`),模板名称将采用不同的格式。

### 4.动作确认

ヘルスチェック

curl http://127.0.0.1:8787/health


所有CLI的`true`在工作空间的边缘`wrapper_running`的`true`的规格化距离的幂函数。

## 主要机能

### Proposal Battle模式

Proposal Battle模式是三个LLM将条目添加到文档注册表。最终Cursor的Judge进行动态观察时的轴心点。

#### 执行流程

1. **Codex (Execution - 実装者)**

   - 角色:以可实施性为优先,创建具体可行的方案
   - 出力内容:
     - 目的明确化
     - 可行的结构方案
     - 手順(一步一步)
     - 所需技术/库
     - 具体输出(代码/伪代码/架构等)
   - 特征:避免模糊表达,必要时包括代码或伪代码

1. **Claude (Evaluation - 评似者)**

   - 角色:Codex批判性地评论的方案,指出改善点
   - 输入:Codex输出
   - 出力内容:
     - 指摘事项
     - 风险评估
     - 改善案
     - 修改后的建议结构
   - 評価観点:
     - 风险
     - 不整合
     - 长期保守性
     - 安全/道德
     - 構造的弱点

1. **Gemini (Exploration - 探索者)**

   - 角色:Claude的改善方案,提供发散性的提案
   - 输入:Claude输出
   - 出力内容:
     - 新方法
     - 类似领域的参考知识
     - 替代方案Pros/Cons
     - 发散方案转换为实用方案
   - 特徴:
     - 备选体系结构建议
     - 基于类推的新观点
     - 外部知识整合

1. **Cursor (Judge - 判定者)**

   - 角色:比较3个方案,选择最佳方案
   - 判定内容:
     - 3方案摘要
     - 比较表
     - 优势、弱点、风险
     - 最值得推荐的方案的选择和理由
     - 合成方案的有效性评价
     - 对用户的行动提问(选择、合成、复核)

#### 使用例

{ "initial_prompt": "Pythonでリストをソートする関数を作成してください。セキュリティとパフォーマンスの両方を考慮してください。", "mode": "proposal_battle", "verbose": true, "fallback_policy": "lenient" }


#### 响应结构

{ "session_id": "...", "results": { "codex": { "model": "codex", "content": "Codexの実装提案...", "metadata": { "status": "ok", "duration_ms": 1234, "trace_id": "..." } }, "claude": { "model": "claude", "content": "Claudeの評価と改善案...", "metadata": {...} }, "gemini": { "model": "gemini", "content": "Geminiの探索的提案...", "metadata": {...} } }, "logs": [...], "summary": "codex(ok) -> claude(ok) -> gemini(ok)", "timeline": [ "[start] codex (trace_id=...)", "[codex] ok (ok, trace_id=...)", "[start] claude (trace_id=...)", "[claude] ok (ok, trace_id=...)" ] }


#### 选项

- `skip_claude`: Claude跳过Codex和Gemini仅运行(可选)
- `fallback_policy`:
  - `lenient` (默认值):LLM失败时也用存根继续,准备3个方案
  - `strict`:第一次失败LLM以后不执行`status: "skipped"` 归还
- `verbose`:运行路径日志 `logs`、`summary`、`timeline` (默认值: `true`)。`false`可禁用

### Consensus模式(默认)

Consensus模式是3个珀尔索纳(Melchior/Gemini、Balthasar/Claude、Caspar/Codex)**并列**的评价,用加权投票系统做出最终决定的模式。适用于代码更改的评估和决策。

#### 统一persona模板(UPT)

所有persona都遵循统一的精确输出格式(Unified Persona Template,UPT):

VOTE: YES | NO | CONDITIONAL

REASON:

  • 箇条書きで具体的理由を列挙

OPTIONAL_NOTES:

  • 必要なら補足を書く(なければ空欄でよい)

通过该统一格式LLM可提供耐输出波动的坚固透视。了解更多信息 `docs/MAGI_CONSENSUS_PROMPTS.md` 来修改标记元素的显示属性。

#### 执行流程

1. **并列评似**

   - 三个佩尔索纳同时执行评估(`asyncio.gather`),模板名称将采用不同的格式
   - 根据统一的persona模板(UPT),在独立的提示下评估每个persona
   - 回退功能已达到使用限制LLM是自动的LLM替换为
   - 自定义persona配置文件(`persona_override`),模板名称将采用不同的格式

1. **投票汇总**

   - 每个佩尔索纳 `YES`、`NO`、`CONDITIONAL` 投票
   - 加权分数计算:
     - `YES`:+1×权重
     - `NO`:-1×权重
     - `CONDITIONAL`:+0.3×权重(默认值)
   - 权重设置(默认值):
     - 梅尔基奥尔(双子座):0.4
     - 巴尔塔萨(克劳德):0.35
     - 卡斯帕(食品法典委员会):0.25

1. **最终决定**

   - 合计分数和criticality根据级别确定
   - 确定类型: `APPROVED`、`REJECTED`、`CONDITIONAL`
   - 风险级别: `LOW`、`MEDIUM`、`HIGH`

#### 佩尔索纳的详细角色

所有珀尔索那均按照统一珀尔索那模板(UPT)输出:

- `VOTE`:是|否|有条件
- `REASON`:分条列举具体理由
- `OPTIONAL_NOTES`:必要时补充(可空白)

**Melchior (Gemini) - 科学者**

- **評価観点**:仅与逻辑一致性、技术正确性、规格一致
- **评似基准**:
  - 逻辑一致性:建议是否在逻辑上一致
  - 技术准确性:技术正确实施
  - 与规格匹配:是否与现有规格或文档匹配
  - 実装可能性:技术的に実装可能か
- **不评价的东西**:安全性、安全性、实用性、时间限制
- **重量**: 0.4(最高)

**Balthasar (Claude) - 安全性重视**

- **評価観点**:最优先考虑安全性、安全性、稳定性、可维护性和风险
- **评似基准**:
  - 安全风险:SQL注入XSS、认证授权问题
  - 稳定性:错误处理、异常处理、边缘情况
  - 可维护性:代码可读性、可测试性、文档
  - 风险:未来技术负债、可扩展性问题
- **不评价的东西**:实施速度和效率
- **重量**: 0.35
- **特殊规则**: `CRITICAL` criticality的BALTHASAR的`NO`的双曲正切值`REJECTED`

**Caspar (Codex) - 実用主义者**

- **評価観点**:实用性、速度、“现在行动”、最优先达成用户目标
- **评似基准**:
  - 实用性:建议是否实际解决问题
  - 速度:安装是否快速或立即使用
  - 达成目标:能否实现用户的目标
  - 易于实施:是否简单且易于实施
- **许容范围**:轻微的技术负债或违反规则,如果结果有用,则可以接受
- **重量**: 0.25

#### persona_override(自定义persona配置文件)

为每个佩尔索纳提供额外的评估标准和说明:

{ "initial_prompt": "新しい認証システムの実装", "mode": "consensus", "persona_overrides": { "melchior": "このプロジェクトではPython 3.11以上を必須とする", "balthasar": "GDPR準拠を最優先で確認すること", "caspar": "MVPとして2週間以内にリリース可能な範囲で評価" } }


`persona_override`如果未指定,模板中将显示“(无附加配置文件)”。

#### Criticality等级

- **`CRITICAL`**:更改安全关系等
  - BALTHASAR的`NO`自动`REJECTED`
  - 适用更严格的判定标准
- **`NORMAL`** (默认):常规更改
  - 适用标准的判定基准
- **`LOW`**:低风险更改
  - 适用更宽松的判定基准

#### 使用例

{ "initial_prompt": "このコード変更を評価してください: ユーザー認証システムに新しいパスワード強度チェック機能を追加する", "mode": "consensus", "criticality": "CRITICAL", "verbose": true }


#### 响应结构

{ "session_id": "...", "results": {}, "magi_decision": { "decision": "APPROVED | REJECTED | CONDITIONAL", "decision_label": "Approved | Rejected | Conditional Approval", "risk_level": "LOW | MEDIUM | HIGH", "risk_label": "Low Risk | Medium Risk | High Risk", "persona_results": [ { "persona": "melchior", "persona_name": "Melchior (Scientist)", "vote": "YES | NO | CONDITIONAL", "vote_label": "Approved | Rejected | Conditional Approval", "reason": "技術的な評価理由...", "optional_notes": "補足情報(オプション、nullの場合あり)" }, { "persona": "balthasar", "persona_name": "Balthasar (Safety)", "vote": "YES | NO | CONDITIONAL", "vote_label": "Approved | Rejected | Conditional Approval", "reason": "安全性・リスク評価...", "optional_notes": null }, { "persona": "caspar", "persona_name": "Caspar (Pragmatist)", "vote": "YES | NO | CONDITIONAL", "vote_label": "Approved | Rejected | Conditional Approval", "reason": "実用性・速度評価...", "optional_notes": "実装時の注意点など" } ], "aggregate_reason": "集約された判断理由", "suggested_actions": [ "推奨アクション1", "推奨アクション2" ] }, "logs": [...], "summary": "Decision: APPROVED (MEDIUM risk). 2 persona(s) approved: melchior, caspar. 1 persona(s) conditionally approved: balthasar", "timeline": [ "[start] parallel evaluation (trace_id=...)", "[melchior] YES - 技術的に正しい実装...", "[balthasar] CONDITIONAL - セキュリティリスクは低いが...", "[caspar] YES - 実用的で迅速に実装可能..." ] }


#### 投票聚合逻辑详细信息

1. **分数计算**

合計スコア = Σ(各ペルソナのスコア × 重み)

各ペルソナのスコア: - YES: +1.0 - NO: -1.0 - CONDITIONAL: +0.3 (デフォルト、設定可能)


1. **决策逻辑**

   - `CRITICAL` 关键性:
     - BALTHASAR的`NO` -自动`REJECTED`
     - 总分>0.3→ `APPROVED`
     - 总分\0.2→ `APPROVED`
     - 总分\0.1→ `APPROVED`
     - 总分\ claude(ok) -> gemini(ok)",
  "timeline": [
    "[start] codex (trace_id=...)",
    "[codex] ok (ok, trace_id=...)",
    "[codex] fallback to claude (rate limit, trace_id=...)"
  ]
}

POST/magi/step

取得通过方案。

请求:

{
  "session_id": "...",
  "decision": "codex|claude|gemini|judge"
}

POST/magi/stop

停止会话。

请求:

{
  "session_id": "..."
}

GET/健康

健康检查(获取CLI状态)。

响应示例:

{
  "status": "ok",
  "commands": {
    "codex": true,
    "claude": true,
    "gemini": true
  },
  "details": {
    "codex": {
      "available": true,
      "type": "real",
      "path": "http://host.docker.internal:9001",
      "wrapper_running": true,
      "wrapper_message": "Host wrapper is available"
    }
  }
}

环境构筑

建议的系统环境

操作系统

  • macOS: 10.15 (Catalina) 以上(推奨: macOS 12以上)
  • Linux: Ubuntu 20.04大于或等于分配
  • 视窗: Windows 10/11(WSL2推奨)

硬件要求

  • 中央处理器:2核以上(4核以上推荐)
  • 内存: 4GB以上(8GB以上推奨)
  • 磁盘空间: 2GB以上可用空间(包括Docker映像)

软件要求

  • python: 3.11以上(3.12推奨)
  • 紫外线:最新版本(Python包管理器)

- 安装: curl -LsSf https://astral.sh/uv/install.sh | sh

  • Docker 桌面版: 最新版

- macOS/Windows: - Linux: Docker Engine 20.10以上

  • LLM-CLI:单击CLI已安装

- codex -OpenAI Codex命令行界面 - claude - Anthropic Claude CLI(Judge机能も兼用) - gemini -谷歌Gemini CLI

网络要求

  • 互联网连接(用于访问LLM API)
  • 本地端口可用性:

- 8787: MCP服务器 - 9001-9004:主机包装器(Codex,Claude,Gemini,Judge)

其他要求

  • 光标:最新版本(用作MCP客户端)
  • Git:版本控制(可选)

确认前提条件

您可以使用以下命令查看环境:

# Pythonバージョン確認
python3 --version  # 3.11以上であることを確認

# uvの確認
uv --version

# Dockerの確認
docker --version
docker compose version

# LLM CLIの確認
codex --version
claude --version
gemini --version

手动设置

1. Python创建虚拟环境

uv venv
source .venv/bin/activate

2.安装相关性

uv pip install -r requirements.txt
uv pip install -r host_wrappers/requirements.txt

3. LLM CLI确认

以下CLI确认已安装:

  • codex -Codex CLI
  • claude -Claude CLI
  • gemini -Gemini CLI

在动态输入提示中CLI可自定义命令:

  • CODEX_COMMAND (默认值: codex exec --skip-git-repo-check)
  • CLAUDE_COMMAND (默认值: claude generate --model opus)
  • GEMINI_COMMAND (默认值: gemini generate)

运用

启动/停止包装器

方法1:使用脚本(推荐)

bash scripts/start_host_wrappers.sh

此脚本将在后台启动四个包装器,并检查它们的启动状态。

要停止:

bash scripts/stop_host_wrappers.sh

方法2:手动启动

  1. 从属安装: pip install -r host_wrappers/requirements.txt
  2. 在不同的终端分别启动(端口:codex=9001, claude=9002, gemini=9003, judge=9004)
   uvicorn host_wrappers.codex_wrapper:app --host 127.0.0.1 --port 9001
   uvicorn host_wrappers.claude_wrapper:app --host 127.0.0.1 --port 9002
   uvicorn host_wrappers.gemini_wrapper:app --host 127.0.0.1 --port 9003
   uvicorn host_wrappers.judge_wrapper:app --host 127.0.0.1 --port 9004

CLI命令是环境变量 CODEX_COMMAND 等已弃用的函数的缺少的支持。

MCP桥接器启动

方法1:使用自动启动脚本(推荐)

默认(主机包装模式):

bash scripts/start_magi.sh

此脚本自动执行:

  1. 启动主机包装器(scripts/start_host_wrappers.sh
  2. Docker启动容器(仅magi-mcp)(docker-compose up -d --build --no-deps magi-mcp
  3. 确认启动状态

容器包装模式(可选):

USE_CONTAINER_WRAPPERS=1 bash scripts/start_magi.sh

要停止:

bash scripts/stop_magi.sh

方法2:手动启动

主机包装模式(默认):

# 1. ホストラッパーを起動
bash scripts/start_host_wrappers.sh

# 2. Dockerコンテナ(magi-mcpのみ)を起動
USE_CONTAINER_WRAPPERS=0 docker-compose up -d --build --no-deps magi-mcp

容器包装模式:

# 1. 全サービス(ラッパー含む)を起動
USE_CONTAINER_WRAPPERS=1 docker-compose up -d --build

起动顺序:

  1. 启动包装器(主机或容器)
  2. Docker启动容器
  3. Cursor的MCP使用工具

架构确认

curl http://127.0.0.1:8787/openapi.json

操作注意事项

  • 接続先: Docker从里面 host.docker.internal、从主机直接运行时自动 127.0.0.1 后退。如果需要的话 *_WRAPPER_URL 中所述修改相应参数的值。
  • 起动顺:1)在主机上启动包装器→2) docker-compose up。如果未启动包装,则为短截线响应。
  • 超时:默认值为900秒(15分钟)。根据需要 WRAPPER_TIMEOUTCODEX_TIMEOUT / GEMINI_TIMEOUT 进行调试。对整体有效的情况下 LLM_TIMEOUT
  • 504/读取超时: CLI等待完成。延长超时ps 等确认死机,在短提示下测量所需时间的话容易区分。
  • 短截线响应: /health 的ok 或者CODEX_COMMAND 查看项目中可用的所有族。
  • 权限错误: Operation not permittedEPERM: operation not permitted, uv_cwd 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。了解更多信息 docs/setup/TROUBLESHOOTING_MCP.md 问题5:Codex/Gemini的权限错误。

故障排除

常见问题

  1. 主机包装器未启动

- 症状: wrapper_running: false 对话框,您可以在此定义自定义格式"All connection attempts failed" 错误 - 解决方法:

     # プロセス確認
     ps aux | grep uvicorn | grep host_wrappers

     # ポート確認
     lsof -i :9001 -i :9002 -i :9003 -i :9004

     # ホストラッパーを起動
     bash scripts/start_host_wrappers.sh

     # 起動状態を確認
     curl http://127.0.0.1:9001/health
     curl http://127.0.0.1:9002/health
     curl http://127.0.0.1:9003/health
  1. Codex/Gemini权限错误

- 症状: Operation not permittedEPERM: operation not permitted, uv_cwd 发生 - 解决: docs/setup/PERMISSION_ERROR_FIX.md 的双曲正切值 - 在新终端上设置时很重要:必须 docs/setup/PERMISSION_ERROR_FIX.md 查看项目中可用的所有族

  1. MCP未显示工具

- 症状:Cursor的MCP未显示工具 - 解决方法: 1. Docker确认容器是否已启动: docker compose ps 1. MCP确认服务器是否响应: curl http://127.0.0.1:8787/openapi.json 1. .cursor/mcp.json的设置是否正确(通过容器的URL引用 http://127.0.0.1:8787/openapi.json ),模板名称将采用不同的格式 1. Cursor完全重新启动 - 详细: docs/setup/CURSOR_MCP_SETUP.md 的双曲正切值

  1. 使用限制错误

- 症状:LLM已达到使用限制 - 解决方案:回退功能将自动运行。fallback_info字段确认 - 动作确认:在时间轴上[codex] fallback to claude (rate limit, ...)记录

  1. 未找到架构

- 症状:出现架构错误 - 解决方法: - schema将条目添加到文档注册表URL(http://127.0.0.1:8787/openapi.json)来定义自定义外观 - Docker确认容器是否正常启动 - curl http://127.0.0.1:8787/openapi.json 中查看连接状态

  1. 连接错误

- 症状:无法连接 - 解决方法: - Docker集装箱127.0.0.1:8787确认是否监听 - 检查防火墙设置 - 检查其他进程是否使用了端口8787 - 检查主机包装器是否已启动(必需)

详细故障排除

  • MCP关连: docs/setup/TROUBLESHOOTING_MCP.md
  • 权限错误: docs/setup/PERMISSION_ERROR_FIX.md在新终端安装时一定要确认
  • 已知问题: docs/development/ISSUES.md

如果为难的话: README.mddocs/development/ISSUES.mddocs/setup/TROUBLESHOOTING_MCP.mddocs/setup/PERMISSION_ERROR_FIX.md 中所述修改相应参数的值。

项目配置

magi-system-mcp/
├── src/
│   ├── api/
│   │   └── server.py          # FastAPI MCPサーバー
│   └── magi/
│       ├── clients/           # LLMクライアント実装
│       ├── modes/             # ProposalBattleMode実装
│       ├── consensus.py       # Consensus Engine
│       ├── fallback_manager.py # フォールバック管理
│       ├── rate_limit.py      # 利用制限検出
│       ├── models.py          # データモデル
│       ├── controller.py      # MAGI Controller
│       └── prompts.py         # プロンプト定義
├── host_wrappers/             # HTTPラッパー(FastAPI)
├── scripts/                    # 起動・停止スクリプト
├── docs/                       # ドキュメント
└── tests/                      # テスト

测试

# すべてのテストを実行
pytest

# 統合テストのみ実行
pytest -m integration

# 統合テストを除外して実行(高速)
pytest -m "not integration"

高级设置

LLM CLI设定

全LLM啊HTTP通过包装CLI命令。默认情况下,可以使用主机包装器并使用环境变量覆盖(如果使用容器包装器) USE_CONTAINER_WRAPPERS=1 ):

  • 食品法典: CODEX_COMMAND (默认值: codex exec --skip-git-repo-check)
  • 克劳德: CLAUDE_COMMAND (默认值: claude generate --model opus)
  • 双子座: GEMINI_COMMAND (默认值: gemini generate)
  • 裁判: JUDGE_COMMAND (默认值: claude generate --model opus)

每个CLI接受来自标准输入的提示,并将结果返回到标准输出。

超时设置

默认值为900秒(15分钟)。MAGI_TIMEOUT_DEFAULT 对较大场景进行渲染期间已观察到该故障。即使是长句提示和复杂的任务也能确保足够的时间。

超时调整:

  • HTTP客户端: LLM_TIMEOUT 或单独 CODEX_TIMEOUT / CLAUDE_TIMEOUT / GEMINI_TIMEOUT / JUDGE_TIMEOUT(默认值: MAGI_TIMEOUT_DEFAULT 继承)
  • 包装侧: WRAPPER_TIMEOUT(FastAPI在旁边CLI等待执行的上限,默认值: MAGI_TIMEOUT_DEFAULT

默认模式设置

MAGI可以使用环境变量设置系统的默认模式:

  • MAGI_DEFAULT_MODE:指定默认模式(consensusproposal_battle

- 默认值: consensus - 例: MAGI_DEFAULT_MODE=proposal_battle 的Proposal Battle将模式设置为默认值

API请求 mode 如果显式指定了参数,则该值将被替代。

Verbose模式设置

verbose默认情况下,模式处于启用状态。可以更改环境变量的默认值:

  • MAGI_VERBOSE_DEFAULT: verbose指定模式的默认值(truefalse10yesnoonoff

- 默认值: true(verbose模式有效) - 例: MAGI_VERBOSE_DEFAULT=false 的verbose默认情况下禁用模式

API请求 verbose 如果显式指定了参数,则该值将被替代。

包装器操作模式

MAGI系统以两种模式运行:

  1. 主机包装模式(默认):在主机端启动包装器,然后在主机上安装CLI执行二进制(codex,claude,gemini,judge)
  2. 容器包装模式(可选): Docker在容器中启动包装器(仅当CLI二进制文件在容器中可用时)

默认为主机包装模式。 现有的主机先决工作流将继续运行。在容器中CLI仅在想要移动时Dockerfile的CLI添加安装后 USE_CONTAINER_WRAPPERS=1 中所述修改相应参数的值。

使用容器包装模式:

USE_CONTAINER_WRAPPERS=1 bash scripts/start_magi.sh

Dockerfile的CLI添加示例RUN pip install ... ):

RUN apt-get update \
 && apt-get install -y --no-install-recommends curl ca-certificates gnupg \
 && curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
 && apt-get install -y --no-install-recommends nodejs \
 && npm install -g @openai/codex @anthropic-ai/claude-code @google/gemini-cli \
 && apt-get clean && rm -rf /var/lib/apt/lists/*

HTTP包装URL设置

可以用环境变量覆盖(默认:主机包装模式为 http://host.docker.internal:900{1-4}、集装箱化包装模式 http://-wrapper:900{1-4}):

  • CODEX_WRAPPER_URL
  • CLAUDE_WRAPPER_URL
  • GEMINI_WRAPPER_URL
  • JUDGE_WRAPPER_URL

动作确认

检查主机包装器和桥接器是否正常工作:

# 1. ホストラッパーの起動状態を確認
curl http://127.0.0.1:9001/health  # Codex
curl http://127.0.0.1:9002/health  # Claude
curl http://127.0.0.1:9003/health  # Gemini
curl http://127.0.0.1:9004/health  # Judge

# 2. MAGIシステムのヘルスチェック(ホストラッパーの状態も含む)
curl http://127.0.0.1:8787/health

所有命令 true 在工作空间的边缘wrapper_runningtrue 如果是HTTP包装器工作正常。

注意:

  • 如果主机包装器未启动wrapper_runningfalse 将条目添加到文档注册表。
  • macOS的二进制(claude/gemini)也在主机侧运行,所以没有问题。

开发人员信息

有关实施细节、技术改进和已知问题,请参阅以下文档:

  • 実装详细: docs/development/PHASE1_IMPLEMENTATION.md -类型安全错误处理、设置管理、结构化记录等
  • 已知问题: docs/development/ISSUES.md -超时、流程清扫等

目录标签

目录标签

PythonClaude云端部署多LLM引擎本地部署提案对战共识模式自动回退

支持客户端

Claude DesktopClaudeCursor

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP