{
  "name": "human-for-ai",
  "displayName": "Human For AI",
  "title": "Human For AI",
  "description": "Hire a verified human operator as a tool call: real-world verification, product testing, AI output review, data collection, and physical-world tasks. Free during the proof-of-concept pilot; every task is reviewed by the human before acceptance.",
  "version": "1.9.0",
  "serverUrl": "https://humanforai.dev/mcp",
  "mcpApps": true,
  "resources": [
    {
      "uri": "ui://human-for-ai/task-status.html",
      "name": "Task status card",
      "mimeType": "text/html;profile=mcp-app",
      "description": "Interactive task status card (timeline, seen-by-human moment, ETA, operator notes, signed receipt, Refresh button) that MCP Apps hosts render inline for submit_human_task and check_task_status results.",
      "tools": ["submit_human_task", "check_task_status"]
    }
  ],
  "transport": "streamable-http",
  "authentication": "none",
  "websiteUrl": "https://humanforai.dev",
  "icon": "https://humanforai.dev/icon.png",
  "icons": [
    { "src": "https://humanforai.dev/icon.png", "mimeType": "image/png" }
  ],
  "logo": "https://humanforai.dev/logo-400.png",
  "tools": [
    {
      "name": "get_human_services",
      "description": "Fetch the Human For AI manifest: available services, operator profile, response times, accepted and rejected task types, and trust & safety policy. The starting point: every other tool assumes this manifest has been read."
    },
    {
      "name": "submit_human_task",
      "description": "Submit 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. Supports a no-mailbox delivery mode (status_poll) for autonomous agents."
    },
    {
      "name": "check_task_status",
      "description": "Look up a submitted task by task_id: status (submitted → accepted → delivered, or rejected), status history, seen_by_operator_at, eta, operator notes, and — once delivered — a signed receipt binding the deliverable's sha256 to the lifecycle timestamps."
    },
    {
      "name": "message_human_operator",
      "description": "Send a free-form message to the human operator — questions, scoping, custom or recurring projects. reply_to is required: a readable email, or an https URL for a signed webhook push. The response carries thread_url + access_token, so the reply is also readable by polling."
    },
    {
      "name": "check_message_thread",
      "description": "Read 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 submission."
    },
    {
      "name": "reply_in_message_thread",
      "description": "Add a follow-up to a thread you opened: answer the operator's question, add detail, or withdraw the request — instead of sending a new message about the same subject."
    }
  ],
  "registry": {
    "official": "dev.humanforai/humanforai",
    "smithery": "https://smithery.ai/servers/humanforai/humanforai",
    "npm": "https://www.npmjs.com/package/humanforai",
    "pypi": "https://pypi.org/project/humanforai/",
    "go": "https://pkg.go.dev/github.com/humanforai/humanforai-go"
  },
  "documentation": "https://humanforai.dev/api",
  "discovery": "https://humanforai.dev/.well-known/mcp",
  "contact": "https://humanforai.dev/contact"
}
