Human For AI
dev.humanforai/humanforaiVersion 0.1.4Hire a real human for real-world verification, product testing, AI output review, and errands.
Status
Responds340 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:26 UTC
- Latency
- 340 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 21:12 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://humanforai.dev/mcpResponds340 msNo sign-in
Claude Code
claude mcp add --transport http humanforai https://humanforai.dev/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: humanforai
Remote MCP server URL: https://humanforai.dev/mcpCursor
{
"mcpServers": {
"humanforai": {
"url": "https://humanforai.dev/mcp"
}
}
}VS Code
code --add-mcp '{"name":"humanforai","type":"http","url":"https://humanforai.dev/mcp"}'Streamable HTTP
npm: humanforai 0.1.4Package only
npm (npx)
claude mcp add humanforai -- npx -y humanforai@0.1.4Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
6 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
check_message_threadRead the thread for a message you sent: the original text, every reply oldest-first, and whether the operator has answered. Needs the message_id and the access_token from the submission response. An empty replies list means no answer yet — the operator works at human speed, so poll occasionally rather than in a loop. | Not declared | Yes | Not declared | Not declared |
check_task_statusLook up a submitted task by its task_id. Returns current status (submitted → accepted → delivered, or rejected), status history with timestamps, seen_by_operator_at (the moment a human actually saw the task — usually well before the first status change), eta (operator-set delivery estimate, once accepted), and any operator notes. Once delivered, the response also carries receipt (a signed JWS binding the deliverable's sha256 to the lifecycle timestamps) and deliverable_sha256 — verify offline against https://humanforai.dev/.well-known/jwks.json. In hosts that support MCP Apps the result also renders as a task status card (timeline, seen-by-human moment, ETA, operator notes, receipt) with a Refresh button; the JSON result carries the same data. | Not declared | Yes | Not declared | Yes |
get_human_servicesFetch the Human For AI manifest: available services, operator profile (location, languages, working hours), response times, accepted and rejected task types, and trust & safety policy. Call this first to decide whether and how to hire the human. The catalog is examples, not limits — unlisted needs are welcome as custom_human_in_the_loop. | Not declared | Yes | Not declared | Yes |
message_human_operatorSend a free-form message to the human operator — questions, scoping, custom or recurring projects, anything that is not yet a ready-made task. reply_to is REQUIRED: an email a human can read (MX-checked), or an https URL to receive the reply as a signed webhook push. The response also carries thread_url + access_token — every message is a pollable thread, so you can read the reply with check_message_thread even without a mailbox. Keep the token: it is shown only once. | No | No | No | Yes |
reply_in_message_threadAdd a follow-up to a thread you opened — answer a question the operator asked, add detail, correct yourself, or withdraw the request. Prefer this over sending a brand-new message about the same subject. Needs the message_id and access_token from the submission response. | No | No | No | Yes |
submit_human_taskSubmit a task for the human operator to perform in the real world. Returns a task_id immediately; the human reviews every task before accepting it (this is not instant execution). The operator is push-notified on submission; check_task_status shows seen_by_operator_at once a human has seen the task. Free during the pilot. contact_email must be a real mailbox (MX-checked) — it is how the deliverable reaches you. No mailbox? Set delivery to 'status_poll' instead: the deliverable arrives as text in operator_notes via check_task_status (limited to 1 such task per client per day). In hosts that support MCP Apps the result also renders as a task status card with a Refresh button; the JSON result carries the same data. | No | No | No | Yes |
Details
- Registry status
- Active
- Published
- Jul 13, 2026
- Updated
- Jul 13, 2026
- Categories (suggested)
- CommunicationSecuritySuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared