
Xaip Mcp Server
io.github.xkumakichiPublished by GitHub account xkumakichiv0.1.1Updated Oct 25, 2026
AI agents get on-chain identity, credentials, reputation, escrow, and persistent memory on XRPL.
Overview
A local MCP server that lets an assistant look up XAIP trust scores for MCP tool servers, rank candidates by signed execution evidence, and report signed tool-c
- What you can do
- List scored tool servers together with their trust data and risk indicators. Look up a trust score for one server or a batch of servers, with verdict and confidence. Rank candidate servers for a task by available execution evidence and get a selection with reasons. Report a signed execution receipt so the call feeds back into trust scores.
- When to use it
- Use it when an agent must choose between several MCP tool servers and you want a data-backed preference instead of blind or fixed-order selection, or when you want to see how a server's past executions were rated before delegating to it.
- Requirements
- Runs as a local process via npx (Node.js). Network access to the XAIP trust API and aggregator endpoints is needed for scores and receipt submission; the README states no signup or API key is required.
Installation
In SourceWeft
- Open Xaip Mcp Server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
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
- Trust Evidence Before Delegation — one-screen demo, live
POST /v1/selectagainst three contrasting candidates. - Before Payment Evidence Demo — one-screen demo: what an agent sees about a paid closed-source skill before paying, with vs without execution evidence from
precheck()(three fictional candidates, seeded fixture). - Browser playground — read-only demo of trust-aware selection.
- 60-second overview — the problem XAIP is trying to address.
- Future direction — long-term hypothesis, open questions, and current research asks.
- Single-caller dominance case study — a real failure mode surfaced in XAIP's own public dataset on 2026-05-13, and what it implies for caller diversity.
- Agent Trust Check design — planned diagnostic concept.
- Class-aware scoring design — future design note; not live scoring behavior.
- Emit receipts from anything — how to produce XAIP receipts from any tool system.
- precheck() API guide — SDK helper for execution evidence before delegation.
- Run xaip-caller — contribute signed receipts without running MCP.
Try It Now
The API is live. No signup, no API key.
The /v1/select response tells you which server to use, why, and what would happen without XAIP:
The Problem
Without trust scores, your agent is gambling:
XAIP helps agents prefer candidates with stronger available execution evidence, skip unscored candidates when appropriate, and reduce avoidable failed calls.
How It Works
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
2. One command
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
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
6. One precheck result — no invented trust
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 onPATH, then start a fresh session. - PowerShell says "running scripts is disabled" — Windows' default
execution policy blocks npm's
.ps1shims for interactive commands. Usexaip-claude-hook.cmd, run it fromcmd, orSet-ExecutionPolicy -Scope CurrentUser RemoteSigned. Receipt emission is unaffected (the hook runs via the.cmdshim). - Turn it off —
export XAIP_DISABLED=1disables temporarily;xaip-claude-hook uninstallremoves 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
This demo:
- Asks XAIP to rank candidate servers for "Fetch React hooks documentation" by available execution evidence
- Connects to the selected MCP server and executes real tool calls
- Submits a signed execution receipt to the Aggregator
- 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:
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:
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:
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
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:
4 tools: xaip_list_servers, xaip_check_trust, xaip_select, xaip_report
Add to Claude Code (~/.claude/claude_desktop_config.json):
npm: xaip-mcp-trust
API Reference
Base URL: https://xaip-trust-api.kuma-github.workers.dev
Trust Score Response
Decision Engine (POST /v1/select)
Request:
mode: "relative"(default) — always selects the best available, even if below thresholdmode: "strict"— rejects all candidates below caution threshold
Architecture
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:
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
Works With
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/selectselection 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-calleror the full guide)
Internet-Draft
The XAIP receipt wire format is published as an individual Internet-Draft on IETF Datatracker:
draft-xkumakichi-xaip-receipts-03(current revision; working copy)- https://datatracker.ietf.org/doc/draft-xkumakichi-xaip-receipts/
- Executable conformance test vectors:
docs/spec/test-vectors/— every hash, canonical payload, and signature is real;node check.mjsre-derives all of them (Node ≥ 18, no dependencies)
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-callerto 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
Source: README.md at commit 287d776
Tools
0Version history
1- v0.1.1LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts