io.fairseal/mcp-server

Verifiable entropy, provably-fair games, and receipt verification for AI agents (FairSeal API).

AI & MLTypeScriptv0.2.3

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.

@fairseal/commit @fairseal/core Tests


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

  1. Commit — Lock your drop table + player ID into a hash before the randomness exists
  2. Entropy — Wait for a public drand beacon round (Cloudflare + Protocol Labs)
  3. Resolve — Derive the selection from beacon entropy + your committed rule
  4. Verify — Anyone can re-run every step. BLS12-381 cryptographic verification. No trust required.

Performance

OperationTime
Commitment creation0.006ms (170,000+/sec)
Beacon fetch~200ms
BLS verification~150ms
Receipt size0.9 KB

Client-side. No server. No account. No fees for PARTIAL verification.

Packages

PackageDescription
@fairseal/gameGame API for RGS studios. Slots, gacha, loot boxes. (v0.1 ALPHA)
@fairseal/commitCommitted selection receipts. Core library.
@fairseal/coreCryptographic primitives, signing, Merkle trees.
@fairseal/verifyIndependent receipt verification.

Use Cases

ScenarioHow
Gacha / loot boxEvery pull has a receipt. Players verify drops match published rates.
Boss loot dropsDrop table committed per encounter. No ninja-nerfing.
MatchmakingPairing algorithm committed. Players verify no favoritism.
Tournament bracketsSeeding provably random, not rigged.
NFT mint orderQueue provably fair — no insider front-running.
Slot machinesSeed Commitment Model — verifiable spins, no nonce chain.

Links

License

MIT — Fairseal

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @fairseal/mcp-server

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-fairseal-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@fairseal/mcp-server"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@fairseal/mcp-servernpm

Compatible MCP Clients

io.fairseal/mcp-server works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More