Codex CLI代理MCP注册表
该项目将BMAD知识库中的Codex CLI代理暴露为 模型上下文协议(MCP)工具,使其可被发现和 可由任何兼容MCP的客户端调用。每个MCP工具代表一个 代理清单并返回结构化元数据以及完整的 为该代理提供动力的指令。
特性
- ✅ 发现BMAD代理清单(
*.md,*.agent.xml)动态。 - ✅ 使用Zod对工具选项和结果进行严格的运行时验证。
- ✅ 溪流流过
stdio因此,它可以作为本地进程运行,而无需任何
网络服务。
- ✅ 返回原始清单和仅正文指令,可选
前端元数据。
- ✅ 启动Codex MCP会议(
codex-run,codex-reply,codex-close)
这样你就可以直接从注册中心启动专业代理。
先决条件
服务器需要访问包含代理的BMAD仓库 清单。设置环境变量 BMAD_ROOT (或通行证 --root 启动时)到对应的目录 bmad-mcp/bmad 在您的工作空间中提供。
安装
npm install如果您处于没有网络访问权限的沙盒环境中,您可以 需要在沙箱外安装依赖项并将其复制到沙箱中。
脚本
npm run build–类型检查并编译为dist/.npm run start–运行编译后的服务器(node dist/index.js).npm run dev–通过直接执行TypeScript入口点
ts-node (在开发过程中很有帮助)。
运行MCP服务器
npm run build
BMAD_ROOT=/path/to/bmad node dist/index.js或在开发过程中:
BMAD_ROOT=/path/to/bmad npm run dev当服务器启动它时:
- 解析BMAD目录(从
--root论点,BMAD_ROOT,或
默认 ../bmad-mcp/bmad 相对于目前的工作 目录)。
- 递归扫描代理清单。
- 使用为每个代理注册一个MCP工具
McpServer.registerTool. - 附件至
stdio传输,以便MCP客户端可以生成进程。
每个工具接受两个可选参数:
| 字段 | 类型 | 默认值 | 描述 | |
|---|---|---|---|---|
detail | "body" | "raw" | body | body 返回无前置内容的指令; raw 返回完整文件。 |
includeFrontMatter | boolean | false | 如果为true,则包括解析的前端元数据和原始YAML块。 |
工具调用返回文本摘要和结构化内容,其中包含:
agentId,name,description- 相对的
sourcePath manifestFormat(markdown或xml)manifest(基于以下内容的正文或原始文件detail)metadata,frontMatter(如有要求)- 总是回响
body和raw为方便起见
食品法典整合
注册表现在公开了三个编排工具 Codex MCP服务器。确保Codex CLI已安装并可用 你的 $PATH.
安装Codex CLI
# Choose one
npm install -g @openai/codex
brew install codex然后按照食品法典委员会文件进行认证(例如。 codex login)所以 CLI可以访问您的工作区。您始终可以验证安装 与:
npm run verify:codex运行时工具
| 工具 | 必填字段 | 目的 |
|---|---|---|
codex-run | agentId, prompt | 使用代理作为指令启动新的Codex会话 |
codex-reply | conversationId, prompt | 向现有会话发送后续提示 |
codex-close | conversationId | 结束食典会议并释放资源 |
codex-run 转发有用的配置参数(模型、沙箱等), 批准策略、自定义配置等)到底层Codex工具。 每次调用都会返回 conversationId 在 structuredContent,让 通过配对来编排多步骤任务 codex-reply 和 codex-close.
注册表自动:
- 替换
{project-root}代理角色中的占位符
捆绑的BMAD目录的实际绝对路径。
- 运行Codex
cwd(以及PROJECT_ROOTenv-var)指出
目录,因此激活步骤会引用配置/工作流文件 无需手动设置即可执行。
由于Codex电话可能需要几分钟,请确保您的客户允许 用于更长的超时时间(例如,使用MCP进行测试时为600秒 检查员)。
资源
注册表公开了一个只读资源:
| URI | 描述 | Mime类型 |
|---|---|---|
codex-registry://agents | 所有可用代理的JSON目录 | application/json |
客户来电 resources/list 将收到此目录,消除 MCP握手过程中出现“找不到方法”警告。
环境覆盖
您可以调整注册表如何仅通过环境启动Codex 变量(参见 .env.example 用于准备复制样本):
| 变量 | 描述 |
|---|---|
CODEX_COMMAND | Codex CLI的绝对或相对路径(默认为 codex). |
CODEX_MCP_ARGS | 前面放置了额外的论点 mcp-server (支持引用,例如。 --profile "my profile"). |
CODEX_MCP_ENV | 传递给Codex进程的附加环境变量的JSON对象。 |
CODEX_MCP_CWD | Codex子进程的工作目录。 |
例子:
CODEX_COMMAND=/usr/local/bin/codex \
CODEX_MCP_ARGS='--profile internal --startup-timeout 180' \
CODEX_MCP_ENV='{"OPENAI_API_KEY":"sk-..."}' \
node dist/index.js注意事项和后续步骤
- 如果将新代理添加到BMAD存储库中,只需重新启动MCP
注册表来获取它们——不需要更改代码。
- 该项目目前侧重于工具;向添加资源或提示
通过其他MCP原语公开相同的清单是直接的 如有需要,请转发。
- 考虑扩展工具处理程序以返回派生工件(例如。
快速启动提示或工作流摘要)以及原始清单。
