mcpField
O
omega-mcp

omega-mcp

本地服务
github.com/aien-dev其他0今天更新

关于 omega-mcp

omega-mcp 是面向 Omega 开发 Agent 的 MCP 服务,使用固定版本编译器编译并在隔离沙箱中运行 `.om` 程序,也可查询语言关键词、错误和陷阱信息。

主要功能

  1. 01编译 Omega 源码
  2. 02在隔离沙箱中运行程序
  3. 03解释编译错误和运行陷阱
  4. 04搜索语言关键词与主题
  5. 05限制 CPU、内存和文件资源

适用场景

  1. 01检查 Omega 程序能否编译
  2. 02在资源限制下运行 Omega 示例
  3. 03理解编译错误或运行陷阱
  4. 04查找关键词的语法与示例

MCP 相关

通过 stdio 上的 JSON-RPC 将 compile、run、explain_error 和 lookup 暴露为 MCP 工具。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbomega-mcp-linux-arm64.mcpb0.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

omega-mcp

一个用 Omega 编写的 MCP 服务,可让 Agent 使用固定的种子编译器编译并运行 Omega(.om)程序,以及查询该语言。它通过标准输入输出,以换行符分隔的 JSON-RPC 2.0 消息进行通信,使用的协议版本为 2025-06-18。

固定版本:omega-mv e5b32567a7aff3ce594e3254a622a846a6cd190b,omc sha256 为 2c82480596bbdc50cda9626866209ef662d5834f278f839ff4ce0250c495029f。build.sh 会拒绝使用任何其他编译器,并且服务会在启动时再次检查其编译器的 sha256。

工具

工具参数结果
compilesourceok、二进制大小和 sha256,或编译错误 {line, code, meaning, fix}
runsource、stdin、timeout_ms(1..30000,默认 5000)编译结果、截断后的 stdout/stderr,以及退出情况:normal、trap(附带含义),或导致停止的限制:cpu_time、file_size、wall_clock、killed
explain_errorquery:错误代码 1..30、omc: line N: error K 这一行、trap T,或退出状态 101..114含义、原因、修复方法、最小示例,以及 omega-mv@e5b32567 中的引用
lookupquery:关键词、主题或子字符串条目(形式、元数、类型、结果、示例、引用),或最多 20 条搜索结果

编译诊断属于成功的工具结果(isError: false);如果无法运行任何内容(沙箱故障、编译阶段被拒绝),或 explain/lookup 未找到条目,则 isError 为 true。参数错误会返回 JSON-RPC 错误(-32602)。

隔离

每个 compile 和 run 阶段都会创建一个新的 /tmp/omega-mcp-<16 hex> 目录(模式 0700,并在回复后删除),并在 bwrap --unshare-all --clearenv 下运行。沙箱只能看到编译器或程序(只读)、其沙箱内的清理程序,以及一个 16 MiB 的 tmpfs 工作目录:无网络、无主机文件、环境为空。prlimit 会在沙箱启动前应用资源限制,服务则会在达到墙钟时间限制时终止整个沙箱。

阶段CPU地址空间文件大小进程数墙钟时间
run10 s256 MiB1 MiB5timeout_ms(默认 5 s,最长 30 s)
compile20 s512 MiB16 MiB420 s

两个阶段还会限制最多打开 64 个文件,并禁用核心转储。--test-only-no-isolation 会关闭所有这些限制,仅用于让信任门验证其能检测到逃逸;切勿将此选项交给 Agent。

构建和使用

OMEGA_SRC=/path/to/omega-mv ./build.sh      # omega-mv checkout at e5b32567 with seed/out/omc built
build/omega-mcp                              # reads JSON-RPC on stdin; logs one line per request on stderr

服务会从可执行文件所在目录加载 data/reference.json 和 data/examples/。启动退出代码:2 表示参数错误,3 表示编译器与固定版本不符,4 表示数据缺失,5 表示缺少 bwrap/prlimit。mcp.json 是一个客户端配置示例;请将其 command 指向 build/omega-mcp。

检查门

python3 gates/smoke.py      # MCP client session; transcript in evidence/smoke-transcript.jsonl
python3 gates/trust.py      # trust boundary: 4 attacks plus negative controls; evidence/trust-gate.json
python3 tools/check-reference.py --omega-src $OMEGA_SRC --omc $OMEGA_SRC/seed/out/omc --self-test

trust.py 通过 run 工具尝试读取 ~/.local/state 下的金丝雀文件、执行 fork 炸弹、无限循环和 10 GiB 写入,并要求每项操作都被拒绝或终止,且不留下任何进程。第二个使用 --test-only-no-isolation 启动的服务会运行这些攻击的有界版本,并且必须能观察到它们成功;因此,无法检测逃逸的检查门会失败。check-reference.py 会从固定版本的源代码重新推导所有关键词、错误和 trap 条目,使用固定版本的 omc 编译并运行每个示例,并运行三个负向对照。

这些检查门是在 Linux arm64 上获得的主机验证证据(bubblewrap 0.9.0、util-linux 2.39.3);它们不能说明其他内核的情况,也不适用于 src/sandbox.om 之外的沙箱配置。

目录结构

  • src/*.om:服务(src/UNITS 列出串接顺序;build.sh 负责构建)
  • vendor/omega-mv/:从 omega-mv@e5b32567 原样复制的 sha256 和 JSON 单元
  • data/:参考数据和示例程序,由 tools/gen-reference.py 编写,并由 tools/check-reference.py 检查
  • gates/、evidence/:验证判定器及其记录结果
  • DEPENDENCIES.md:构建、运行和验证流程中用到的所有主机工具

许可证:Apache-2.0(参见 LICENSE 和 NOTICE)。

由人类主导的 Agentic 工程

开发遵循由人类主导的 Agentic 工程(HDAE):人类定义目标、架构、约束、验收标准和停止节点;Agent 在这些边界内进行实现、执行检查、诊断故障并修改。人类审核仍负责核实声明、验收和发布决策。这描述的是开发方法,并不表示运行时自主性或历史证据发生变化。

有关该方法的文档和一个系统软件案例研究,请参阅 Gregory M. Kurtzer(2026),Ginux: Building an Independent Kernel That Runs Linux Userspace through Human-Directed Agentic Engineering,技术报告,v1,Zenodo,https://doi.org/10.5281/zenodo.23682548。

评论

支持 Markdown

第一次接触 MCP?

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

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