mcpField
C
Codex Octopus

Codex Octopus

本地服务
github.com/xiaolaiAI 与智能体201 天前更新

关于 Codex Octopus

Codex Octopus 是一个 MCP 服务,通过 OpenAI Codex SDK 将多个专用 Codex Agent 作为独立工具暴露给 MCP 客户端。每个实例可单独配置模型、沙箱、推理强度和指令,适合需要分工的开发者。

主要功能

  1. 01每个实例可独立设置模型与推理强度
  2. 02沙箱与审批策略,只能收紧不能放宽
  3. 03支持通过 thread_id 续接会话
  4. 04通过工厂向导自动生成配置
  5. 05默认只读沙箱,API 密钥在配置中脱敏

适用场景

  1. 01为代码审查、测试编写等任务分别部署专用 Agent
  2. 02在只读沙箱中运行严格的代码审查 Agent
  3. 03用低强度的轻量 Agent 处理简单的问答任务

MCP 相关

该项目是一个 MCP 服务,将每个 Codex Agent 实例以独立的 tool 形式(如 codex 与 codex_reply)暴露给 MCP 客户端。客户端可通过 thread_id 继续之前的对话。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"codex-octopus": {
"command": "npx",
"args": [
"-y",
"codex-octopus"
],
"env": {
"CODEX_API_KEY": "<CODEX_API_KEY>",
"CODEX_TOOL_NAME": "<CODEX_TOOL_NAME>",
"CODEX_MODEL": "<CODEX_MODEL>",
"CODEX_SANDBOX_MODE": "<CODEX_SANDBOX_MODE>",
"CODEX_APPROVAL_POLICY": "<CODEX_APPROVAL_POLICY>",
"CODEX_APPEND_INSTRUCTIONS": "<CODEX_APPEND_INSTRUCTIONS>",
"CODEX_FACTORY_ONLY": "<CODEX_FACTORY_ONLY>"
}
}
}
}
启动命令npx -y codex-octopus
需要配置的环境变量
CODEX_API_KEY密钥OpenAI API key (leave unset to inherit from parent process)
CODEX_TOOL_NAMETool name prefix (default: codex)
CODEX_MODELModel: gpt-5-codex, o3, codex-1, or full ID
CODEX_SANDBOX_MODESandbox: read-only, workspace-write, danger-full-access
CODEX_APPROVAL_POLICYApproval: never, on-failure, on-request, untrusted
CODEX_APPEND_INSTRUCTIONSAdditional instructions appended to the default
CODEX_FACTORY_ONLYSet to true to expose only the factory wizard tool

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmcodex-octopus1.0.1

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
cwdstring否工作目录(覆盖 CODEX_CWD)
modelstring否模型覆盖项(例如 "gpt-5-codex"、"o3"、"codex-1")
effortenum否推理强度覆盖设置minimal | low | medium | high | xhigh
promptstring是Codex 的任务或问题
sandboxModeenum否沙盒模式覆盖设置(只能收紧,不能放宽)read-only | workspace-write
instructionsstring否附加指令(添加到提示词开头)
networkAccessboolean否启用沙盒的网络访问
webSearchModeenum否网页搜索模式disabled | cached | live
additionalDirsarray否此调用中 Agent 可访问的额外目录
approvalPolicyenum否审批策略覆盖设置(只能收紧,不能放宽)on-failure | on-request | untrusted

详细介绍

Codex Octopus

Codex Octopus

一个大脑,众多触手。

一个封装了 OpenAI Codex SDK 的 MCP 服务,让你可以从任意 MCP 客户端运行多个专用的 Codex Agent——每个 Agent 都有自己的模型、沙盒、推理力度和个性。

为什么选择它

Codex 功能强大,但单个实例做所有事情的方式都一样。有时,你可能需要一个在只读沙盒中工作的严格代码审查员,一个拥有工作区写入权限的测试编写者,一个采用最低推理力度的低成本快速助手,或者一个采用 xhigh 的深度思考者。

Codex Octopus 让你可以按需启动任意数量的这类实例。使用相同的二进制文件,配置各不相同。每个实例都会在 MCP 客户端中显示为一个独立工具。

前提条件

  • Node.js >= 18
  • Codex CLI — Codex SDK 会在底层启动 Codex CLI,因此你需要先安装它(@openai/codex)
  • OpenAI API 密钥(CODEX_API_KEY 环境变量),或从父进程继承

安装

npm install codex-octopus

或者直接在 .mcp.json 中使用 npx(参见下文的快速入门)。

快速入门

将以下内容添加到 .mcp.json:

{
  "mcpServers": {
    "codex": {
      "command": "npx",
      "args": ["codex-octopus@latest"],
      "env": {
        "CODEX_SANDBOX_MODE": "workspace-write",
        "CODEX_APPROVAL_POLICY": "never"
      }
    }
  }
}

这样你就会获得两个工具:codex 和 codex_reply。就这么简单——现在你可以将 Codex 用作工具了。

多个 Agent

真正强大的地方在于使用不同配置运行多个实例:

{
  "mcpServers": {
    "code-reviewer": {
      "command": "npx",
      "args": ["codex-octopus@latest"],
      "env": {
        "CODEX_TOOL_NAME": "code_reviewer",
        "CODEX_SERVER_NAME": "code-reviewer",
        "CODEX_DESCRIPTION": "Strict code reviewer. Read-only sandbox.",
        "CODEX_MODEL": "o3",
        "CODEX_SANDBOX_MODE": "read-only",
        "CODEX_APPEND_INSTRUCTIONS": "You are a strict code reviewer. Report real bugs, not style preferences.",
        "CODEX_EFFORT": "high"
      }
    },
    "test-writer": {
      "command": "npx",
      "args": ["codex-octopus@latest"],
      "env": {
        "CODEX_TOOL_NAME": "test_writer",
        "CODEX_SERVER_NAME": "test-writer",
        "CODEX_DESCRIPTION": "Writes thorough tests with edge case coverage.",
        "CODEX_MODEL": "gpt-5-codex",
        "CODEX_SANDBOX_MODE": "workspace-write",
        "CODEX_APPEND_INSTRUCTIONS": "Write tests first. Cover edge cases. TDD."
      }
    },
    "quick-qa": {
      "command": "npx",
      "args": ["codex-octopus@latest"],
      "env": {
        "CODEX_TOOL_NAME": "quick_qa",
        "CODEX_SERVER_NAME": "quick-qa",
        "CODEX_DESCRIPTION": "Fast answers to quick coding questions.",
        "CODEX_EFFORT": "minimal"
      }
    }
  }
}

现在,你的 MCP 客户端会看到三个不同的工具——code_reviewer、test_writer、quick_qa,每个工具都针对特定用途打造。

Agent 工厂

不想手动编写配置?添加一个工厂实例:

{
  "mcpServers": {
    "agent-factory": {
      "command": "npx",
      "args": ["codex-octopus@latest"],
      "env": {
        "CODEX_FACTORY_ONLY": "true",
        "CODEX_SERVER_NAME": "agent-factory"
      }
    }
  }
}

这会提供一个名为 create_codex_mcp 的工具——一个交互式向导。告诉它你想要什么(“一个在只读沙盒中工作的严格代码审查员”),它就会为你生成 .mcp.json 条目。

工具

每个非工厂实例都会提供:

工具用途
<name>向 Agent 发送任务并获取回复和 thread_id
<name>_reply根据 thread_id 继续之前的对话

每次调用的参数(覆盖服务默认值):

参数说明
prompt任务或问题(必填)
cwd覆盖工作目录
model覆盖模型
additionalDirsAgent 可以访问的其他目录
effort推理力度(从 minimal 到 xhigh)
sandboxMode覆盖沙盒设置(只能收紧,不能放宽)
approvalPolicy覆盖审批策略(只能收紧,不能放宽)
networkAccess启用沙盒的网络访问
webSearchMode网络搜索:disabled、cached、live
instructions附加指令(置于提示词之前)

