mcpField
F
ForgingStack Quorum

ForgingStack Quorum

本地服务
github.com/jdkabattlesAI 与智能体05 天前更新

关于 ForgingStack Quorum

ForgingStack Quorum 是面向需要人工授权的 Agent 的公开 MCP 客户端,连接到私有审批服务。服务收集指定数量的邮件审批后,生成哈希链回执。

主要功能

  1. 01创建并指定审批人的提案
  2. 02设置所需审批数和到期时间
  3. 03通过一次性邮件链接审批
  4. 04拒绝待处理提案
  5. 05查询提案、额度和回执

适用场景

  1. 01部署构建前要求审批
  2. 02在审批达到法定人数后记录回执

MCP 相关

它通过 stdio 以 MCP 服务形式运行,并封装私有服务。提供创建提案及查询提案状态、额度和回执的工具。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"jdkabattles-forgingstack-quorum": {
"command": "uvx",
"args": [
"forgingstack-quorum"
],
"env": {
"FORGINGSTACK_API_BASE": "<FORGINGSTACK_API_BASE>",
"FORGINGSTACK_API_KEY": "<FORGINGSTACK_API_KEY>"
}
}
}
}
启动命令uvx forgingstack-quorum
需要配置的环境变量
FORGINGSTACK_API_BASEQuorum API base URL. Live default.
FORGINGSTACK_API_KEY密钥API key for Quorum. Sign up via POST /v1/signup (key shown once).

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

安装包
pypiforgingstack-quorum0.1.0

工具

4

收录的工具列表 · 更新于 5 天前

参数类型必填说明
actionstring是待审批的操作,不得为空,最多 500 个字符。
approversarray是审批者的电子邮件地址(人数至少达到 required_approvals)。
expires_atstring是提案到期时间,使用 ISO 8601 格式,必须晚于当前时间。
mandate_refstring否可选的授权引用,最多 500 个字符。
required_approvalsinteger是达到法定人数所需的审批数(至少为 1)。

详细介绍

ForgingStack Quorum

在 Agent 独自行动之前,先取得足够批准。一项提案、N 份批准、一份回执。

mcp-name: io.github.jdkabattles/forgingstack-quorum

这是 Quorum 的公共客户端。服务本身—— 审批流程、回执链、密钥存储和计费—— 运行在 ForgingStack 的私有服务上,不在此仓库中。 复制此仓库并不能让你获得该服务:你仍需要 API 密钥和额度, 可通过下方注册获取。

在线 API:https://forgingstack-quorum.jkbattles.workers.dev

工作原理

  1. 提交一项操作提案,指定审批人,并设置所需的 批准数(N)和提案的过期时间。
  2. 每位审批人都会收到一封包含一次性链接的邮件。批准免费。
  3. 达到法定人数后,提案获批,并生成一份哈希链式回执。 如果提案先过期,则会过期——不会生成回执,之后也无法 再批准该提案。
  4. 你也可以自行拒绝待处理的提案。

它不会做的事:判断某项操作是否明智、合法或 安全。Quorum 只负责取得足够批准——其余由审批人决定。

注册

curl -X POST https://forgingstack-quorum.jkbattles.workers.dev/v1/signup \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]"}'

返回一个 API 密钥(仅显示一次)和 100 个初始额度。请立即保存密钥, 因为系统只存储其哈希,之后无法再次显示。在密钥可以创建提案之前, 请点击注册邮件中的验证链接(如果没有收到邮件,请检查垃圾邮件,或 使用 POST /v1/verify/resend)。

创建提案

curl -X POST https://forgingstack-quorum.jkbattles.workers.dev/v1/proposals \
  -H "X-API-Key: YOUR_PRIMARY_KEY" -H "Content-Type: application/json" \
  -d '{"action":"deploy the new build","approvers":["[email protected]","[email protected]"],"required_approvals":2,"expires_at":"2027-01-01T00:00:00Z"}'

返回提案(201),其中包含其审批状态以及已发送的 审批邮件。使用 GET /v1/proposals/{id} 获取提案, 使用 GET /v1/proposals 列出你的提案,使用 POST /v1/proposals/{id}/reject 拒绝待处理的提案。 审批人通过点击邮件中的链接批准提案——每个链接 只能使用一次。回执生成后,可通过 GET /v1/receipts/{id} 获取。

使用方法(MCP、stdio)

设置密钥,然后运行此仓库中的 MCP 服务:

export FORGINGSTACK_API_KEY="your-key-here"
python -m app.mcp_server

工具:create_proposal、get_proposal、get_credits、get_receipt。 何时使用以及何时不使用,请参阅 SKILL.md。

价格

每项提案消耗 1 个额度。批准免费。注册时赠送 100 个初始额度。 通过 POST /v1/billing/checkout(Payment Link)支付 $10 可购买 1,000 个额度。 付款验证后额度到账——通常在一小时内。

此仓库中的文件

  • app/mcp_server.py — MCP 包装客户端(stdio,仅使用标准库)
  • SKILL.md — 何时使用以及如何解读结果
  • agent-card.json — A2A 风格的发现卡片
  • server.json — MCP Registry 元数据
  • pyproject.toml — MCP 客户端的软件包元数据
  • llms.txt — 供语言模型读取的简短索引

评论

支持 Markdown

第一次接触 MCP?

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

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