io.fairseal/mcp-server
Verifiable entropy, provably-fair games, and receipt verification for AI agents (FairSeal API).
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
@fairseal/mcp-serverclaude mcp add io-fairseal-mcp-server -e 'FAIRSEAL_API_KEY=<your fairseal_api_key>' -e 'FAIRSEAL_API_URL=<FAIRSEAL_API_URL>' -e 'FAIRSEAL_NOTARY_API_KEY=<your fairseal_notary_api_key>' -e 'FAIRSEAL_ANCHOR_API_KEY=<your fairseal_anchor_api_key>' -- npx -y @fairseal/mcp-server@0.2.4
{
"mcpServers": {
"io-fairseal-mcp-server": {
"command": "npx",
"args": [
"-y",
"@fairseal/mcp-server@0.2.4"
],
"env": {
"FAIRSEAL_API_KEY": "<your fairseal_api_key>",
"FAIRSEAL_API_URL": "<FAIRSEAL_API_URL>",
"FAIRSEAL_NOTARY_API_KEY": "<your fairseal_notary_api_key>",
"FAIRSEAL_ANCHOR_API_KEY": "<your fairseal_anchor_api_key>"
}
}
}
}
Environment variables
FAIRSEAL_API_KEYsecret API key for gated tools (fairseal_entropy, fairseal_stats, fairseal_rng_generate, fairseal_notarize_decision, fairseal_anchor_submit). Key prefix: fsn_. Without a key these tools return 401; free tools (game reads, notarize_status, anchor_status) work without any key. x402 micropayment ($0.02 USDC on Base) is an alternative to the key for notarize/anchor.FAIRSEAL_API_URLUpstream API base URL (default https://api.fairseal.io).FAIRSEAL_NOTARY_API_KEYsecret Key override for the notary service only (POST /v1/notarize). Falls back to FAIRSEAL_API_KEY if not set. Key prefix: fsn_.FAIRSEAL_ANCHOR_API_KEYsecret Key override for Anchor API v2 only (POST /v2/anchor). Falls back to FAIRSEAL_API_KEY if not set. Key prefix: anck_.
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
Fairseal 🦭
Provably fair selections for games, loot boxes, and any randomized allocation.
Fairseal creates verifiable receipts (CSRs) proving that a selection was committed before the outcome was knowable. Every loot drop, gacha pull, and randomized selection — independently verifiable, trustlessly.
Try It Now
npx @fairseal/commit
One command. A verifiable gacha pull in your terminal. No setup.
Quick Start
npm install @fairseal/commit
import { createCommitment, resolveCommitment, createReceipt, verifyReceipt } from '@fairseal/commit';
// 1. Lock your loot table BEFORE the outcome is knowable
const commitment = createCommitment({
rule: JSON.stringify(LOOT_TABLE),
inputs: [playerId, pullNumber.toString()],
revealAfter: 10,
});
// 2. Resolve with verifiable entropy from drand
const resolution = await resolveCommitment(commitment);
// 3. Your algorithm + verifiable entropy = provably fair drop
const drop = yourWeightedPull(LOOT_TABLE, resolution.beaconRandomness);
// 4. Package as a receipt anyone can verify
const receipt = createReceipt(commitment, resolution);
const proof = await verifyReceipt(receipt); // ✅ PARTIAL
How It Works
- Commit — Lock your drop table + player ID into a hash before the randomness exists
- Entropy — Wait for a public drand beacon round (Cloudflare + Protocol Labs)
- Resolve — Derive the selection from beacon entropy + your committed rule
- Verify — Anyone can re-run every step. drand beacon signatures are BLS12-381-verified; FairSeal receipt signatures use EIP-191 (secp256k1) / Ed25519 — receipts are never BLS-signed. No trust required.
Performance
| Operation | Time |
|---|---|
| Commitment creation | 0.006ms (170,000+/sec) |
| Beacon fetch | ~200ms |
| drand beacon verification (BLS12-381) | ~150ms |
| Receipt size | 0.9 KB |
Client-side. No server. No account. No fees for PARTIAL verification.
Packages
| Package | Description |
|---|---|
@fairseal/game | Game API for RGS studios. Slots, gacha, loot boxes. (v0.1 ALPHA) |
@fairseal/commit | Committed selection receipts. Core library. |
@fairseal/core | Cryptographic primitives, signing, Merkle trees. |
@fairseal/verify | Independent receipt verification. |
@fairseal/mcp-server | MCP server for AI agents. Verifiable entropy, provably-fair games, cryptographic receipt verification via Model Context Protocol. |
Use Cases
| Scenario | How |
|---|---|
| Gacha / loot box | Every pull has a receipt. Players verify drops match published rates. |
| Boss loot drops | Drop table committed per encounter. No ninja-nerfing. |
| Matchmaking | Pairing algorithm committed. Players verify no favoritism. |
| Tournament brackets | Seeding provably random, not rigged. |
| NFT mint order | Queue provably fair — no insider front-running. |
| Slot machines | Seed Commitment Model — verifiable spins, no nonce chain. |
Result Notarization vs. Activity Receipts
Most "agent receipts" today are activity receipts: the platform logs what an agent did, and you trust whoever wrote the log. Fairseal receipts are result notarization — a different trust model:
| Activity receipts (platform logs) | Fairseal result notarization | |
|---|---|---|
| Who do you trust? | The operator writing the log | No one — receipts verify offline |
| What is proven? | That an action was recorded | That a result was committed before the outcome was knowable |
| Time proof | Server timestamp (operator-controlled) | External anchor on Base (independently checkable) |
| Tamper evidence | Depends on log integrity | Hash-anchored; any modification breaks verification |
Related standards: payment-authorization protocols like Google/Mastercard AP2 (mandates), Visa TAP, and OpenAI/Stripe ACP prove that an agent may act and who it is. Fairseal proves what happened — that a result was committed and hasn't been altered since. Fairseal settles micropayments over Coinbase's x402 and does not implement AP2/TAP/ACP; the layers are complementary.
Links
- 🌐 fairseal.io — Landing page
- 📦 npm @fairseal — All packages
- 🔍 verify.fairseal.io — Receipt verifier
- 📖 @fairseal/commit README — Full documentation
Listings
- PayAPI Market — FairSeal Cryptographic Receipts API — verified listing (settled on-chain test payment)
License
MIT — Fairseal
Frequently asked questions
What is io.fairseal/mcp-server?
Verifiable entropy, provably-fair games, and receipt verification for AI agents (FairSeal API).
How do I install io.fairseal/mcp-server?
It runs on your machine. In Claude Code: claude mcp add io-fairseal-mcp-server -e 'FAIRSEAL_API_KEY=<your fairseal_api_key>' -e 'FAIRSEAL_API_URL=<FAIRSEAL_API_URL>' -e 'FAIRSEAL_NOTARY_API_KEY=<your fairseal_notary_api_key>' -e 'FAIRSEAL_ANCHOR_API_KEY=<your fairseal_anchor_api_key>' -- npx -y @fairseal/mcp-server@0.2.4. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.fairseal/mcp-server need an API key?
Yes. It expects FAIRSEAL_API_KEY, FAIRSEAL_NOTARY_API_KEY, FAIRSEAL_ANCHOR_API_KEY, which you set in its configuration.
Is io.fairseal/mcp-server open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.fairseal/mcp-server?
It is published by ned-del. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.