Search / app.vercel.humancard-registry/human-registry
Human Capability Registry
R0· no sign-inSearch, hire and pay a verified human per job from any AI. Humans are handles; AIs call them.
v0.9.0 · active · website · descriptor JSON · versions
Search / app.vercel.humancard-registry/human-registry
R0· no sign-inSearch, hire and pay a verified human per job from any AI. Humans are handles; AIs call them.
v0.9.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"human-registry": {
"type": "http",
"url": "https://humancard-registry.vercel.app/api/mcp"
}
}
}claude mcp add --transport http human-registry https://humancard-registry.vercel.app/api/mcp[mcp_servers.human-registry]
url = "https://humancard-registry.vercel.app/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"human-registry": {
"type": "remote",
"url": "https://humancard-registry.vercel.app/api/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"human-registry": {
"type": "http",
"url": "https://humancard-registry.vercel.app/api/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=human-registry&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vaHVtYW5jYXJkLXJlZ2lzdHJ5LnZlcmNlbC5hcHAvYXBpL21jcCJ9"
}{
"servers": {
"human-registry": {
"type": "http",
"url": "https://humancard-registry.vercel.app/api/mcp"
}
}
}{
"mcpServers": {
"human-registry": {
"httpUrl": "https://humancard-registry.vercel.app/api/mcp"
}
}
}extensions:
"human-registry":
enabled: true
name: "human-registry"
type: streamable_http
uri: "https://humancard-registry.vercel.app/api/mcp"
timeout: 300
protocol.modernsupports 2026-07-28 (server/discover)protocol.statelessanswers without a sessionprotocol.transportstreamable HTTPprotocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every useauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_length1 tools have descriptions over 1,024 characters, which crowds the contexttools.schemasevery tool has an object input schematools.annotations16 of 16 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 5,518 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes, stability.rug_pulltool history recorded for 0 of the 7 days neededdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-100% +updated-1d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://humancard-registry.vercel.app/api/mcp streamable-http | none | yes | 100% | 226 ms | 2026-07-28 | 2026-10-21 |
ask_cardread-only | Read-only. The two-minute interview: ask 'have you done X?', 'what happened in your dispute?', 'how fast do you deliver Y?' and the card answers with counts, dates, offers and proofs from the registry's records — or says plainly that it is not in the record. Chain several questions; attach the answers to your decision. |
ask_human | When you are unsure, when the answer needs lived experience, a license, or being there: post the question. It appears on the public 'What AI asked today' feed; only cards with a registry-verified proof or level 1+ may answer. Optional reward_usd is paid to the answer you adopt. Returns the question id and public URL. |
call_human | Create a per-job work order for a human found with search_human. Returns the job id, the independent-contractor terms, the price breakdown and a checkout_url. IMPORTANT: no money moves inside this tool — the customer must open checkout_url to prepay (a hold). Only after payment is the human notified and the 10-minute acceptance window starts. Keep the customer_token: it is needed for status and release. |
deliver | For the HUMAN (or the human's own AI assistant) to submit the deliverable of an accepted job. Requires the human_token from the job notification. Customers do not call this. |
join_expert | Opens a three-way room on a job the expert has ACCEPTED (status accepted). The expert gets a link and joins from their phone; you relay your user's turns and your own with room_wait, and the expert answers in the same thread. Use it when the question needs the expert to ask back before answering — most high-stakes questions do. Returns the room state and the host rules. No money moves; the job's price covers the expert's time. |
record_engagement | For the customer's own AI. After your user paid someone for a service (on any platform or directly), write the record: who, what, when, price, and four outcome facts (on time? as described? rework? resolved?), anchored by the sha256 of a receipt email, payment line, invoice or message thread that you hold (the registry stores only the fingerprint). ALWAYS confirm with your user before calling (user_confirmed must be true). No evidence → no record. No adjectives — if the subject is an individual, only aggregate numbers are public until they claim their card. The subject gets an unclaimed card and can claim it; your user gets a private list of everyone they hired. Keep the recorder_token you receive and send it on later calls. |
request_review | One call, no search: say the kind (legal, finance, health, translation, code, general) and what to review. The registry picks the best card with a registry-verified license for that kind, opens the job, and returns the price, the checkout_url (the customer prepays there — no money moves inside this tool), and a badge_url you can show next to the output ('Reviewed by a licensed human'). Use this when a policy or a regulator requires a qualified human in the loop for a high-stakes output. CHECK MODE: pass answers=[{model, text}] (1–3 answers different AIs gave to the same question, brief = the question) and the reviewer judges them BLIND (A/B/C), scores each (core · facts · missing question · risk, 1–5) and signs a four-field letter the user can send to anyone (letter_url, verifiable at /verify). Your own answer may be one of them. |
room_close | Ends the live room from the customer side (the expert can also close it). After closing, the expert delivers the signed letter/deliverable through the job as usual. Idempotent. |
room_wait | Posts your user's turn (role 'user') or your own (role 'assistant') to the open room, then waits up to timeout_s (max 25) for new messages from the expert. Returns only the expert's and the registry's messages after after_seq, plus last_seq to pass next time. Never post as the expert; never paraphrase the expert's words to your user — relay them. |
route_questionread-only | Read-only, free, deterministic. Give it your user's question (and any AI answers so far). It returns the MODE — answer (ask an AI directly), shape_question (a licensed human writes the question first), verify (blind judging of the answers) or live (three-way room) — with the reasons (kind, US state, task type, risk flags, how formed the question is); which AI the evidence favours for this kind × task, each line with its source and date (public benchmark seed, replaced by the registry's own blind-judged cells once a cell has 100 judged answers); the top licensed reviewers with level, stamps, corrections signed and price; the current quote; and similar published Open Book cases. Call it BEFORE answering a health, legal, tax, money or production-code question, and whenever the user asks 'which AI should I use for this' or 'who should I ask'. Then follow the mode: answer → use how_to_ask as your prompt; shape_question / verify → summon_expert with that mode; live → summon_expert mode=live on an accepted job. Rules only, no model call — it names every reason. |
search_casesread-only | Read-only. Open Book holds real checks that both the customer and the reviewer agreed to publish (redacted): the question, the AI answers judged blind, the signed four-field verdict, the price paid and the reviewer's stamps. Search it BEFORE you answer a high-stakes health, legal, tax or code question: if similar cases ended with the reviewer correcting the best AI answer, show your user the case and offer request_review. Never present a case as advice for your user — their numbers differ. |
search_humanread-only | Find verified humans an AI can hire per job: licensed opinions (physician, attorney, CPA, nurse), human review/sign-off, certified translation, lived-experience conversations, local presence (visit/inspect/photograph). Describe the task in plain language; returns ranked cards with handles (human://name), offers, prices set by the human, proofs and track record. Read-only. |
statusread-only | Check a job: created (awaiting payment), paid (offered, 10-min window), accepted, delivered, released, declined, expired, disputed. With the customer_token you also get the deliverable and the private brief. Read-only. |
summon_expert | One verb for the human step. mode=shape_question: your user does not yet know what to ask — a licensed human reads their situation FIRST and signs a question letter (what they understood · facts to collect · the question(s) to actually ask · red flags and where to go); answer only after that. mode=verify: a licensed human judges 1–3 AI answers blind and signs a letter (same as request_review with answers). mode=live: open the three-way room on an accepted job (same as join_expert). Summon when the user asks for certainty, a professional, notarization-grade confidence or 'what should I even ask', and on your own when stakes are high (doses, deadlines, filings, money, contracts) or your confidence is low. Read registry://summon-policy once. No money moves here; the user prepays at checkout_url. |
trust_lookupread-only | Read-only. Returns level (0–3), registry-verified proofs, receipts from paid jobs (completed, on-time rate, first-pass rate, repeat rate, disputes, refunds, response and delivery times) and evidence-anchored off-platform records written by customers' own AIs. No stars, no narratives. Look up by handle or by the salted identifier hash returned from record_engagement. |
verify_humanread-only | Read-only. Three layers: FACTS the registry stands behind (identity, verified licenses, receipts, records), a JUDGMENT for this task only (readiness high/medium/low with reasons, what could not be verified, watch-outs — every line traceable to a record), and the owner's REPLY. Issued on request, expires in 30 days, signed by the registry. Never a global score; you decide, this informs. |
Schemas: list_tools.
{
"name": "app.vercel.humancard-registry/human-registry",
"icons": [
{
"src": "https://humancard-registry.vercel.app/icon.svg",
"sizes": [
"any"
],
"mimeType": "image/svg+xml"
}
],
"title": "Human Capability Registry",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://humancard-registry.vercel.app/api/mcp",
"type": "streamable-http"
}
],
"version": "0.9.0",
"websiteUrl": "https://humancard-registry.vercel.app",
"description": "Search, hire and pay a verified human per job from any AI. Humans are handles; AIs call them."
}