Xaip Mcp Server

io.github.xkumakichi由 GitHub 账号 xkumakichi 发布v0.1.1更新于 Oct 25, 2026

AI agents get on-chain identity, credentials, reputation, escrow, and persistent memory on XRPL.

已验证STDIO仅桌面安全与监控AI 与机器学习

概览

AI 生成的概览

一个本地 MCP 服务器,让助手查询 MCP 工具服务器的 XAIP 信任评分、按签名执行证据对候选服务器排序,并上报签名执行回执。

可以做什么
列出已评分的工具服务器及其信任数据和风险标记。查询单个或批量服务器的信任评分,含判定与置信度。针对某项任务按可用执行证据对候选服务器排序并给出选择理由。上报签名执行回执,使该次调用计入信任评分。
适用场景
当智能体需要在多个 MCP 工具服务器之间做选择,希望依据数据而非盲目或固定顺序挑选时;或在委派任务前想了解某服务器过往执行记录的评价时。
运行要求
通过 npx 作为本地进程运行(需要 Node.js)。查询评分和提交回执需要访问 XAIP 信任 API 与聚合器端点的网络连接;README 称无需注册或 API 密钥。
安装前请注意
上报回执会把执行元数据(工具名、延迟、成功与否、哈希)发送给第三方聚合器;README 称不发送输入、输出和文件路径,但调用方身份是每次安装生成的密钥。信任评分只是派生视图,并非安全保证,且公开部署为单一聚合器节点。README 中的安装步骤描述的是另一个 Claude Code 钩子包,而非本服务器。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Xaip Mcp Server,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

XAIP — Signed Execution Receipts for AI Agent Tool Calls

Evidence before delegation. Wrap an agent's tool calls once; use the receipt history locally today, and share the same signed receipts later as portable, independently verifiable evidence.

XAIP is a provider-neutral signed execution evidence layer for AI agent tool calls. It records co-signed receipts — both the executing agent and the caller sign the same canonical record, so neither side can unilaterally fabricate one — across MCP, LangChain.js, OpenAI-compatible tool-call loops, and other runtimes, then exposes historical execution evidence that agents, developers, or policy layers can inspect before delegation.

Receipts are the primary artifact. Trust scores are one derived view over those receipts — not a claim of absolute safety or correctness.

XAIP in 30 seconds

  • Mechanism — one tool call in, one receipt out. The executing agent and the caller sign the same canonical record (Ed25519 over JCS), so neither side can unilaterally fabricate or repudiate it. Only hashes of input/output are carried; content never leaves your machine.
  • What you get on day one — a verifiable history of what your own agent's tools actually did, queryable before the next delegation (precheck()). Useful single-player; no network of other users required.
  • What XAIP is not — not a sandbox, not an approval engine, not a payment rail, not a safety guarantee. It makes execution evidence visible; you decide what to trust.

Pick your depth: 3 minutes — produce your first signed receipt · 10 minutes — verify the format yourself: run the executable conformance vectors (node check.mjs, no dependencies), then skim the Internet-Draft it pins.

[Trust Evidence Before Delegation — XAIP demo]

Live demo: three candidate servers, side-by-side comparison without and with XAIP. Open in browser →

Provider-agnostic by design. XAIP is a trust layer for any tool-using agent. The reference implementation and live data start with MCP (Model Context Protocol) — because that's where the broadest fleet of public tool servers exists today — but the receipt format, signing, and scoring apply equally to LangChain tools, OpenAI function calling, A2A, and proprietary agent stacks. MCP is the first integration, not the only one.

Live dashboard: https://xkumakichi.github.io/xaip-protocol/ — current public trust scores, auto-refreshed, no auth. The current public dataset is MCP-heavy because MCP was the first integration target.

Entry points

Try It Now

The API is live. No signup, no API key.

bash
# Check trust score for a scored tool servercurl https://xaip-trust-api.kuma-github.workers.dev/v1/trust/context7
# Batch querycurl "https://xaip-trust-api.kuma-github.workers.dev/v1/trust?slugs=context7,sequential-thinking,filesystem"
# Decision engine: rank candidates by available execution evidencecurl -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"]}'

The /v1/select response tells you which server to use, why, and what would happen without XAIP:

json
{  "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"}

The Problem

Without trust scores, your agent is gambling:

┌────────────────┬────────────────┬───────────┬──────────────┐│ 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 helps agents prefer candidates with stronger available execution evidence, skip unscored candidates when appropriate, and reduce avoidable failed calls.

How It Works

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

Every execution receipt is Ed25519-signed and verified. Trust scores are computed using a Bayesian model with caller diversity weighting — not self-reported metrics.

Quick Start — your first signed receipt in under 5 minutes

The fastest path is the Claude Code hook: your normal MCP tool calls start producing signed receipts, with nothing but hashes leaving your machine. Measured end-to-end on a clean Windows 11 profile (Node 24, npm 11) — total command time was about 8 seconds; the steps are identical on macOS/Linux.

[Quick start replay — install, one tool call, one signed receipt, verification, precheck]

(Terminal replay rendered from the real captured outputs of that measurement — generator script.)

1. Install

bash
npm install -g xaip-claude-hook

2. One command

bash
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. One tool call

Open a new Claude Code session and let it call any MCP tool (for example, ask it to look up a library with context7). The hook signs and submits a receipt automatically — you do nothing.

4. One signed receipt

bash
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 is the aggregator confirming your Ed25519 caller signature over the canonical receipt payload. Only hashes and metadata (tool name, latency, success) were sent — never inputs, outputs, or file paths, and the log shows exactly what left the machine.

5. One verification result

bash
curl https://xaip-trust-api.kuma-github.workers.dev/v1/trust/context7
json
{ "slug": "context7", "trust": 0.926, "receipts": 1044,  "source": "xaip-aggregator-1 (single aggregator)" }

6. One precheck result — no invented trust

bash
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"]}'
json
{ "selected": "context7",  "reason": "Only eligible candidate (trust 0.926, 1044 verified executions)",  "rejected": [ { "slug": "my-brand-new-server",                  "reason": "unscored — no execution evidence available" } ] }

This is the cold-start behavior, shown honestly: a server nobody has executed is unscored, not given a synthetic score. Evidence accumulates as receipts arrive; XAIP does not fabricate trust for tools without execution history.

If something doesn't work

  • Hook never fires — the hook command must be resolvable when Claude Code spawns it: check that your npm global bin directory (npm config get prefix) is on PATH, then start a fresh session.
  • PowerShell says "running scripts is disabled" — Windows' default execution policy blocks npm's .ps1 shims for interactive commands. Use xaip-claude-hook.cmd, run it from cmd, or Set-ExecutionPolicy -Scope CurrentUser RemoteSigned. Receipt emission is unaffected (the hook runs via the .cmd shim).
  • Turn it off — export XAIP_DISABLED=1 disables temporarily; xaip-claude-hook uninstall removes the hook (keys/logs under ~/.xaip/ stay until you delete them). Receipts are pseudonymous: your caller DID is a per-install key, linked to nothing else.

Run the end-to-end demo

bash
git clone https://github.com/xkumakichi/xaip-protocol.gitcd xaip-protocol/demonpm installnpx tsx dogfood.ts

This demo:

  1. Asks XAIP to rank candidate servers for "Fetch React hooks documentation" by available execution evidence
  2. Connects to the selected MCP server and executes real tool calls
  3. Submits a signed execution receipt to the Aggregator
  4. Shows the updated trust score

Decision quality demo

Compare blind selection strategies against XAIP-guided selection using a static trust snapshot and fixed candidate sets:

bash
cd demonpm run blind-vs-xaip

This is a deterministic local replay. It does not perform live tool execution, post receipts, or call any external API. See docs/blind-vs-xaip-demo.md for scope, metrics, and limitations.

In the included snapshot replay:

StrategyRisky pick rateEligible pick rate
Random71.4%28.6%
Fixed-order85.7%14.3%
XAIP14.3%85.7%

risky_pick = selected candidate was low_trust or unscored in the snapshot. fixed-order models an agent that accepts the upstream planner's candidate order without runtime trust data. The claim is limited to this fixed candidate set and static trust snapshot — not a guarantee of real-world execution improvement.

Become an independent caller

Want the trust graph to depend on more than one operator? Run a caller yourself. No account, no approval, no API key — the aggregator verifies signatures from any valid keypair.

Fastest — zero-install, 30 seconds:

bash
npx xaip-caller

Signs receipts for a handful of real HTTP tool calls and POSTs them. Demonstrates that XAIP works beyond MCP — any HTTP tool can participate. See clients/caller. See Run xaip-caller for Windows notes and external receipt contribution details.

Full path — MCP servers, 5 minutes:

Clone the repo and run the auto-collector against real MCP servers. Your caller DID contributes to the diversity of every scored MCP tool. See docs/contributor/run-a-caller.md.

Use the SDK

bash
npm install xaip-sdk
typescript
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 nullconsole.log(result.decision); // "allow", "warn", or "unknown"

precheck() is a thin SDK wrapper over POST /v1/select. It returns available execution evidence for tool, skill, or agent candidates before your code decides what to delegate.

See the precheck() API guide for boundaries, policy options, result shape, and errors.

MCP Server

Use XAIP directly from Claude, Cursor, or any MCP-compatible AI agent:

bash
npx xaip-mcp-trust

4 tools: xaip_list_servers, xaip_check_trust, xaip_select, xaip_report

Add to Claude Code (~/.claude/claude_desktop_config.json):

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

npm: xaip-mcp-trust

API Reference

MethodEndpointDescription
GET/v1/serversList all scored servers with trust data
GET/v1/trust/:slugTrust score for a single scored server
GET/v1/trust?slugs=a,b,cBatch trust scores (max 50)
POST/v1/selectDecision engine — rank candidates by available execution evidence
GET/healthLiveness probe

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

Trust Score Response

FieldTypeDescription
trustnumber | null0.0–1.0 score, null if unscored
verdictstringtrusted ≥0.7 · caution 0.4–0.7 · low_trust <0.4 · unscored
receiptsnumberTotal verified execution receipts
confidencenumber | nullStatistical confidence: min(1, receipts/100)
riskFlagsstring[]Detected risk indicators
computedFromstringData provenance description

Decision Engine (POST /v1/select)

Request:

json
{  "task": "description of what your agent needs to do",  "candidates": ["server-a", "server-b", "server-c"],  "mode": "relative"}
  • mode: "relative" (default) — always selects the best available, even if below threshold
  • mode: "strict" — rejects all candidates below caution threshold

Architecture

┌──────────────────────────────────────────────────────────┐│  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    │                                  └──────────────────────┘

Trust Model:

  • Bayesian Beta distribution (prior varies by DID method)
  • Caller diversity weighting (prevents single-caller gaming)
  • Co-signature factor (dual Ed25519: agent + caller)
  • BFT-capable federation with MAD outlier detection across aggregator nodes; the current public deployment is a single aggregator node (API responses say single aggregator; quorum wording appears only in actual multi-node deployments)

Infrastructure:

  • Cloudflare Workers (global edge, <50ms latency)
  • Cloudflare D1 (SQLite at edge) for receipt storage
  • Service Bindings for Worker-to-Worker communication

Optional Ledger-Backed Identity

XAIP is not a blockchain protocol and not a payment rail.

The current identity model supports multiple DID methods, including did:key, did:web, and ledger-backed identifiers such as did:xrpl. Trust scores are derived from signed execution receipts — not token holdings, payments, or chain affiliation.

The default priors below are deployment policy, not a universal claim about trust:

DID MethodDefault PriorUse Case
did:xrpl[5, 1]Ledger-backed agents (one externally anchored option)
did:web[2, 1]Domain-verified servers
did:key[1, 1]Anonymous / new agents

Ledger-backed identities may be useful when an agent needs an externally anchored identity. XAIP itself does not require any ledger.

Data

Trust scores are computed from real execution data, not synthetic benchmarks:

  • ~4,500 signed receipts across 10 scored MCP servers as of 2026-06-12: context7, sequential-thinking, memory, filesystem, everything, fetch, sqlite, git, puppeteer, playwright
  • Automated daily data collection via GitHub Actions
  • Scores update with every new execution receipt; see the live dashboard/API for current values
bash
# See all scored serverscurl https://xaip-trust-api.kuma-github.workers.dev/v1/servers

Works With

Runtime / integrationStatusHow
MCP (Model Context Protocol)Live public dataset (10 servers, ~4,500 signed receipts as of 2026-06-12)xaip-claude-hook, xaip-sdk, xaip-mcp-trust
LangChain.jsTested preview + live receipts landedxaip-langchain callback handler
OpenAI-compatible tool-call loopsTested preview + live receipts landedxaip-openai wrapper
HTTP tools / A2A / proprietary runtimesSupported receipt flowxaip-sdk or direct signed receipt emission

The receipt schema is intentionally tool-system-agnostic: agentDid, callerDid, taskHash, resultHash, success, latencyMs, failureType, timestamp. Any agent framework that can hash inputs/outputs and sign with Ed25519 can contribute receipts.

See Emit XAIP receipts from anything for the provider-neutral receipt flow.

Status

v0.4.0 live; v0.5 draft in development (tool class taxonomy + observation/display plumbing).

  • v0.5 class metadata plumbing is live for observation/display.

  • Class-aware scoring remains a design note and is not used by current trust scores or /v1/select selection behavior.

  • Trust Score API (Cloudflare Worker, live)

  • Decision Engine (POST /v1/select)

  • Aggregator with BFT-capable federation support (public deployment currently a single aggregator node)

  • Ed25519 receipt signing + verification

  • Bayesian trust model with caller diversity

  • ~6,700 signed receipts as of 2026-07-12 (predominantly generated by the project's own daily collector — external caller diversity is the current gap, see Data section)

  • Automated daily data collection (GitHub Actions)

  • Published preview receipt producers: xaip-langchain, xaip-openai

  • MCP Server: xaip-mcp-trust

  • npm: [email protected]

  • v0.5 specification draft (tool class taxonomy; class-aware scoring is a design note only)

  • Multi-caller diversity mechanism verified (2+ caller identities, metric responds across 8 servers)

  • v0.5 class metadata plumbing (observation/display only — does not affect scoring or /v1/select)

  • Class-aware scoring (design note only — not live behavior)

  • Zero-install caller path: npx xaip-caller (30-second first contribution, demonstrates XAIP beyond MCP)

  • External operator callers (mechanism live, external adoption pending — run npx xaip-caller or the full guide)

Internet-Draft

The XAIP receipt wire format is published as an individual Internet-Draft on IETF Datatracker:

This is an individual Internet-Draft. It is not an IETF standard, not IETF-approved, and has no formal standing in the IETF standards process. The draft scope is the receipt wire format only — scoring, aggregation, and decision logic are deployment policy and out of scope of the draft itself.

Cite as (work in progress — cite the specific revision for reproducibility):

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 and BibXML exports are available from the Datatracker page linked above.

Writing

  • Portable Trust — why trust infrastructure for AI agents must be provider-neutral and behavior-derived (dev.to · Zenn 日本語版)
  • Evidence Before Payment — the agent-payment stack describes the transaction at hand; portable evidence of a counterparty's prior execution stays thin. Defines that design problem, independent of any one implementation (article)

Related

  • xaip-caller — zero-install CLI: npx xaip-caller to contribute to the trust graph
  • xaip-mcp-trust — MCP server for AI agents to check trust scores
  • xaip-langchain — LangChain.js callback handler that emits XAIP receipts
  • xaip-openai — OpenAI tool-calling wrapper with signed receipts
  • Veridict — earlier runtime execution logging experiment that informed XAIP's receipt-first design. Previously published as an npm package; not maintained as an independent product.
  • XAIP Specification v0.4 — Current protocol specification
  • XAIP Specification v0.5 RC — Release candidate (tool class taxonomy)

License

MIT

来源:README.md,提交 287d776

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

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

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