配置

所有配置都通过 .mcp.json 中的环境变量完成。所有环境变量均为可选。

身份
环境变量说明默认值
CODEX_TOOL_NAME工具名称前缀(<name> 和 <name>_reply)codex
CODEX_DESCRIPTION向宿主 AI 显示的工具描述generic
CODEX_SERVER_NAME协议握手中的 MCP 服务名称codex-octopus
CODEX_FACTORY_ONLY仅提供工厂向导工具false
Agent
Env VarDescriptionDefault
CODEX_MODEL模型(gpt-5-codex、o3、codex-1 等)SDK 默认值
CODEX_CWD工作目录process.cwd()
CODEX_SANDBOX_MODEread-only、workspace-write、danger-full-accessread-only
CODEX_APPROVAL_POLICYnever、on-failure、on-request、untrustedon-failure
CODEX_EFFORTminimal、low、medium、high、xhighSDK 默认值
CODEX_ADDITIONAL_DIRS额外目录(以逗号分隔)无
CODEX_NETWORK_ACCESS允许沙盒访问网络false
CODEX_WEB_SEARCHdisabled、cached、livedisabled
指令
Env VarDescription
CODEX_INSTRUCTIONS替换默认指令
CODEX_APPEND_INSTRUCTIONS附加到默认指令之后(通常推荐使用此项)
高级选项
Env VarDescription
CODEX_PERSIST_SESSIONtrue/false — 启用会话恢复(默认:true)
身份验证
Env VarDescriptionDefault
CODEX_API_KEY此 Agent 使用的 OpenAI API 密钥从父级继承

安全性

  • 沙盒默认设为 read-only — 除非明确设置为 workspace-write 或 danger-full-access,否则 Agent 无法写入文件。
  • 覆盖 cwd 不会丢失 Agent 知识 — 当主机覆盖 cwd 时,Agent 配置的基目录会自动添加到 additionalDirectories。
  • 安全覆盖只会收紧限制,绝不会放宽 — 每次调用的 sandboxMode 和 approvalPolicy 只能收紧限制(例如,从 workspace-write 改为 read-only),绝不会放宽。
  • _reply 工具遵循持久化设置 — 当 CODEX_PERSIST_SESSION=false 时不会注册。
  • API 密钥会被隐藏 — 工厂向导绝不会在生成的配置中暴露 CODEX_API_KEY。

架构

┌─────────────────────────────────┐
│  MCP Client                     │
│  (Claude Desktop, Cursor, etc.) │
│                                 │
│  Sees: code_reviewer,           │
│        test_writer, quick_qa    │
└──────────┬──────────────────────┘
           │ JSON-RPC / stdio
┌──────────▼──────────────────────┐
│  Codex Octopus (per instance)   │
│                                 │
│  Env: CODEX_MODEL=o3            │
│       CODEX_SANDBOX_MODE=...    │
│       CODEX_APPEND_INSTRUCTIONS │
│                                 │
│  Calls: Codex SDK thread.run()  │
└──────────┬──────────────────────┘
           │ in-process
┌──────────▼──────────────────────┐
│  Codex SDK → Codex CLI          │
│  Runs autonomously: reads files,│
│  writes code, runs commands     │
│  Returns result + thread_id     │
└─────────────────────────────────┘

已知限制

  • minimal 推理强度 + web_search:OpenAI 不允许在 minimal 推理强度下使用 web_search 工具。如果需要网页搜索,请使用 low 或更高强度。

开发

pnpm install
pnpm build       # compile TypeScript
pnpm test        # run tests (vitest)
pnpm test:coverage  # coverage report

许可证

ISC - Xiaolai Li

评论

支持 Markdown

第一次接触 MCP?

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

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