Skip to main content
Glama
elijah7x
by elijah7x

omp-worker-mcp

English · 简体中文

别再把你最贵的模型配额浪费在杂活上了。

让 Claude Code、Codex、Grok Build、Kimi Code 或任何其他 MCP 客户端把搜索、清理、批量工作和全仓库扫描交给你在 OMP 里已经配置好的那些小模型。

OMP workers for every coding agent

我为什么做这个

我通常会同时打开好几个编码代理:一个窗口跑 Codex,另一个跑 Grok Build 或 Kimi Code,旁边再放一个 OMP。OMP 里接的一些套餐给了我充足的模型时长,性价比很高。它们非常适合做仓库扫描、初稿审查,以及那些很耗 token 的重复性工作。

我日常用的那些工具的套餐额度比较小。当配额紧张的时候,我最不想做的就是再写一份交接文档,或者在终端窗口之间来回复制粘贴提示词。我正在对话的那个代理应该能直接把任务发出去,再把结果带回来。

所以我做了这个 MCP 服务器。你的主代理保留上下文并做决策,OMP 负责处理有边界的后台工作。Claude Code、Codex、Grok Build、Kimi Code、OpenCode、Cursor 以及其他 MCP 客户端都可以共享同一套 OMP 角色和任务代理。

Related MCP server: agent-bridge

你的代理能得到什么

大多数任务只需要两个工具:

  • run 启动一个 OMP worker 并返回一个任务 ID。

  • wait 收集一个或多个结果。

你的代理可以同时启动几个独立任务,继续干别的活,然后再一起收集结果。status、list、cancel、agents 和 roles 覆盖其余的需求。

每个 worker 都有一个 agent 和一个 role。agent 描述如何处理任务,比如 scout 或 reviewer。role 从你的 OMP 配置中选择一个模型映射,比如 task、slow 或 designer。如果两者都省略,服务器会使用 task。

安装配置

你需要 Node.js 22 或更高版本,以及一个已安装并完成认证的 Oh My Pi。

git clone https://github.com/elijah7x/omp-worker-mcp.git
cd omp-worker-mcp
node src/server.js --self-check
npm run check

然后让项目为你的客户端打印一段配置片段:

node scripts/client-config.js claude
node scripts/client-config.js codex
node scripts/client-config.js opencode
node scripts/client-config.js standard-json

脚本会打印配置,不会动你的文件。客户端配置 涵盖了经过测试的客户端、它们的配置文件位置,以及通用的 stdio 形式。使用 omp 作为 MCP 服务器名称。

连接后要测试一次真实的任务派发:

npm run check:worker

给它安排有用的工作

当任务有清晰的边界、能返回结果而不是做最终决策时,OMP worker 最有用。几个例子:

  • 搜索一个仓库并解释某个子系统是如何工作的。

  • 审查一个模块的 bug 或安全问题。

  • 运行测试套件,调查失败原因,并报告可能的原因。

  • 比较几个文件,或起草一版初稿实现。

把独立的任务一起启动。把最终编辑、产品判断和给用户的答复留在父代理里。

支持 skill 或 rules 的客户端可以安装 SKILL.md。其他客户端可以直接使用 MCP 工具描述。

一次 run 调用长这样:

{
  "prompt": "Review the authentication module for concrete security issues. Return findings with file paths and line numbers.",
  "cwd": "/path/to/project",
  "agent": "reviewer",
  "role": "slow"
}

worker 通过 OMP 的非交互打印模式运行。它不会接管你已经打开的 OMP TUI 窗口。

使用你自己的模型和代理

这个桥接器不会维护第二套模型注册表。在 OMP 里添加或修改模型即可,你的提供商配置和认证本来就在那里。

例如,在 ~/.omp/agent/config.yml 的块形式 modelRoles 映射中添加角色:

modelRoles:
  task: your-provider/fast-model
  slow: your-provider/reasoning-model
  designer: your-provider/vision-model

重启 MCP 客户端并调用 roles。新名称就可以直接用作 run.role 了;服务器不需要改任何代码。

自定义 OMP 任务代理也是一样的方式。在 OMP 的代理目录中添加一个,重启客户端,调用 agents,然后用它的名称作为 run.agent。

连接另一个 MCP 客户端

服务器使用本地 stdio MCP。在大多数客户端中,命令是:

node /absolute/path/to/omp-worker-mcp/src/server.js

node scripts/client-config.js standard-json 可以给你一个起点。如果某个客户端期望不同的配置结构,在 scripts/client-config.js 里加一个小渲染器,在 examples/ 下放一个干净的示例,再在 客户端配置 里加一行。你不需要碰服务器。

访问与隐私

本项目假设是可信的单用户机器。OMP worker 以无人值守方式运行,拥有与你本地用户相同的文件和命令权限。

每次 run 调用都必须传入一个已存在的绝对 cwd,这样 worker 就不会漂移到 MCP 客户端的启动目录。你家目录下的项目、外部卷和客户端 worktree 都可以直接使用,无需额外设置。如果你想限制任务只能访问特定根目录,可以设置 OMP_WORKER_ALLOWED_ROOTS;这是一个可选的允许列表,不是沙箱。

私有的 OMP skills 和 rules 默认保持关闭,除非某次调用显式启用。服务器会向 worker 传递一小部分环境变量,并默认隐藏模型映射和本地代理路径。

提示词和结果保存在 ~/.omp/omp-worker-mcp/jobs/ 下。它们可能包含源代码。如果本地用户权限对你的项目来说范围太宽,请使用容器、操作系统沙箱或受限账户。客户端配置 记录了环境和凭据行为。

开发

npm run check

测试套件覆盖了配置解析、生成的客户端配置、两种受支持的 MCP 帧格式、任务生命周期,以及一个模拟的 OMP 进程。npm run check:worker 会添加一次真实的 OMP 派发。

当前版本支持本地 stdio、分离任务、角色和代理发现、取消以及结果保存。Token 流式传输、远程传输、实时 TUI 控制和自动任务清理不在当前范围内。

许可证

MIT

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers