mcpField
C
cinch

cinch

本地服务
github.com/yusufkadry开发工具014 周前更新

关于 cinch

cinch 是面向 AI 助手的 MCP 服务,可在 Cinch 基础设施的 gVisor 隔离容器中执行 Python 或 JavaScript 代码。它返回实际输出,且每次运行使用独立沙箱,不接触本机文件系统或网络。

主要功能

  1. 01执行 Python 和 JavaScript
  2. 02在 gVisor 隔离容器中运行
  3. 03返回标准输出、错误和退出码
  4. 04每次运行使用独立沙箱
  5. 05限制网络、文件和资源访问

适用场景

  1. 01验证生成代码的实际输出
  2. 02在隔离环境中运行不可信代码
  3. 03执行仅使用标准库的代码片段

MCP 相关

该 MCP 服务向客户端提供 `execute_code` 工具,用于运行 Python 或 JavaScript 程序并返回执行结果。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"yusufkadry-cinch": {
"command": "npx",
"args": [
"-y",
"@cinch-codes/mcp"
],
"env": {
"CINCH_API_KEY": "<CINCH_API_KEY>"
}
}
}
}
启动命令npx -y @cinch-codes/mcp
需要配置的环境变量
CINCH_API_KEY密钥Cinch API key from cinch.codes

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

安装包
npm@cinch-codes/mcp0.1.1

工具

1

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

参数类型必填说明
codestring是仅使用标准库编写完整且独立的程序。必须将结果打印到 stdout。
languageenum否用于执行代码的运行时。Python 3.12 或 Node 20。python | javascript

详细介绍

@cinch-codes/mcp

适用于 Cinch 的 MCP 服务。为你的 AI 助手提供真正的代码运行沙箱。

没有它,助手只能编写代码,再由你亲自运行。有了它,助手就能运行代码并读取实际输出——在 Cinch 基础设施上由 gVisor 隔离的容器中执行,无法访问你的机器、文件系统或本地网络。

按执行次数付费。没有订阅起步价。

设置

在 cinch.codes 获取 API 密钥,然后将服务添加到你的 MCP 客户端。

Claude Desktop — claude_desktop_config.json:

{
  "mcpServers": {
    "cinch": {
      "command": "npx",
      "args": ["-y", "@cinch-codes/mcp"],
      "env": {
        "CINCH_API_KEY": "cinch_live_..."
      }
    }
  }
}

Windows 上的 Claude Desktop — 使用同一个文件,但 Windows 无法直接启动 npx,因此要用 cmd /c 包装:

{
  "mcpServers": {
    "cinch": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@cinch-codes/mcp"],
      "env": {
        "CINCH_API_KEY": "cinch_live_..."
      }
    }
  }
}

Claude Code(macOS/Linux):

claude mcp add --scope user cinch -e CINCH_API_KEY=cinch_live_... -- npx -y @cinch-codes/mcp

Claude Code(Windows):

claude mcp add --scope user cinch -e CINCH_API_KEY=cinch_live_... -- cmd /c npx -y @cinch-codes/mcp

Cursor — .cursor/mcp.json,格式与上方的 Claude Desktop 配置相同。

重启客户端即可。无需安装,npx 会在首次运行时获取它。

提供的功能

execute_code

运行独立的 Python 或 JavaScript 程序,并返回 stdout、stderr、退出代码和运行时长。

参数类型默认值描述
codestring—要运行的完整程序。必须向 stdout 打印内容才会有返回值。
languagepython | javascriptpython要执行的运行时。

每次调用都会获得一个干净的沙箱。状态不会在调用之间保留,因此每段代码都必须能够独立运行。

沙箱环境

刻意保持精简。遇到导入失败时,以下信息值得了解:

运行时Python 3.12、Node 20
包仅限标准库。 未安装 pip 或 npm 包,运行时也无法安装。
网络无。 HTTP、DNS 和安装软件包都会失败。
文件系统根目录为只读。/tmp 可写(64 MB),运行结束时会被清空。
内存256 MB
CPU0.5 核
时间限制10 秒
隔离gVisor(runsc),移除所有功能权限、启用 no-new-privileges、使用非 root 用户、最多 64 个进程

工具描述会预先向模型说明所有这些限制,因此它会编写仅使用标准库的代码,而不是尝试使用 numpy,并在首次调用时就失败。

配置

变量必需默认值描述
CINCH_API_KEY是—你的 Cinch API 密钥。
CINCH_TIMEOUT_MS否20000客户端超时时间,单位为毫秒。无论如何,API 都会将执行时间限制在 10 秒。
CINCH_BASE_URL否https://api.cinch.codes覆盖 API 端点。

故障排查

Windows:“Failed to connect” 出现在 claude mcp list 中 — 你缺少 cmd /c 包装。Windows 会将 npx 解析为无法直接启动的批处理脚本;请使用上方的 Windows 命令重新添加服务。

Windows:npm error ENOENT ... AppData\Roaming\npm — 有些 Node 安装不会创建 npm 的全局目录,而 npx 没有这个目录就无法运行。创建一次后重试:

mkdir %APPDATA%\npm

服务立即退出并显示 “CINCH_API_KEY is not set” — 环境变量没有传递给服务。在 Claude Code 中,将 -e CINCH_API_KEY=... 放在 claude mcp add 的服务名称之前。在配置文件中,请检查 env 块是否位于 cinch 条目内。

排查任何连接失败 — 直接运行服务,以查看实际错误,而非通用状态信息:

CINCH_API_KEY=cinch_live_... npx -y @cinch-codes/mcp   # macOS/Linux
set CINCH_API_KEY=cinch_live_... && cmd /c npx -y @cinch-codes/mcp   # Windows

正确的行为是显示 cinch-mcp ... ready,随后保持静默——MCP 服务会等待客户端连接。其他任何输出都表示实际故障。

为什么要使用沙箱执行

模型编写的代码是不可信代码——运行之前没有人审核过它。在你的机器上直接执行,就等于把你的文件系统、网络和凭据交给它。Cinch 会在完全不同的位置执行代码,使用具有内核级隔离的一次性容器,并且只将输出发回。

注意事项

  • 需要 Node 18 或更高版本。
  • 为保护上下文窗口,每个流的输出上限为 20,000 个字符;超出部分会被截断并附带标记。
  • 超时或以非零状态退出的运行会作为工具错误返回,以便助手知道代码执行失败并进行修正。
  • 余额不足时会明确显示响应,并指示助手不要重试,以免余额耗尽导致重试循环。

链接

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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