mcpField
X
Xaip

Xaip

本地服务
github.com/xkumakichi安全213 周前更新

关于 Xaip

Xaip 是面向 AI Agent 开发者和策略层的跨提供商执行证据层,可在委派工具前评估候选项。它记录双方签名的回执,并根据已验证的执行历史提供信任视图。

主要功能

  1. 01双方共同签名的 Ed25519 执行回执
  2. 02仅记录输入和输出的哈希
  3. 03基于已验证回执计算信任分数
  4. 04委派前为候选项排序
  5. 05通过 SDK 检查工具和 Agent 候选项

适用场景

  1. 01委派前查看工具执行历史
  2. 02依据执行证据筛选候选服务
  3. 03记录 MCP 或其他工具调用
  4. 04查看未评分候选项而不虚构信任

MCP 相关

Xaip 提供 MCP 服务,可用于列出服务、检查信任、选择候选项和报告回执。其回执系统也支持记录 MCP 工具调用的执行证据。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"xaip-protocol": {
"command": "npx",
"args": [
"-y",
"xaip-mcp-server"
]
}
}
}
启动命令npx -y xaip-mcp-server

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

安装包
npmxaip-mcp-server0.1.1

工具

10

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

参数类型必填说明
networkenum否testnet | devnet | mainnet

详细介绍

XAIP — AI Agent 工具调用的签名执行回执

委派前先获取证据。只需包装一次 Agent 的工具调用;今天即可在本地使用回执历史,日后还能将相同的签名回执作为可移植、可独立验证的证据共享。

XAIP 是面向 AI Agent 工具调用的、与提供商无关的签名执行证据层。它会记录共同签署的回执——执行 Agent 和调用方对同一份规范记录进行签名,因此任何一方都无法单方面伪造回执——覆盖 MCP、LangChain.js、兼容 OpenAI 的工具调用循环及其他运行时;随后提供历史执行证据,供 Agent、开发者或策略层在委派前检查。

回执是主要产物。信任评分是基于这些回执得出的视图之一,并非对绝对安全性或正确性的声称。

30 秒了解 XAIP
  • 机制——一次工具调用输入,一份回执输出。执行 Agent 和调用方对同一份规范记录签名(基于 JCS 的 Ed25519),因此任何一方都无法单方面伪造或否认回执。只传递输入/输出的哈希值;内容绝不会离开你的设备。
  • 第一天即可获得什么——可验证的历史记录,显示你自己的 Agent 工具实际执行了哪些操作,并可在下一次委派前查询(precheck())。单人使用也有价值;无需其他用户组成网络。
  • XAIP 不是什么——不是沙箱,不是审批引擎,不是支付通道,也不提供安全保证。它让执行证据清晰可见;由你决定信任什么。

选择深入程度: 3 分钟——生成你的第一份签名回执 · 10 分钟——自行验证格式:运行可执行一致性测试向量(node check.mjs,无需依赖),然后浏览其所依据的 Internet-Draft。

在委派前获取信任证据 — XAIP 演示

在线演示:三个候选服务并排比较启用和未启用 XAIP 时的情况。在浏览器中打开 →

从设计上就与提供商无关。 XAIP 是适用于任何可调用工具的 Agent 的信任层。参考实现和实时数据目前从 MCP(Model Context Protocol)开始——因为如今公开工具服务数量最多的正是 MCP——但回执格式、签名和评分同样适用于 LangChain 工具、OpenAI 函数调用、A2A 及专有 Agent 技术栈。MCP 是首个集成对象,而非唯一对象。

实时仪表板: https://xkumakichi.github.io/xaip-protocol/ — 当前公开的信任评分,自动刷新,无需身份验证。当前公开数据集以 MCP 为主,因为 MCP 是首个集成目标。

入口

立即试用

API 已上线。无需注册,也无需 API 密钥。

# Check trust score for a scored tool server
curl https://xaip-trust-api.kuma-github.workers.dev/v1/trust/context7

# Batch query
curl "https://xaip-trust-api.kuma-github.workers.dev/v1/trust?slugs=context7,sequential-thinking,filesystem"

# Decision engine: rank candidates by available execution evidence
curl -X POST https://xaip-trust-api.kuma-github.workers.dev/v1/select \
  -H "Content-Type: application/json" \
  -d '{"task":"Fetch React docs","candidates":["context7","sequential-thinking","unknown-server"]}'

/v1/select 响应会告诉你应使用哪个服务、原因,以及没有 XAIP 时会发生什么:

{
  "selected": "context7",
  "reason": "Highest trust among scored candidates based on current verified receipts",
  "rejected": [{ "slug": "unknown-server", "reason": "unscored — no execution evidence available" }],
  "withoutXAIP": "Random selection would pick an unscored server 33% of the time — no execution evidence available"
}

问题

没有信任分数,你的 Agent 就是在碰运气:

┌────────────────┬────────────────┬───────────┬──────────────┐
│ Strategy       │ Server Hit     │ Success   │ Latency      │
├────────────────┼────────────────┼───────────┼──────────────┤
│ With XAIP      │ context7       │ ✓         │ ~3s          │
│ Random         │ unknown-mcp    │ ✗ error   │ ~8s (wasted) │
│ Try all (seq)  │ 3 servers      │ 1/3       │ ~11s total   │
└────────────────┴────────────────┴───────────┴──────────────┘

XAIP 帮助 Agent 优先选择具有较强可用执行证据的候选项、酌情跳过未评分的候选项,并减少可避免的调用失败。

工作原理

1. Select    POST /v1/select → ranks candidates by available execution evidence
2. Execute   Your agent calls the selected tool server
3. Report    POST /receipts → signed execution receipt feeds back into trust scores

每条执行回执都经过 Ed25519 签名和验证。信任分数使用带有调用方多样性加权的贝叶斯模型计算,而非依赖自报指标。

快速开始 — 不到 5 分钟生成你的第一条签名回执

最快的方式是使用 Claude Code 钩子:你正常调用 MCP 工具时就会开始 生成签名回执,离开你设备的只有哈希值。基于干净的 Windows 11 配置文件 (Node 24、npm 11)端到端实测——命令总耗时约 8 秒;在 macOS/Linux 上 步骤完全相同。

快速开始回放 — 安装、调用一次工具、生成一条签名回执、验证、precheck

(终端回放根据该次测量实际捕获的输出渲染而成 — 生成器脚本。)

1. 安装
npm install -g xaip-claude-hook
2. 一条命令
xaip-claude-hook install
✓ XAIP Claude Code hook installed.
  C:\Users\you\.claude\settings.json

Next MCP tool call will emit a signed receipt to
  https://xaip-aggregator.kuma-github.workers.dev
3. 调用一次工具

打开一个新的 Claude Code 会话,让它调用任意 MCP 工具(例如, 让它使用 context7 查询某个库)。钩子会自动签名并提交回执——你无需进行任何操作。

4. 一条签名回执
cat ~/.xaip/hook.log
2026-07-17T03:41:57.964Z POST context7/resolve-library-id ok=true lat=2402ms → 200 {"ok":true,"agentDid":"did:web:context7","callerVerified":true}

callerVerified: true 表示聚合器已确认你对规范回执载荷所做的 Ed25519 调用方 签名。发送的只有哈希值和元数据(工具名称、延迟、成功状态)——绝不会发送输入、 输出或文件路径,而且日志会准确显示哪些内容离开了设备。

5. 一条验证结果
curl https://xaip-trust-api.kuma-github.workers.dev/v1/trust/context7
{ "slug": "context7", "trust": 0.926, "receipts": 1044,
  "source": "xaip-aggregator-1 (single aggregator)" }
6. 一条 precheck 结果 — 不凭空编造信任
curl -X POST https://xaip-trust-api.kuma-github.workers.dev/v1/select \
  -H "Content-Type: application/json" \
  -d '{"task":"summarize a webpage","candidates":["context7","my-brand-new-server"]}'
{ "selected": "context7",
  "reason": "Only eligible candidate (trust 0.926, 1044 verified executions)",
  "rejected": [ { "slug": "my-brand-new-server",
                  "reason": "unscored — no execution evidence available" } ] }

这体现了诚实的冷启动行为:尚无人执行过的服务状态为 unscored,而不是被赋予虚构的 分数。随着回执不断到达,证据会逐渐累积;对于没有执行历史的工具,XAIP 不会捏造信任。

如果无法正常工作
  • 钩子从未触发 — Claude Code 启动钩子时,必须能够解析钩子命令:检查 npm 全局 bin 目录(npm config get prefix)是否位于 PATH 中,然后启动一个新会话。
  • PowerShell 提示“running scripts is disabled” — Windows 的默认执行策略会阻止 npm 的 .ps1 shim 用于交互式命令。请使用 xaip-claude-hook.cmd,在 cmd 中运行它,或执行 Set-ExecutionPolicy -Scope CurrentUser RemoteSigned。收据提交不受影响(钩子通过 .cmd shim 运行)。
  • 关闭它 — export XAIP_DISABLED=1 可暂时禁用;xaip-claude-hook uninstall 可移除钩子(~/.xaip/ 下的密钥/日志会保留,直到你将其删除)。收据采用假名:你的调用方 DID 是每次安装生成的密钥,不会关联到其他信息。
运行端到端演示
git clone https://github.com/xkumakichi/xaip-protocol.git
cd xaip-protocol/demo
npm install
npx tsx dogfood.ts

此演示:

  1. 请求 XAIP 根据可用的执行证据,为“获取 React hooks 文档”排序候选服务
  2. 连接到选定的 MCP 服务并执行真实工具调用
  3. 向 Aggregator 提交已签名的执行收据
  4. 显示更新后的信任分数
决策质量演示

使用静态信任快照和固定候选集,比较盲选策略与 XAIP 引导的选择:

cd demo
npm run blind-vs-xaip

这是确定性的本地回放。它不会执行实时工具调用、提交收据或调用任何外部 API。 有关范围、指标和限制,请参阅 docs/blind-vs-xaip-demo.md。

在随附的快照回放中:

策略高风险选择率符合条件的选择率
随机71.4%28.6%
固定顺序85.7%14.3%
XAIP14.3%85.7%

risky_pick = 所选候选项在快照中的状态为 low_trust 或 unscored。fixed-order 模拟不使用运行时信任数据、直接接受上游规划器候选顺序的 Agent。此结论仅适用于这一固定候选集和静态信任快照,并不保证现实世界中的执行效果会有所改善。

成为独立调用方

希望信任图不只依赖一个运营方?自己运行一个调用方。无需账户、审批或 API 密钥——聚合器会验证来自任何有效密钥对的签名。

最快方式——无需安装,30 秒:

npx xaip-caller

为少量真实 HTTP 工具调用签署收据并发送 POST 请求。演示 XAIP 的适用范围不止于 MCP——任何 HTTP 工具都可以参与。请参阅 clients/caller。 有关 Windows 说明和外部收据贡献详情,请参阅 运行 xaip-caller。

完整流程——MCP 服务,5 分钟:

克隆仓库,并针对真实 MCP 服务运行自动收集器。你的调用方 DID 有助于提升每个已评分 MCP 工具的多样性。请参阅 docs/contributor/run-a-caller.md。

使用 SDK
npm install xaip-sdk
import { precheck } from "xaip-sdk";

const result = await precheck({
  task: "Fetch React documentation",
  candidates: ["context7", "memory", "unknown-server"],
  includeDecision: true,
});

console.log(result.selected); // e.g. "memory" or null
console.log(result.decision); // "allow", "warn", or "unknown"

precheck() 是对 POST /v1/select 的轻量 SDK 封装。它会在你的代码决定委派任务之前,返回工具、技能或 Agent 候选项的可用执行证据。

有关边界、策略选项、结果格式和错误,请参阅 precheck() API 指南。

MCP 服务

可直接在 Claude、Cursor 或任何兼容 MCP 的 AI Agent 中使用 XAIP:

npx xaip-mcp-trust

4 个工具:xaip_list_servers、xaip_check_trust、xaip_select、xaip_report

添加到 Claude Code(~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "xaip-trust": {
      "command": "npx",
      "args": ["-y", "xaip-mcp-trust"]
    }
  }
}

npm:xaip-mcp-trust

API 参考

方法端点描述
GET/v1/servers列出所有已评分的服务及其信任数据
GET/v1/trust/:slug单个已评分服务的信任分数
GET/v1/trust?slugs=a,b,c批量查询信任分数(最多 50 个)
POST/v1/select决策引擎 — 根据可用的执行证据为候选项排序
GET/health存活探针

基础 URL: https://xaip-trust-api.kuma-github.workers.dev

信任分数响应
字段类型描述
trustnumber | null0.0–1.0 分数;未评分时为 null
verdictstringtrusted ≥0.7 · caution 0.4–0.7 · low_trust <0.4 · unscored
receiptsnumber已验证执行凭据总数
confidencenumber | null统计置信度:min(1, receipts/100)
riskFlagsstring[]检测到的风险指标
computedFromstring数据来源说明
决策引擎(POST /v1/select)

请求:

{
  "task": "description of what your agent needs to do",
  "candidates": ["server-a", "server-b", "server-c"],
  "mode": "relative"
}
  • mode: "relative"(默认)— 始终选择可用候选项中的最佳项,即使其低于阈值
  • mode: "strict" — 拒绝所有低于 caution 阈值的候选项

架构

┌──────────────────────────────────────────────────────────┐
│  Your AI Agent                                           │
│  ┌──────────┐   ┌───────────┐   ┌─────────────────────┐ │
│  │ Select   │──▶│ Execute   │──▶│ Report Receipt      │ │
│  │ (Trust   │   │ (MCP call)│   │ (Ed25519 signed)    │ │
│  │  API)    │   └───────────┘   └──────────┬──────────┘ │
│  └────┬─────┘                              │            │
└───────┼────────────────────────────────────┼────────────┘
        │                                    │
        ▼                                    ▼
┌───────────────┐                 ┌──────────────────────┐
│  Trust API    │◀────────────────│  Aggregator (BFT)    │
│  + Decision   │  Service        │  Cloudflare D1       │
│    Engine     │  Binding        │  Ed25519 verification│
└───────────────┘                 │  Bayesian scoring    │
                                  └──────────────────────┘

信任模型:

  • 贝叶斯 Beta 分布(先验值因 DID 方法而异)
  • 调用方多样性加权(防止单一调用方操纵结果)
  • 联署因素(双重 Ed25519:Agent + 调用方)
  • 支持 BFT 的联邦架构,并在聚合器节点间进行 MAD 离群值检测;当前的公开部署是一个单一聚合器节点(API 响应显示 single aggregator;quorum 相关措辞仅出现在实际的多节点部署中)

基础设施:

  • Cloudflare Workers(全球边缘网络,延迟 <50ms)
  • Cloudflare D1(边缘端 SQLite),用于存储凭据
  • 用于 Worker 间通信的 Service Bindings

可选的账本支持身份

XAIP 不是区块链协议,也不是支付通道。

当前身份模型支持多种 DID 方法,包括 did:key、did:web 以及 did:xrpl 等基于账本的标识符。信任分数根据已签名的执行凭据得出,而非代币持有量、支付或链归属。

以下默认先验值属于部署策略,并非普遍适用的信任判断:

DID 方法默认先验值用例
did:xrpl[5, 1]基于账本的 Agent(一种外部锚定选项)
did:web[2, 1]经域名验证的服务
did:key[1, 1]匿名 / 新 Agent

当 Agent 需要外部锚定身份时,基于账本的身份可能会有帮助。XAIP 本身不要求使用任何账本。

数据

信任分数根据真实执行数据计算,而非合成基准测试:

  • 截至 2026-06-12,10 个已评分 MCP 服务共有约 4,500 份已签名凭据:context7、sequential-thinking、memory、filesystem、everything、fetch、sqlite、git、puppeteer、playwright
  • 通过 GitHub Actions 自动每日收集数据
  • 每有新的执行凭据,分数都会更新;当前数值请参阅实时仪表板/API
# See all scored servers
curl https://xaip-trust-api.kuma-github.workers.dev/v1/servers

兼容

运行时 / 集成状态方式
MCP(Model Context Protocol)正式公开数据集(截至 2026-06-12,包含 10 个服务和约 4,500 条签名回执)xaip-claude-hook、xaip-sdk、xaip-mcp-trust
LangChain.js已测试的预览版,已收到正式回执xaip-langchain 回调处理器
OpenAI 兼容的工具调用循环已测试的预览版,已收到正式回执xaip-openai 封装器
HTTP 工具 / A2A / 专有运行时支持回执流程xaip-sdk 或直接发出签名回执

回执模式有意设计为与工具系统无关:agentDid、callerDid、taskHash、resultHash、success、latencyMs、failureType、timestamp。任何能够对输入/输出进行哈希处理并使用 Ed25519 签名的 Agent 框架,都可以提交回执。

请参阅从任何环境发出 XAIP 回执,了解与提供方无关的回执流程。

状态

v0.4.0 已上线;v0.5 草案正在开发中(工具类别分类体系 + 观测/展示机制)。

  • v0.5 类别元数据机制已上线,用于观测/展示。

  • 类别感知评分仍是设计说明,不用于当前信任分数或 /v1/select 选择行为。

  • 信任分数 API(Cloudflare Worker,已上线)

  • 决策引擎(POST /v1/select)

  • 支持 BFT 联邦的聚合器(当前公开部署仅包含单个聚合器节点)

  • Ed25519 回执签名与验证

  • 支持调用方多样性的贝叶斯信任模型

  • 截至 2026-07-12,约有 6,700 条签名回执(主要由项目自身的每日收集器生成——外部调用方多样性是当前的不足,详见“数据”部分)

  • 自动每日数据收集(GitHub Actions)

  • 已发布预览版回执生成器:xaip-langchain、xaip-openai

  • MCP 服务:xaip-mcp-trust

  • npm:[email protected]

  • v0.5 规范草案(工具类别分类体系;类别感知评分仅为设计说明)

  • 多调用方多样性机制已验证(2 个或更多调用方身份,指标在 8 个服务中均有响应)

  • v0.5 类别元数据机制(仅用于观测/展示——不影响评分或 /v1/select)

  • 类别感知评分(仅为设计说明——尚未上线)

  • 零安装调用方路径:npx xaip-caller(30 秒即可首次提交,展示 XAIP 在 MCP 之外的应用)

  • 外部运营方调用方(机制已上线,等待外部采用——运行 npx xaip-caller 或参阅完整指南)

Internet-Draft

XAIP 收据线格式以独立 Internet-Draft 的形式发布于 IETF Datatracker:

这是一个独立的 Internet-Draft。它不是 IETF 标准,未经 IETF 批准,在 IETF 标准流程中也不具有正式地位。本草案仅涉及收据线格式——评分、聚合和决策逻辑属于部署策略,不在草案本身的范围内。

引用格式(正在编写中——为确保可复现性,请引用具体修订版):

xkumakichi, "Signed Execution Receipts for AI Agent Tool Calls (XAIP Receipts)", Work in Progress, Internet-Draft, draft-xkumakichi-xaip-receipts-03, 2 July 2026, https://datatracker.ietf.org/doc/draft-xkumakichi-xaip-receipts/.

BibTeX 和 BibXML 导出文件可从上方链接的 Datatracker 页面获取。

写作

  • Portable Trust — 为什么 AI Agent 的信任基础设施必须独立于提供商,并以行为为依据(dev.to · Zenn 日语版)
  • Evidence Before Payment — Agent 支付技术栈描述当前交易;对手方过往执行情况的可移植证据仍然匮乏。本文界定了这一设计问题,不依赖任何单一实现(文章)

相关内容

  • xaip-caller — 零安装命令行工具:运行 npx xaip-caller,为信任图谱做贡献
  • xaip-mcp-trust — 供 AI Agent 查询信任评分的 MCP 服务
  • xaip-langchain — 可发出 XAIP 收据的 LangChain.js 回调处理程序
  • xaip-openai — 带签名收据的 OpenAI 工具调用包装器
  • Veridict — 较早的运行时执行日志记录实验,为 XAIP 以收据为先的设计提供了参考。此前曾作为 npm 包发布;目前不再作为独立产品维护。
  • XAIP Specification v0.4 — 当前协议规范
  • XAIP Specification v0.5 RC — 候选发布版(工具类别分类法)

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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