RCO-A2A - Regulatory Compliance Objects

io.github.greencore-solutions由 GitHub 账号 greencore-solutions 发布v1.0.2更新于 Nov 2, 2026

Signed, deterministic compliance state per object per jurisdiction, resolved upstream

已验证Streamable HTTP可网页运行开发者工具安全与监控商业与电商

概览

AI 生成的概览

Record of Cleared Orders 的远程 MCP 服务器:为已放行的代理订单写入带签名、哈希链式回执,并按 decision ID 校验回执。

可以做什么
  • 写入已放行订单的回执,使用每位写入者专属的 Bearer 令牌认证,返回 decision ID 且对同一 ID 幂等
  • 按 decision ID 公开校验回执,返回回执本身、其在链中的位置、签名以及用于核验的公钥
  • 查看哈希链:每条回执都与前一条哈希相连,并由 Ed25519 办公室密钥签名
  • 读取早期账本时期的回执,这些回执带有不同的密钥 ID、空签名以及保存原始哈希的机密账本交易
适用场景
当助手或代理流程需要记录某个闸门已放行订单并生成可验证、防篡改的回执时使用;也适合需要核查已有回执及其链上位置的情形。
运行要求
远程 streamable HTTP 端点,无需本地包或运行时。写入回执需要 Authorization Bearer 写入者令牌,每位写入者一个。校验为公开操作。需要能访问该端点及公开密钥集。
安装前请注意
写入工具需要以 Authorization Bearer 头发送写入者令牌,应按写入者分别保管,避免放入共享配置。写入会向共享账本追加只增不改的记录,出错后无法修改或删除。回执与校验数据可按 decision ID 公开访问,账本由运营方持有并复制到其存储。

安装

在 SourceWeft 中

  1. 打开 控制台中的 RCO-A2A - Regulatory Compliance Objects,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.greencore-solutions%2Frco-a2a/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "rco-a2a-regulatory-compliance-objects": {
      "type": "http",
      "url": "https://mcp.rco-a2a.ai/mcp"
    }
  }
}

README

RCO-A2A — Record of Cleared Orders

RCO is the Record of Cleared Orders. A receipt is written when a gate clears an agentic order:

{decision_id, gtin, market, actor_class, rule_version, cleared_at, writer, prev_hash, hash, sig, kid}

Each receipt is hash-chained to the one before it and signed by the office key. Two tools, nothing else:

  • write_receipt — authenticated (Authorization: Bearer <writer token>, one token per writer), returns decision_id. Idempotent on decision_id.
  • verify_receipt(decision_id) — public, returns the receipt, its chain position, its signature and the key to check it.

Door: https://mcp.rco-a2a.ai/mcp (Model Context Protocol, streamable HTTP, stateless, JSON-RPC 2.0). Page and kit: https://rco-a2a.ai/. Verify URL: https://rco-a2a.ai/receipts/{decision_id}. Ledger held by the Agentic Private Office.

The chain

  • hash = sha256: + hex of SHA-256 over the canonical JSON of {actor_class, cleared_at, decision_id, gtin, market, prev_hash, rule_version, writer} — keys sorted, no whitespace, nulls kept.
  • The first receipt's prev_hash is sha256: + 64 zeros.
  • sig = Ed25519 (EdDSA) over the UTF-8 bytes of the hash string, base64url. kid names the key on https://rco-a2a.ai/.well-known/jwks.json (rco-office-2026-10).
  • Receipts loaded from the ledger era (2026-10-15 → 2026-10-27) carry kid gsc-rco-2026-08, sig null, and the Azure Confidential Ledger transaction that holds their original hash. Fields the ledger never held are null.

Connect

MCP client configuration (any client that speaks streamable HTTP):

json
{ "mcpServers": { "rco-a2a": { "type": "streamable-http", "url": "https://mcp.rco-a2a.ai/mcp" } } }

Verify one receipt from a shell:

bash
curl -s https://mcp.rco-a2a.ai/mcp -H 'content-type: application/json' -H 'accept: application/json' \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"verify_receipt","arguments":{"decision_id":"dec_b73fe75bff87ef889d8ca304"}}}'

or GET https://rco-a2a.ai/receipts/dec_b73fe75bff87ef889d8ca304.

Check a signature (Python):

python
import json, base64, requestsfrom cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PublicKeyr = requests.get("https://rco-a2a.ai/receipts/" + DECISION_ID).json()k = next(k for k in requests.get("https://rco-a2a.ai/.well-known/jwks.json").json()["keys"] if k["kid"] == r["receipt"]["kid"])pad = lambda s: s + "=" * (-len(s) % 4)Ed25519PublicKey.from_public_bytes(base64.urlsafe_b64decode(pad(k["x"]))).verify(base64.urlsafe_b64decode(pad(r["receipt"]["sig"])), r["receipt"]["hash"].encode())

Errors

Typed, inside the tool result (isError: true): not_authorised · invalid_receipt · invalid_decision_id · not_found · store_unavailable · store_error · chain_contention.

Source

worker/ — the Cloudflare Worker (index.js routes and kit, mcp.js the two tools, chain.js the record and its chain, export.js the nightly copy to the office's S3 bucket). schema.sql — the D1 table, append-only (triggers refuse UPDATE and DELETE). public/ — the office page and the five record pages. rails/ — the history loader and the D1 rail. No secret is in this repository.

MIT. © 2026 Agentic KG Holdings.

来源:README.md,提交 f1d7f04

工具

0
SourceWeft 尚未读取此服务器的工具。

版本历史

3
  1. v1.0.2最新Sep 17, 2026
  2. v1.0.1Sep 17, 2026
  3. v1.0.0Sep 16, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分