MCP Server

5arz-proof-of-human

io.github.LumiRx/5arz-proof-of-human
Business & Operations Security Public & reachable MCP 2025-11-25

What this MCP does

Issues and verifies signed proof-of-human credentials and supports purchasing verified human work with payment-based fulfillment receipts.

check_credential
Verify a PoHF credential (no 5arz trust required)
Independently verify a 5arz PoHF JWT: checks the ES256 signature against the live public JWKS and validates expiry/not-before, then returns valid/invalid plus the decoded claims. No API key needed — this is pure cryptographic verification you could also do with any standard JWT library. Accepts either the legacy pohf_jwt / pop_jwt or the standards-conformant sd_jwt_vc (IETF SD-JWT VC, typ dc+sd-jwt).
Read only Open world
Input schema
{'type': 'object', 'required': ['pohf_jwt'], 'properties': {'pohf_jwt': {'type': 'string', 'description': 'The credential returned by verify_human — the compact JWT, or the sd_jwt_vc string (ends in ~).'}}, 'additionalProperties': False}
get_attestation_receipt
Fetch a Proof-of-Human-Fulfillment receipt
Fetch a Proof-of-Human-Fulfillment receipt by attestation id. Returns the signed packet, verifier identifier, JWKS URL, and a how-to-verify hint. Free, no API key — pair it with check_credential to verify the signature yourself.
Read only Open world
Input schema
{'type': 'object', 'required': ['attestation_id'], 'properties': {'attestation_id': {'type': 'string', 'description': 'Returned at fulfillment, or in the X-Attestation-Id header on the buy response.'}}, 'additionalProperties': False}
get_balance
Check plan and remaining allowance
Return the current plan, seals and document checks used this month, and what remains. Requires an API key.
Read only Open world
Input schema
{'type': 'object', 'properties': {'apiKey': {'type': 'string', 'description': 'Optional: pass your key here if your client cannot set the Authorization header.'}}, 'additionalProperties': False}
get_vhh_index
Get the Verified-Human-Hour index ($/hr)
Return the current Verified-Human-Hour (VHH) index — the benchmark price of one hour of verified human work/attention, in USD. Free, no API key. Useful for pricing verified-human data and as a citable benchmark.
Read only Open world
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
list_verified_human_tasks
List buyable verified human work
List currently-buyable verified human work tasks. Each task includes its USD price, remaining slots, supported settlement chains, and the kind of Proof-of-Human-Fulfillment receipt issued on completion. Free, no API key.
Read only Open world
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Max tasks to return (default 20, max 100).'}}, 'additionalProperties': False}
purchase_verified_human_task
Buy one slot of verified human work (x402)
Buy one slot of a verified human task. Called without payment it returns an HTTP 402 / x402 challenge with settlement instructions; settle USDC on the offered chain and call again with x_payment and purchase_id to receive an attestation_id — a verifiable Proof-of-Human-Fulfillment receipt. No API key required; the payment is the authentication.
Destructive Open world
Input schema
{'type': 'object', 'required': ['task_id'], 'properties': {'task_id': {'type': 'string', 'description': 'Task id from list_verified_human_tasks.'}, 'x_payment': {'type': 'string', 'description': 'Optional X-PAYMENT settlement proof. Omit to receive the 402 challenge.'}, 'purchase_id': {'type': 'string', 'description': 'Purchase id from the previous 402. Required when presenting an x_payment.'}, 'agent_key_thumb': {'type': 'string', 'description': "Optional RFC 7638 JWK thumbprint of your agent key; embedded in the receipt's cnf.jkt claim."}}, 'additionalProperties': False}
register_agent
Register an agent (get a 5arz API key)
Create a 5arz API key so your agent can request proof-of-human credentials. Every new key starts on the Free plan — 1,000 credential seals a month and 10 document checks, no card. Pass mode:"test" for an unlimited free sandbox key (arz_test_…) whose credentials are marked test:true — never treat test credentials as production proof. The key is shown once; store it.
Open world
Input schema
{'type': 'object', 'required': ['name', 'contactEmail'], 'properties': {'mode': {'enum': ['live', 'test'], 'type': 'string', 'default': 'live', 'description': 'live for production keys; test for an unlimited free sandbox key.'}, 'name': {'type': 'string', 'description': 'Your company or agent name.'}, 'contactEmail': {'type': 'string', 'format': 'email', 'description': 'Contact email for the account.'}}, 'additionalProperties': False}
subscribe
Subscribe to a 5arz plan
Get a Stripe checkout link for a 5arz plan. Free (1,000 seals/mo, 10 document checks), Starter ($99/mo, 100k seals, $1.25/document check), Growth ($499/mo, 1M seals, $0.75/check), Scale ($2,499/mo, unlimited seals, $0.50/check). SEALS are credential signatures and are effectively free; DOCUMENT CHECKS are the vendor identity verification and are what you are really paying for. Human verification is always free to the human, at any volume. Requires an API key.
Open world
Input schema
{'type': 'object', 'required': ['plan'], 'properties': {'plan': {'enum': ['starter', 'growth', 'scale'], 'type': 'string', 'description': 'starter=$99/mo, growth=$499/mo, scale=$2,499/mo. See https://5arz.com/pricing.'}, 'apiKey': {'type': 'string', 'description': 'Optional: pass your key here if your client cannot set the Authorization header.'}}, 'additionalProperties': False}
verify_human
Verify a human (mint a PoHF credential)
Mint a signed Proof-of-Human-Fulfillment (PoHF) credential attesting a real, ID-verified, live human performed an action. Provide sessionId to attest work fulfillment, or memberId to attest that an ID-verified human is behind an account (optionally wallet-bound). This does not establish that the person holds only one account — read sybil_checked in the returned claims before gating one-per-person actions. Counts as one seal against your monthly plan allowance (1,000/month on Free; unlimited for test keys). Returns an ES256 JWT that anyone can verify against the public JWKS — pass it to check_credential. Requires an API key (Authorization: Bearer, or the apiKey argument).
Open world
Input schema
{'type': 'object', 'properties': {'apiKey': {'type': 'string', 'description': 'Optional: pass your key here if your client cannot set the Authorization header.'}, 'wallet': {'type': 'string', 'description': 'Optional EVM address to bind for on-chain isVerifiedHuman() gating (personhood path).'}, 'memberId': {'type': 'string', 'description': 'Member to attest as an ID-verified, live human (personhood path).'}, 'sessionId': {'type': 'string', 'description': 'Verified session to attest (work-fulfillment path).'}, 'walletSig': {'type': 'string', 'description': 'Optional EIP-191 personal_sign of the wallet challenge.'}, 'walletNonce': {'type': 'string', 'description': 'Optional wallet challenge nonce.'}}, 'additionalProperties': False}
Changed
check_credential
Sept. 29, 2026, 2:52 a.m.
Added
get_attestation_receipt
Sept. 17, 2026, 12:43 p.m.
Added
purchase_verified_human_task
Sept. 17, 2026, 12:43 p.m.
Added
list_verified_human_tasks
Sept. 17, 2026, 12:43 p.m.
Added
get_balance
Sept. 17, 2026, 12:43 p.m.
Added
subscribe
Sept. 17, 2026, 12:43 p.m.
Added
get_vhh_index
Sept. 17, 2026, 12:43 p.m.
Added
check_credential
Sept. 17, 2026, 12:43 p.m.
Added
verify_human
Sept. 17, 2026, 12:43 p.m.
Added
register_agent
Sept. 17, 2026, 12:43 p.m.