mcpField
F
ForgingStack Mandate Check

ForgingStack Mandate Check

本地服务
github.com/jdkabattles安全01 周前更新

关于 ForgingStack Mandate Check

ForgingStack Mandate Check 是供 Agent 使用的公开 MCP 客户端,用于核验操作是否符合授权范围。它检查 Agent、委托人、有效期和允许的操作,并返回原因及哈希链收据;决策服务独立运行。

主要功能

  1. 01核验 Agent 和委托人身份
  2. 02验证授权有效期
  3. 03检查允许的操作
  4. 04返回原因和链式收据
  5. 05管理额度和 Agent 子密钥

适用场景

  1. 01Agent 执行操作前核验权限
  2. 02查看授权检查通过或失败的原因
  3. 03分配和撤销 Agent 子密钥

MCP 相关

stdio MCP 服务提供 `check_mandate`、`get_credits` 和 `get_receipt`。它调用 ForgingStack 托管服务,使用时需要 API 密钥和额度。

配置

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

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

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

安装包
pypiforgingstack-mandate-check0.2.1

工具

3

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

参数类型必填说明
actionstring是
mandateobject是
mandate.scopestring否
mandate.agent_idstring是
mandate.principalstring是
mandate.expires_atstring是
mandate.allowed_actionsarray是
agent_idstring是
principalstring是
idempotency_keystring否

详细介绍

ForgingStack 授权检查

在 Agent 执行操作前,先检查其授权范围。一次调用,一张回执。

mcp-name: io.github.jdkabattles/forgingstack-mandate-check

这是 Mandate Check 的公共客户端。服务本身—— 决策逻辑、回执链、密钥存储和计费—— 运行在 ForgingStack 的私有服务上,不在此仓库中。 复制此仓库并不能获得服务:你仍需通过下方的注册获取 API 密钥和额度。

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

按顺序检查的内容

  1. 授权中的 Agent 与发起调用的 Agent 是否匹配
  2. 授权中的主体是否与 Agent 代表其行事的主体匹配
  3. 授权到期时间是否可解析且尚未到期
  4. 操作是否属于授权允许的操作

无论通过还是未通过,你都会收到原因和一张哈希链式回执。

它不会做的事:判断操作是否明智、合法或 安全。它只检查授权是否匹配。

注册(v1)

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

返回一个 API 密钥,仅显示一次,以及 100 点初始额度。请 立即保存密钥——系统只存储其哈希,之后无法再次显示。 电子邮件验证仍在等待中,额度包计费也尚未上线, 因此 v1 暂不支持购买流程。

Agent 子密钥

已注册的人类用户可以为每个 Agent 创建密钥,并设置额度上限,也可撤销:

curl -X POST https://forgingstack-mandate-check.jkbattles.workers.dev/v1/keys \
  -H "X-API-Key: YOUR_PRIMARY_KEY" -H "Content-Type: application/json" \
  -d '{"agent_name":"my-agent","credits":20}'

使用 GET /v1/keys 列出密钥,使用 DELETE /v1/keys/{id} 撤销密钥—— 撤销后,未使用的额度将退回主账户。

使用方法(MCP、stdio)

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

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

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

价格

每次检查调用消耗 1 点额度。即使决策未通过,也仍消耗 1 点额度—— 因为检查已执行。幂等重放(相同的 Idempotency-Key)免费,并返回原始回执。

此仓库中的文件

  • app/mcp_server.py — MCP 包装客户端(stdio,仅使用标准库)
  • SKILL.md — 使用时机以及如何解读通过/未通过结果
  • agent-card.json — A2A 风格的发现卡片
  • server.json — MCP Registry 元数据(发布到 PyPI 前为草稿)
  • pyproject.toml — MCP 客户端的包元数据

评论

支持 Markdown

第一次接触 MCP?

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

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