SuperAPI AI 工具集

openterms-mcp

openterms-mcp 是一个面向 AI 智能体的 MCP 服务器,在智能体执行外部操作前为其签发加密同意收据。项目提供三层能力:Ed25519 签名的收据(使用 RFC 8785 规范化 JSON、SHA-256 哈希)、策略引擎(每日支出上限、操作类型白名单、升级阈值,未通过策略的操作不会获得收据),以及提供商验证(API 提供方注册条款 URL,并在提供服务前通过公开 GET 接口验证智能体同意)。收据签发免费,无需钱包、押金或付款。可自行托管(SQLite、Flask、Docker 均可)或使用托管实例。附带 10 个工具的 MCP 服务器,供智能体调用。

访问官网

工具介绍

用途

Openterms 位于 AI 智能体与其执行的操作之间,用于证明智能体同意了什么、并控制它被允许做什么。它由三层组成:收据(Receipts)、策略引擎(Policy Engine)和提供商验证(Provider Verification)。

主要能力

  • 收据:在智能体调用 API 之前,它会获得一份 Ed25519 签名的收据。采用 RFC 8785 规范化 JSON、SHA-256 哈希和真实加密。任何人都可以用公钥验证,无需 API 密钥,也无需信任服务器。
  • 策略引擎:支持每日支出上限、操作类型白名单、升级阈值。策略引擎在收据签名之前进行评估,被拒绝的操作永远不会获得收据。
  • 提供商验证:API 提供商注册其条款 URL,并在处理请求前验证智能体同意。只需一次公开 GET 调用,交易双方都信任该证明。

使用方式

快速开始(60 秒获得第一份收据):

git clone https://github.com/jstibal/openterms.git cd openterms pip install flask pyjwt cryptography pyyaml bash quickstart.sh

或使用 Docker:

git clone https://github.com/jstibal/openterms.git cd openterms docker compose up --build

在另一个终端运行:

bash quickstart.sh

收据签发是免费的,无需钱包、押金或付款。

自托管

方式一:直接运行

pip install flask pyjwt cryptography pyyaml python run.py

服务器位于 http://localhost:5000

方式二:Docker

docker compose up --build

方式三:将 MCP 服务器指向你的实例

export OPENTERMS_API_URL=http://localhost:5000 python openterms_mcp_server.py

所有内容都在本地运行。使用 SQLite 数据库,无外部依赖。

托管服务

如果不想自托管,可使用 openterms.com 的托管实例——相同的开源代码,由官方托管。

MCP 服务器

为 AI 智能体提供 10 个工具:

  • issue_receipt:在任何操作前签发签名收据,并附带提供商验证头
  • verify_receipt:验证收据的加密完整性(公开)
  • verify_receipt_by_hash:通过规范化哈希查找并验证(公开)
  • check_balance:工作区余额
  • get_pricing:每份收据的定价列表
  • list_receipts:最近的收据
  • get_policy:当前生效的护栏——启动时调用
  • simulate_policy:预检查:该操作是否会被允许?
  • policy_decisions:每次允许/拒绝/升级的审计记录
  • provider_activity:你的 API 的收据统计(提供商认证)

MCP 配置:

{ "mcpServers": { "openterms": { "command": "python3", "args": ["openterms_mcp_server.py"], "env": { "OPENTERMS_API_URL": "https://openterms.com", "OPENTERMS_API_KEY": "openterms_your_key_here" } } } }

提供商验证如何工作

Agent → Openterms → API Provider 流程:

  1. Agent 调用 issue_receipt,获得收据 + headers
  2. Agent 将 X-Openterms-Receipt header 包含在 API 调用中
  3. 提供商调用 GET /v1/receipts/verify/{hash}(公开,无需认证)
  4. 有效则提供服务;无效则拒绝。

核心方法:

  • POST /v1/receipts(Bearer):签发签名收据
  • POST /v1/receipts/verify(无):验证收据
  • GET /v1/receipts/verify/{hash}(无):按哈希验证
  • GET /v1/receipts(Bearer):列出收据
  • GET /.well-known/jwks.json(无):公开签名密钥

策略引擎方法:

  • GET /v1/policy(Bearer):当前策略
  • PUT /v1/policy(Admin):创建/更新策略
  • POST /v1/policy/simulate(Bearer):测试假设操作
  • GET /v1/policy/decisions(Bearer):决策审计记录

提供商验证方法:

  • POST /v1/providers(无):注册为提供商
  • POST /v1/providers/verify(Provider):验证域名
  • GET /v1/provider/stats(Provider):收据统计
  • GET /v1/provider/receipts(Provider):最近收据

架构

openterms/ ├── app.py # Flask API(1135 行) ├── db.py # SQLite 数据库(15 张表) ├── openterms_mcp_server.py # MCP 服务器 + CLI(10 个工具) ├── core/ │ ├── canonical.py # RFC 8785 规范化 │ └── signing.py # Ed25519 签名 + JWKS ├── services/ │ ├── receipt_service.py # 收据管线 │ ├── ledger_service.py # 余额跟踪 │ └── policy_engine.py # 规则评估 ├── tests/ │ ├── test_core.py # 80 个测试 │ └── test_mvp3.py # 40 个测试 ├── Dockerfile ├── docker-compose.yml ├── quickstart.sh └── .env.example

共 120 个测试通过(80 核心 + 40 提供商验证)。

阶段状态

  • MVP1(已发布):签名收据——记录发生了什么
  • MVP2(已发布):策略引擎——强制执行允许的操作
  • MVP3(已发布):提供商验证——双方都信任该证明
  • ORS 规范(进行中):开放收据规范——可移植格式
  • 集成(进行中):LangChain、CrewAI 单行回调
  • MVP4(计划中):收据链、智能体认证

许可

Apache 2.0,见 LICENSE。版权所有 2026 Staticlabs Inc.

限制

以上资料未提供关于定价、收费、平台兼容性、性能指标或效果保证的具体说明。ORS 规范、框架集成和 MVP4 尚在进行或计划中,暂未提供完成时间。