Server data from the Official MCP Registry
AI agents get on-chain identity, credentials, reputation, escrow, and persistent memory on XRPL.
AI agents get on-chain identity, credentials, reputation, escrow, and persistent memory on XRPL.
Valid MCP server (4 strong, 7 medium validity signals). 3 known CVEs in dependencies (0 critical, 3 high severity) ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
13 files analyzed · 4 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-xkumakichi-xaip-mcp-server": {
"args": [
"-y",
"xaip-mcp-server"
],
"command": "npx"
}
}
}From the project's GitHub README.
Your AI agent picks tools blind. XAIP gives it eyes.
When an AI agent delegates work to an external tool, it has no idea whether that tool will succeed, fail silently, or burn latency. XAIP fixes this with cryptographically signed execution receipts, Bayesian trust scoring, and a decision engine that picks the best candidate — live, right now.
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.
The API is live. No signup, no API key.
# 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: pick the best server for a task
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"]}'
The /v1/select response tells you which server to use, why, and what would happen without XAIP:
{
"selected": "context7",
"reason": "Highest trust among scored candidates based on current verified receipts",
"rejected": [{ "slug": "unknown-server", "reason": "unscored — no execution data" }],
"withoutXAIP": "Random selection would pick an unscored server 33% of the time — no execution data, no safety guarantee"
}
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 selects the right server on the first try, skips unscored servers, and saves your agent from wasted calls and silent failures.
1. Select POST /v1/select → picks the best server from candidates
2. Execute Your agent calls the selected tool server
3. 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.
git clone https://github.com/xkumakichi/xaip-protocol.git
cd xaip-protocol/demo
npm install
npx tsx dogfood.ts
This demo:
Compare blind selection strategies against XAIP-guided selection using a static trust snapshot and fixed candidate sets:
cd demo
npm 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:
| Strategy | Risky pick rate | Eligible pick rate |
|---|---|---|
| Random | 71.4% | 28.6% |
| Fixed-order | 85.7% | 14.3% |
| XAIP | 14.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.
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:
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.
npm install xaip-sdk
import { XAIPClient } from "xaip-sdk";
const client = new XAIPClient();
// Pick the best server
const decision = await client.select({
task: "Fetch React documentation",
candidates: ["context7", "sequential-thinking", "unknown-server"],
});
console.log(decision.selected); // "context7"
console.log(decision.withoutXAIP); // "Random selection would pick an unscored server 33% of the time..."
Use XAIP directly from Claude, Cursor, or any MCP-compatible AI agent:
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):
{
"mcpServers": {
"xaip-trust": {
"command": "npx",
"args": ["-y", "xaip-mcp-trust"]
}
}
}
npm: xaip-mcp-trust
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/servers | List all scored servers with trust data |
GET | /v1/trust/:slug | Trust score for a single scored server |
GET | /v1/trust?slugs=a,b,c | Batch trust scores (max 50) |
POST | /v1/select | Decision engine — pick best candidate for a task |
GET | /health | Liveness probe |
Base URL: https://xaip-trust-api.kuma-github.workers.dev
| Field | Type | Description |
|---|---|---|
trust | number | null | 0.0–1.0 score, null if unscored |
verdict | string | trusted ≥0.7 · caution 0.4–0.7 · low_trust <0.4 · unscored |
receipts | number | Total verified execution receipts |
confidence | number | null | Statistical confidence: min(1, receipts/100) |
riskFlags | string[] | Detected risk indicators |
computedFrom | string | Data provenance description |
POST /v1/select)Request:
{
"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 thresholdmode: "strict" — rejects all candidates below caution threshold┌──────────────────────────────────────────────────────────┐
│ 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:
quorum:1)Infrastructure:
XAIP supports did:xrpl identities with higher trust priors than anonymous did:key:
| DID Method | Trust Prior | Use Case |
|---|---|---|
did:xrpl | [5, 1] | XRPL account-backed agents |
did:web | [2, 1] | Domain-verified servers |
did:key | [1, 1] | Anonymous / new agents |
XRPL's native DID support (XLS-40) makes it a natural foundation for agent identity in autonomous transactions.
Trust scores are computed from real execution data, not synthetic benchmarks:
# See all scored servers
curl https://xaip-trust-api.kuma-github.workers.dev/v1/servers
| Provider | Status | How |
|---|---|---|
| MCP (Model Context Protocol) | ✅ live | xaip-claude-hook for Claude Code; xaip-sdk for any MCP client; 10 servers scored, ~2,600 signed receipts as of 2026-04-24 |
| LangChain | ✅ published preview | xaip-langchain receipt producer for LangChain.js tool calls |
| OpenAI tool calling | ✅ published preview | xaip-openai receipt producer for OpenAI-compatible tool-call loops |
| A2A / proprietary | ✅ supported | Use xaip-sdk directly — receipt format is provider-neutral |
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.
v0.4.0 live; v0.5 Release Candidate open for review (adds tool class taxonomy with settlement-layer support).
POST /v1/select)quorum:1)npx xaip-caller (30-second first contribution, demonstrates XAIP beyond MCP)npx xaip-caller or the full guide)npx xaip-caller to contribute to the trust graphMIT
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.