mcpField
S
soma

soma

本地服务
github.com/medianemi-beep开发工具010 周前更新

关于 soma

soma 是面向开发者和编码 Agent 的 MCP 服务,可生成代码,并在隔离沙箱中运行测试来检查候选代码。其 Ed25519 签名证书可离线验证;无法验证的代码会标记为未认证。

主要功能

  1. 01在沙箱中运行候选代码测试
  2. 02生成代码并在返回前测试
  3. 03提供可离线验证的签名证书
  4. 04支持 15 种以上语言的验证
  5. 05明确标记无法验证的代码

适用场景

  1. 01用输入输出示例检查函数
  2. 02验证程序的标准输入和输出
  3. 03依据签名测试结论审查生成代码

MCP 相关

提供 soma_verify_code,在沙箱中运行测试;以及 soma_generate_verified_code,生成代码后再进行测试。结果包含 PASS/FAIL 判定,验证通过时附带可离线检查的签名证书。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"medianemi-beep-soma": {
"command": "npx",
"args": [
"-y",
"soma-verify-mcp"
],
"env": {
"SOMA_API_KEY": "<SOMA_API_KEY>",
"SOMA_BASE_URL": "<SOMA_BASE_URL>"
}
}
}
}
启动命令npx -y soma-verify-mcp
需要配置的环境变量
SOMA_API_KEY密钥Optional Soma API key. A throttled public demo key is built in, so this is not required to try it. Free preview keys: [email protected].
SOMA_BASE_URLSoma API base URL. Defaults to the hosted Soma endpoint.

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

安装包
npmsoma-verify-mcp0.1.0

工具

2

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

参数类型必填说明
codestring是要验证的完整源代码。
modeenum否'function'(默认)或 'stdio'。function | stdio
testsarray是function 模式:[{input:[args], expected: value}]。stdio 模式:[{stdin:'...', expected_stdout:'...'}]。
languagestring是编程语言,例如 'python'、'javascript'、'go'、'rust'。
entrypointstring否要调用的函数名称(function 模式必需;stdio 模式省略)。

详细介绍

Soma MCP Server

为你的 AI Agent 提供它无法自行完成的一件事:实际运行代码并通过测试,证明代码通过了测试。

Soma 是一项经执行验证的代码服务。此 MCP 服务提供两个工具:

  • soma_verify_code — 在隔离沙箱中运行候选代码并执行测试;获取通过/失败判定,以及可离线验证的签名证书(Ed25519)。在信任代码之前,用它独立确认代码是否可用。
  • soma_generate_verified_code — 请 Soma 为某项任务编写代码;如果任务可验证,返回的代码已针对推导出的测试执行过,并附带证书。

支持验证 15 种以上语言(Python、JavaScript/TypeScript、Go、C/C++、Java、Rust、Ruby、PHP、Bash 等)。

安装

需要 Node.js 18+。通过 stdio 运行。

添加到 MCP 客户端配置中(Claude Desktop、Cursor 等):

{
  "mcpServers": {
    "soma": {
      "command": "npx",
      "args": ["-y", "soma-verify-mcp"],
      "env": {
        "SOMA_API_KEY": "YOUR_SOMA_KEY"
      }
    }
  }
}
  • Claude Desktop:选择 Settings → Developer → Edit Config,添加上方代码块,然后重启。
  • Cursor:选择 Settings → MCP → Add,或将相同的代码块放入 ~/.cursor/mcp.json。

配置

环境变量必需默认值用途
SOMA_API_KEY是—你的 Soma API 密钥。
SOMA_BASE_URL否https://170-9-236-56.sslip.ioSoma API 基础 URL。
SOMA_TIMEOUT_MS否300000单次请求超时时间。

获取免费预览密钥:联系 [email protected](预览期间提供免费套餐)。

工具

soma_verify_code

运行代码并执行测试,返回签名判定。

  • language(字符串)— 例如 python、javascript、go、rust。
  • code(字符串)— 要验证的完整源代码。
  • tests(数组)— 以下两种之一:
    • 函数模式(默认):[{ "input": [arg1, arg2], "expected": value }],并提供 entrypoint(函数名称)。
    • stdio 模式:设置 mode: "stdio",并使用 [{ "stdin": "...", "expected_stdout": "..." }];无需提供入口点。
  • entrypoint(字符串,可选)— 函数模式下的函数名称。
  • mode("function" | "stdio",可选)。

返回:verdict、tests_passed、tests_total,以及可供离线验证的 signature / public_key / sig_alg。

soma_generate_verified_code

为某项任务生成代码,并在返回前针对推导出的测试执行代码。

  • prompt(字符串)— 编码任务。请提供具体的输入/输出示例(例如 >>> f(2) == 4),以便验证结果,而不是尽力生成。
  • max_tokens(整数,可选,默认 1500)。

返回:代码、certified(布尔值),以及验证通过时附带的 certificate(verdict、tests_passed、tests_total)。如果任务无法验证,则返回未认证且有明确标注的结果,绝不会虚假地声称“已验证”。

证书的含义

证书证明所列测试在生成时已于隔离沙箱中通过。证书使用 Ed25519 签名,可使用随结果返回的公钥进行离线验证。证书不构成对任何用途适用性的保证 — 投入生产使用前请检查输出。

隐私

不会使用你的提示词进行训练。请参阅 Soma 隐私与数据政策:${SOMA_BASE_URL}/privacy。

许可证

MIT。

评论

支持 Markdown

第一次接触 MCP?

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

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