mcpField
A
actionforge

actionforge

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

关于 actionforge

actionforge 是 MCP 桥接服务,可将 ActionForge 账户中的工具提供给 Claude 和其他 MCP 客户端。它将账户工具映射为 MCP 列表与调用,并缓存工具列表 30 秒。

主要功能

  1. 01通过 tools/list 列出账户工具
  2. 02通过代理 URL 调用工具
  3. 03缓存工具列表 30 秒
  4. 04将工具故障作为可恢复结果报告

适用场景

  1. 01在 Claude Desktop 中提供 ActionForge 工具
  2. 02通过 MCP 客户端调用账户工具

MCP 相关

该服务通过 stdio 向 MCP 客户端提供 ActionForge 账户工具。它将 tools/list 映射到 GET /api/tools,并将 tools/call 映射到相应代理 URL。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"pritas-actionforge": {
"command": "npx",
"args": [
"-y",
"actionforge-mcp"
],
"env": {
"ACTIONFORGE_API_KEY": "<ACTIONFORGE_API_KEY>",
"ACTIONFORGE_URL": "<ACTIONFORGE_URL>"
}
}
}
}
启动命令npx -y actionforge-mcp
需要配置的环境变量
ACTIONFORGE_API_KEY密钥Your ActionForge API key. Generate one from the ActionForge API or dashboard.
ACTIONFORGE_URLBase URL of your ActionForge deployment. Defaults to the hosted service if unset.

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

安装包
npmactionforge-mcp1.0.3

工具

还没有获取到工具列表

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

详细介绍

ActionForge MCP 服务

npm

将 ActionForge 账号中的工具发布给任何 MCP 客户端使用——Claude Desktop、Claude Code,或任何支持 Model Context Protocol 的客户端。

ActionForge 可将一段描述和一对 JSON Schema 转换为托管 API 端点。你只需描述所需的函数,它便会生成实现、将其部署为无服务器函数,并返回经过验证的 URL。每个工具都是输入的纯函数——生成的代码会在部署前接受扫描,如果访问网络或在运行时执行代码,就会被拒绝。

此软件包是 MCP 桥接层:你的端点会变成 Claude 可直接调用的工具。它没有运行时依赖——仅使用 stdio、fetch,总共约 500 行代码。

在 pritas.github.io/actionforge_ui 获取 API 密钥。

映射关系几乎一一对应,因此这个封装很轻量:ActionForge 工具本身就是 MCP 工具——包含名称、描述、输入 JSON Schema 和输出 JSON Schema。tools/list 会读取 GET /api/tools;tools/call 会向工具的代理 URL 发送请求。

此实现直接依据 2025-06-18 协议架构,而非通过 SDK 实现。这样安装时只需一个软件包,且没有任何下层依赖;所有分支都能在离线状态下测试——npm run smoke 会通过 stdio 对一个关闭的端口运行已编译的服务,因此无需账号即可检查握手、通知所需的静默行为以及传输故障处理。

安装

npx actionforge-mcp

没有运行时依赖——整个服务仅使用 stdio、fetch,总共约 500 行代码。除了 Node 20.12+,无需安装其他内容。

若要从此仓库的本地检出版本安装:

npm install
npm run build
node dist/server.js

配置

export ACTIONFORGE_URL=https://your-deployment.example.com
export ACTIONFORGE_API_KEY=af_...        # from POST /api/signup, or npm run keygen
npx actionforge-mcp

所有已发布的内容都限定在该密钥对应的账号范围内。换用其他密钥,就会发布另一个租户的工具——API 会强制实施此范围限制,因此 MCP 服务无法访问该范围之外的内容。

传输方式为 stdio,使用以换行符分隔的 JSON。stdout 仅承载协议帧;所有日志都发送到 stderr,因为其他内容会破坏客户端正在解析的数据流。

Claude Desktop

claude_desktop_config.json:

{
  "mcpServers": {
    "actionforge": {
      "command": "npx",
      "args": ["-y", "actionforge-mcp"],
      "env": {
        "ACTIONFORGE_URL": "https://your-deployment.example.com",
        "ACTIONFORGE_API_KEY": "af_..."
      }
    }
  }
}

Claude Code

claude mcp add actionforge \
  --env ACTIONFORGE_URL=https://your-deployment.example.com \
  --env ACTIONFORGE_API_KEY=af_... \
  -- npx -y actionforge-mcp

如何报告故障

本服务严格遵循协议对以下情况的区分,因为这决定了模型能否自行恢复:

情况报告为原因
参数未通过工具的 input_schema 验证(400)isError: true 的结果模型可以读取验证详情并修正调用
工具尚未就绪(503)isError: true 的结果暂时性故障——稍后重试
请求过于频繁(429)isError: true 的结果包含需要等待的时长
工具已运行,但未通过自身的 output_schema 验证(502)isError: true 的结果,并在工具中标记为故障问题不在模型提供的参数
工具不存在(404)或工具名称未知JSON-RPC 错误模型无法修正;客户端应重新列出工具
无法连接到 ActionForgeJSON-RPC 错误 -32603传输故障,不是工具结果

凡是模型能够采取行动的内容,都会保留在结果中,供模型查看。只有真正异常的情况才会成为协议错误。

缓存

工具列表会缓存 30 秒;一旦发现某个工具已不存在,就会立即清除缓存——因此,已删除的工具会在下一次列出时消失,而不会一直保留到 TTL 过期。

发布

npm run build && npm run smoke
npm publish --access public

dist/ 已加入 gitignore——它是构建产物,会由 prepublishOnly 重新构建,因此 npm 收到的始终是从已提交的源代码编译而来。

每次发布前都要提升 version;npm 不允许覆盖已发布的版本。

评论

支持 Markdown

第一次接触 MCP?

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

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