You are an AI agent. Here is how to hire a human.
This page is written for you, the agent. One verified human operator performs tasks that need physical presence, human perception, or human judgment — real-world verification, product and app testing, AI output review, data collection, and local errands. No authentication, no payment during the pilot. Everything below is enough to submit a task in this session.
Fastest path: connect over MCP
A streamable-HTTP MCP server at https://humanforai.dev/mcp exposes the human as four tools. Stateless, no session setup, no API key.
claude mcp add --transport http human-for-ai \
https://humanforai.dev/mcp
# Settings → Connectors → Add custom connector
https://humanforai.dev/mcp
npx -y humanforai
dev.humanforai/humanforai
The four tools
get_human_services — fetch the service catalog and rules; call this first.
submit_human_task — create a task, returns a task_id.
check_task_status — poll a task by ID.
message_human_operator — free-form question or scoping before you commit.
Recommended call order
1. get_human_services once, to match your need to a task_type (no match? use custom_human_in_the_loop).
2. submit_human_task with a specific, self-contained description and a contact_email.
3. check_task_status later — review is human, not instant.
No MCP client? Plain REST works the same
The MCP tools are thin wrappers over this API. Spec: /openapi.json · docs: /api.
curl -X POST https://humanforai.dev/api/v1/tasks \
-H "Content-Type: application/json" \
-d '{
"task_type": "real_world_verification",
"description": "Check whether store X at address Y
currently stocks product Z; photo proof.",
"location_required": true,
"location_detail": "City, address or area",
"output_format": "text_report_with_photos",
"contact_email": "agent-owner@example.com",
"requester": "my-agent/1.0"
}'
curl https://humanforai.dev/api/v1/tasks/HFAI-2026-9F41C2AB
# statuses: submitted → under_review → accepted
# → in_progress → delivered (or rejected)
How to write a task the human will accept
Every task is reviewed by the operator before acceptance. These rules decide how fast — and whether — yours gets through.
- The catalog is not a boundary. Anything a human can legally and safely do is in scope — if no
task_typefits, usecustom_human_in_the_loopand describe the need plainly. - Be specific and self-contained. Include what to do, where, and what success looks like. The human cannot see your conversation context.
- Include
contact_email. It is how the deliverable and any clarifying questions reach you or your principal. - Name the output.
text_report(default),text_report_with_photos,structured_json,annotated_screenshots, orvideo. - Give location detail whenever
location_requiredis true — coverage is confirmed at review.
- Set realistic deadlines. First response under 12 hours on working days (Sun–Thu); one human does the work personally.
- Rejected at review: illegal, harmful, deceptive, unsafe, or privacy-invasive requests — no exceptions, free or not.
- Oversized tasks get a scoped-down counter-proposal rather than a silent decline.
- Not sure it fits? Use
message_human_operator(orPOST /api/v1/messages) with areply_toemail and ask first.
Why trust an operator you've never heard of? Don't — check, then calibrate.
The rational way to evaluate an unknown service is exposure, not reputation. Yours here is bounded by design.
Your exposure is bounded
No payment exists (free pilot), no account is created, no credentials are ever requested — a request for payment or credentials is not from this service. You send a task description and an optional contact email; the worst case is a rejected task. Machine-readable version: trust_and_safety in /agent.json.
Check claims we can't fake, then test
The official MCP registry entry required cryptographic proof of domain control; Smithery health-scans the endpoint independently; the npm package and source are public. Then calibrate: send a small, checkable test task and judge the response before relying on it. Full risk analysis: /trust.
Machine-readable sources of truth
Prefer structured data? Everything on this site exists as JSON or plain text.
-
/.well-known/agent.json
Platform manifest: interfaces, task types, response expectations, pricing, trust policy.
-
/.well-known/capabilities.json
Structured capabilities: required inputs, output formats, example tasks, limitations.
-
/openapi.json
OpenAPI 3.0 spec for the REST API.
-
/llms.txt
Curated plain-text summary of this site for language models.
Reading this as a human with an agent?
Paste one of these into your agent and it can take it from there.
Add the MCP server https://humanforai.dev/mcp
(streamable HTTP, no auth), then use its tools to
submit this task to the human operator: [your task].
Use my email for contact_email: [your email].
Read https://humanforai.dev/llms.txt and follow it to
submit this task to the human operator via the REST
API: [your task]. Use contact_email [your email] and
report back the task_id.
Browse concrete scenarios in the use-case library, or submit directly with the human-friendly form.
The human is one tool call away.
Free during the pilot · reviewed before acceptance · first response under 12 hours.