_ registry / mcp streamable-http · checked 2h ago

fairseal-mcp-server

https://api.fairseal.io

Registry code: fcb475f58de39fe6

api record

Anchor an AI agent decision or audit record to Base mainnet. Submit {schema, payload_hash (SHA-256 hex, 64 chars), metadata}; service queues into a Merkle batch and returns a receipt with pending_anchor status immediately. Full Merkle proof and on-chain anchor_tx available via free GET /v1/notarize/:receipt_id after batch anchors (within batch_threshold receipts or 120s). Include Idempotency-Ke...

from a public catalogue that lists it, not from the operator

endpoint
https://api.fairseal.io/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is fairseal-mcp-server live?
Yes — it answered the hub's last check (checked 2h ago). It answered 100% of checks over the last 30 days.
Is fairseal-mcp-server free to use?
Yes — the hub reached it with no key and no payment.
What tools does fairseal-mcp-server have?
18 tools: fairseal_recent_games, fairseal_verify_game, fairseal_sicbo_bet, fairseal_hash_content, fairseal_anchor_status, fairseal_notarize_status, fairseal_rng_generate, fairseal_dice_bet, ….
Is fairseal-mcp-server safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.7%

90 days 99.1%· all time 99.2%

latency
248ms

last good check

priced tools
0

of 18 tools

_ answered our checks, 90 days 571 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • down → live
  • degraded → live
  • live → degraded· timeout after 20000ms
_ what it is for
used for
  • anchor decision hash on base
  • notarize an ai decision
  • get verifiable random numbers
  • place provably fair dice bet
takes → gives
text → data
tools
9 reads3 changes data4 moves money
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 18 tools
1 open 17 never probed 1 of 18 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • fairseal_stats reads open 11h ago

    FairSeal entropy engine statistics. Read-only. [requires FAIRSEAL_API_KEY]

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • fairseal_recent_games reads unknown never probed

    List recently resolved games (useful to find game_ids to verify). Read-only.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • fairseal_verify_game reads unknown never probed

    Verify the fairness of a completed game. Returns VDF proof data and replay steps for independent verification. Read-only.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "game_id"
      ],
      "properties": {
        "game_id": {
          "type": "string",
          "description": "Game ID to verify"
        }
      }
    }
    arguments 13 lines
  • fairseal_sicbo_bet moves money unknown never probed

    Place a three-dice Sic Bo bet. Outcomes provably fair via VDF. Resolves after next epoch (~5s); use fairseal_game_result to poll.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "bet_type"
      ],
      "properties": {
        "combo": {
          "type": "array",
          "items": {
            "type": "integer",
            "maximum": 9007199254740991,
            "minimum": -9007199254740991
          },
          "description": "Dice combination for combo bets"
        },
        "amount": {
          "type": "number",
          "default": 1,
          "exclusiveMinimum": 0
        },
        "target": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Target value (total/single/double/triple bets)"
        },
        "bet_type": {
          "enum": [
            "big",
            "small",
            "odd",
            "even",
            "total",
            "single",
            "double",
            "triple",
            "anyTriple",
            "combo"
          ],
          "type": "string"
        },
        "player_id": {
          "type": "string",
          "default": "mcp-client"
        },
        "player_seed": {
          "type": "string"
        }
      }
    }
    arguments 51 lines
  • fairseal_hash_content reads unknown never probed

    Compute the SHA-256 hex digest of a string locally. Zero network calls — the content never leaves this machine. Use it to hash an agent's input and decision text before notarizing, so only hashes (never raw content) are sent to FairSeal.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "content"
      ],
      "properties": {
        "content": {
          "type": "string",
          "description": "Content to hash (UTF-8). Never transmitted anywhere."
        }
      }
    }
    arguments 13 lines
  • fairseal_anchor_status reads unknown 11h ago

    Check anchor lifecycle by anchor_id (GET /v2/anchor/{id}, live service). Free, no key needed. Lifecycle: queued → batched → anchored (Merkle proof + Base mainnet tx hash).

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "anchor_id"
      ],
      "properties": {
        "anchor_id": {
          "type": "string",
          "description": "Anchor ID from fairseal_anchor_submit"
        }
      }
    }
    arguments 13 lines
  • fairseal_notarize_status reads unknown 11h ago

    Fetch a notarization receipt by receipt_id (GET /v1/notarize/{id}). Free, no key needed. Returns the receipt, Merkle proof, and on-chain anchor tx once status is 'anchored'.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "receipt_id"
      ],
      "properties": {
        "receipt_id": {
          "type": "string",
          "pattern": "^nr_[0-9a-f]{32}$",
          "description": "Receipt ID from fairseal_notarize_decision (nr_...)"
        }
      }
    }
    arguments 14 lines
  • fairseal_rng_generate changes data unknown never probed

    Request raw verifiable random number generation (resolves after next VDF epoch, ~5s). Returns a poll URL / game_id. [requires FAIRSEAL_API_KEY]

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "client_seed": {
          "type": "string",
          "description": "Optional client-provided seed"
        }
      }
    }
    arguments 10 lines
  • fairseal_dice_bet moves money unknown never probed

    Place a two-dice bet (exact/over7/under7/odd/even). Resolves after next epoch (~5s).

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "bet_type"
      ],
      "properties": {
        "amount": {
          "type": "number",
          "default": 1,
          "exclusiveMinimum": 0
        },
        "target": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991,
          "description": "Target sum for exact bets"
        },
        "bet_type": {
          "enum": [
            "exact",
            "over7",
            "under7",
            "odd",
            "even"
          ],
          "type": "string"
        },
        "player_id": {
          "type": "string",
          "default": "mcp-client"
        },
        "player_seed": {
          "type": "string"
        }
      }
    }
    arguments 37 lines
  • fairseal_gacha_pull moves money unknown never probed

    Pull a weighted loot box (standard or premium pool). Provably fair via VDF.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "pool": {
          "enum": [
            "standard",
            "premium"
          ],
          "type": "string",
          "default": "standard"
        },
        "player_id": {
          "type": "string",
          "default": "mcp-client"
        },
        "player_seed": {
          "type": "string"
        }
      }
    }
    arguments 21 lines
  • fairseal_slots_spin moves money unknown never probed

    Spin the 5-reel 3-row slot machine with wild substitution. Provably fair via VDF.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "amount": {
          "type": "number",
          "default": 1,
          "exclusiveMinimum": 0
        },
        "player_id": {
          "type": "string",
          "default": "mcp-client"
        },
        "player_seed": {
          "type": "string"
        }
      }
    }
    arguments 18 lines
  • fairseal_notarize_decision changes data unknown never probed

    Create a cryptographic receipt for an AI-agent decision (POST /v1/notarize, schema agent_decision). The receipt is Merkle-batched and anchored on Base mainnet; verify offline with @fairseal/verify or at the returned verify_url. Receipts prove provenance (this hash existed at this time), not correctness of the decision. [requires FAIRSEAL_API_KEY or FAIRSEAL_NOTARY_API_KEY]

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "agent_id",
        "input_hash",
        "decision_hash"
      ],
      "properties": {
        "model": {
          "type": "string",
          "description": "Optional model identifier"
        },
        "agent_id": {
          "type": "string",
          "minLength": 1,
          "description": "Stable identifier of the deciding agent"
        },
        "operator": {
          "type": "string",
          "description": "Optional operator identifier"
        },
        "decided_at": {
          "type": "string",
          "description": "ISO-8601 UTC timestamp of the decision; defaults to now"
        },
        "input_hash": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$",
          "description": "SHA-256 hex of the decision input (use fairseal_hash_content)"
        },
        "session_id": {
          "type": "string",
          "description": "Optional session identifier"
        },
        "description": {
          "type": "string",
          "description": "Optional human-readable description"
        },
        "payload_hash": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$",
          "description": "SHA-256 hex of the full payload being notarized; defaults to decision_hash"
        },
        "decision_hash": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$",
          "description": "SHA-256 hex of the decision content (use fairseal_hash_content)"
        }
      }
    }
    arguments 51 lines
  • fairseal_break_assign unknown never probed

    Commit-before-entropy spot assignment for live card breaks, giveaways, raffles, or any contest where spots must be assigned to participants fairly. Submits {spots[], participants[], label?} to POST /v1/break on x402.fairseal.io (commitment immediately, then polls until the VDF epoch resolves, ~7-15s) and returns the full verifiable receipt with rule_hash, entropy, derivation string, assignment table, and offline verification steps. Receipts are cross-verifiable with the break.html web tool. Requires FAIRSEAL_ANCHOR_API_KEY or x402 $0.02 USDC payment.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "spots",
        "participants"
      ],
      "properties": {
        "label": {
          "type": "string",
          "maxLength": 200,
          "description": "Optional label for this break (e.g. 'break-2026-10-07')"
        },
        "spots": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1
          },
          "maxItems": 500,
          "minItems": 1,
          "description": "Ordered list of spots/items to fill (1..500 unique strings, max 100 chars each)"
        },
        "participants": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 100,
            "minLength": 1
          },
          "maxItems": 500,
          "minItems": 1,
          "description": "Participants to assign (must not exceed spots count; 1..500 unique strings)"
        }
      }
    }
    arguments 37 lines
  • fairseal_entropy reads unknown never probed

    Fetch raw verifiable entropy from the latest resolved VDF epoch at api.fairseal.io. Read-only. [requires FAIRSEAL_API_KEY]

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • fairseal_games_catalog reads unknown never probed

    List available provably-fair games (sicbo, dice, gacha, slots) with bet types and endpoints. Read-only.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {}
    }
    arguments 5 lines
  • fairseal_game_result reads unknown never probed

    Fetch the result of a game by game_id (poll until resolved). Read-only.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "game_id"
      ],
      "properties": {
        "game_id": {
          "type": "string",
          "description": "Game ID — 64-char hex hash, e.g. 64096a172374489ccd4563d7c15efe5e467604dd826149da0511a0fa6109e26f (get one from fairseal_recent_games or a bet tool response)"
        }
      }
    }
    arguments 13 lines
  • fairseal_anchor_submit changes data unknown never probed

    Queue a SHA-256 hash for Merkle-batch anchoring to Base mainnet (POST /v2/anchor, live service at x402.fairseal.io). Returns anchor_id + status_url; poll with fairseal_anchor_status until 'anchored' (typically ~60s). Auth: Bearer key (FAIRSEAL_API_KEY / FAIRSEAL_ANCHOR_API_KEY) or keyless x402 USDC micropayment (an HTTP 402 response carries machine-readable payment terms).

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "payload_hash"
      ],
      "properties": {
        "metadata": {
          "type": "object",
          "description": "Optional metadata object stored with the submission",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "payload_hash": {
          "type": "string",
          "pattern": "^[0-9a-fA-F]{64}$",
          "description": "SHA-256 hex digest of the receipt/commitment to anchor"
        }
      }
    }
    arguments 22 lines
  • fairseal_verify_receipt unknown never probed

    Independently verify any FairSeal receipt (notarize nr_… or anchor anc_…) by fetching it from api.fairseal.io and running local cryptographic verification via @fairseal/verify. Returns a four-state verdict: verified (on-chain proof passes all checks), invalid (tampered or bad proof), unsupported (unrecognized schema or format), or indeterminate (receipt unreachable / chain offline / not yet anchored). Fail-closed: 'verified' is only returned when ALL checks pass. No API key required. AIs can verify, not just humans.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "receipt_id": {
          "type": "string",
          "description": "Receipt ID to fetch and verify — starts with nr_ (notarize) or anc_ (anchor). Provide this OR receipt_json, not both."
        },
        "receipt_json": {
          "type": "object",
          "description": "Full receipt JSON object if you already have it. Provide this OR receipt_id, not both.",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        }
      }
    }
    arguments 18 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id fcb475f58de39fe6.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/fcb475f58de39fe6/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/fcb475f58de39fe6/badge.svg)](https://brick.blue/agent/fcb475f58de39fe6?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.