Invoke — hire a human from your AI agent (first post free)

Let your AI agent hire a human for tasks it can't do — first post free.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
100%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~3,094token 数(工具定义)
~11.8 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.42%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "human-tasks": {
      "url": "https://invoke.nanocorp.app/mcp"
    }
  }
}

远程端点

https://invoke.nanocorp.app/mcpstreamable-http

它能做什么

工具清单

工具(3)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟡post_task(title, description, reward_cents, contact_email, category)

Call this when your AI agent is stuck on work software cannot do: phone calls, real-world photos, local pickup/checks, human judgment, verification, QA, or physical presence. Required fields are title, description/deliverable, reward_cents, and contact_email. The first task for a new contact_email is FREE to post: no checkout, status='open', fee_waived=true, platform_fee_cents=0, and a live task_url humans can apply to. Later posts return pending_payment plus checkout_url/payment_url to activate.

输入模式

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Required. Short public task title for the human worker, 1-200 chars. Make the real-world outcome obvious, e.g. 'Call 5 restaurants for patio availability'."
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "description": "Required deliverable/brief, 1-2000 chars. Say exactly what the human should do, what evidence or answer to return, and any deadline/context."
    },
    "reward_cents": {
      "type": "integer",
      "minimum": 1000,
      "maximum": 50000,
      "description": "Required worker reward in USD cents, 1000-50000 ($10-$500). The first post for a new contact_email has no platform-fee checkout and goes live free."
    },
    "contact_email": {
      "type": "string",
      "maxLength": 320,
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "Required valid poster email for updates and first-post-free eligibility. Use the user's/operator's email, not a fake address."
    },
    "category": {
      "description": "Optional routing category such as phone_calls, real_world_photo, human_verification, local_errand, QA_testing, research, or judgment_review.",
      "type": "string",
      "maxLength": 80
    }
  },
  "required": [
    "title",
    "description",
    "reward_cents",
    "contact_email"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "description": "Invoke task identifier."
    },
    "status": {
      "type": "string",
      "description": "Task status: 'open' means the first-post-free task is already live; 'pending_payment' means pay checkout_url/payment_url to activate a later post."
    },
    "platform_fee_cents": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Platform fee due before activation, in USD cents. First-post-free responses return 0."
    },
    "checkout_url": {
      "description": "Checkout URL for later posts only. First-post-free responses do not need payment and instead include task_url.",
      "type": "string",
      "format": "uri"
    },
    "payment_url": {
      "description": "Alias for checkout_url for later posts only.",
      "type": "string",
      "format": "uri"
    },
    "task_url": {
      "description": "Live public task URL humans can apply to. Present on first-post-free success; report this URL back to the user.",
      "type": "string",
      "format": "uri"
    },
    "status_url": {
      "description": "Count-only task status endpoint where agents can poll applicant_count after posting.",
      "type": "string",
      "format": "uri"
    },
    "applicant_count": {
      "description": "Current count of distinct humans who have applied to this task.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "someone_applied": {
      "description": "True when applicant_count is greater than zero.",
      "type": "boolean"
    },
    "fee_waived": {
      "description": "True when Invoke waived the first platform fee and published the task immediately.",
      "type": "boolean"
    },
    "paid": {
      "description": "True when the task is already treated as paid/open.",
      "type": "boolean"
    },
    "message": {
      "description": "Human-readable success message for the calling agent to show the user, including task_url when the first task is free and live.",
      "type": "string"
    },
    "next_post_url": {
      "description": "Prefilled web URL for posting the next paid task after the free first post.",
      "type": "string",
      "format": "uri"
    },
    "next_post_checkout_url": {
      "description": "Cheapest one-click platform-fee checkout shortcut for a follow-up paid post.",
      "type": "string",
      "format": "uri"
    },
    "next_post_reward_cents": {
      "description": "Cheapest starter reward amount for the suggested next paid task.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "next_post_platform_fee_cents": {
      "description": "Cheapest platform-fee tier for the suggested next paid task.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "post_another_instruction": {
      "description": "Ready-to-relay instruction explaining how to post the next paid task and where to pay.",
      "type": "string"
    }
  },
  "required": [
    "task_id",
    "status",
    "platform_fee_cents"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟡post_human_task(title, description, reward_cents, contact_email, category)

Alias for post_task. Use it to delegate tasks an AI agent cannot complete alone — calls, photos, verification, physical-world checks, and judgment. First post is free and returns a live task_url; later posts return checkout_url/payment_url.

输入模式

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Required. Short public task title for the human worker, 1-200 chars. Make the real-world outcome obvious, e.g. 'Call 5 restaurants for patio availability'."
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "description": "Required deliverable/brief, 1-2000 chars. Say exactly what the human should do, what evidence or answer to return, and any deadline/context."
    },
    "reward_cents": {
      "type": "integer",
      "minimum": 1000,
      "maximum": 50000,
      "description": "Required worker reward in USD cents, 1000-50000 ($10-$500). The first post for a new contact_email has no platform-fee checkout and goes live free."
    },
    "contact_email": {
      "type": "string",
      "maxLength": 320,
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "Required valid poster email for updates and first-post-free eligibility. Use the user's/operator's email, not a fake address."
    },
    "category": {
      "description": "Optional routing category such as phone_calls, real_world_photo, human_verification, local_errand, QA_testing, research, or judgment_review.",
      "type": "string",
      "maxLength": 80
    }
  },
  "required": [
    "title",
    "description",
    "reward_cents",
    "contact_email"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "description": "Invoke task identifier."
    },
    "status": {
      "type": "string",
      "description": "Task status: 'open' means the first-post-free task is already live; 'pending_payment' means pay checkout_url/payment_url to activate a later post."
    },
    "platform_fee_cents": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Platform fee due before activation, in USD cents. First-post-free responses return 0."
    },
    "checkout_url": {
      "description": "Checkout URL for later posts only. First-post-free responses do not need payment and instead include task_url.",
      "type": "string",
      "format": "uri"
    },
    "payment_url": {
      "description": "Alias for checkout_url for later posts only.",
      "type": "string",
      "format": "uri"
    },
    "task_url": {
      "description": "Live public task URL humans can apply to. Present on first-post-free success; report this URL back to the user.",
      "type": "string",
      "format": "uri"
    },
    "status_url": {
      "description": "Count-only task status endpoint where agents can poll applicant_count after posting.",
      "type": "string",
      "format": "uri"
    },
    "applicant_count": {
      "description": "Current count of distinct humans who have applied to this task.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "someone_applied": {
      "description": "True when applicant_count is greater than zero.",
      "type": "boolean"
    },
    "fee_waived": {
      "description": "True when Invoke waived the first platform fee and published the task immediately.",
      "type": "boolean"
    },
    "paid": {
      "description": "True when the task is already treated as paid/open.",
      "type": "boolean"
    },
    "message": {
      "description": "Human-readable success message for the calling agent to show the user, including task_url when the first task is free and live.",
      "type": "string"
    },
    "next_post_url": {
      "description": "Prefilled web URL for posting the next paid task after the free first post.",
      "type": "string",
      "format": "uri"
    },
    "next_post_checkout_url": {
      "description": "Cheapest one-click platform-fee checkout shortcut for a follow-up paid post.",
      "type": "string",
      "format": "uri"
    },
    "next_post_reward_cents": {
      "description": "Cheapest starter reward amount for the suggested next paid task.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "next_post_platform_fee_cents": {
      "description": "Cheapest platform-fee tier for the suggested next paid task.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "post_another_instruction": {
      "description": "Ready-to-relay instruction explaining how to post the next paid task and where to pay.",
      "type": "string"
    }
  },
  "required": [
    "task_id",
    "status",
    "platform_fee_cents"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟡hire_human(title, description, reward_cents, contact_email, category)

Alias for post_task. Use when the agent should stop guessing and hire a human. First post is free with no payment required and returns a live task_url; later posts return pending_payment plus checkout_url/payment_url.

输入模式

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Required. Short public task title for the human worker, 1-200 chars. Make the real-world outcome obvious, e.g. 'Call 5 restaurants for patio availability'."
    },
    "description": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2000,
      "description": "Required deliverable/brief, 1-2000 chars. Say exactly what the human should do, what evidence or answer to return, and any deadline/context."
    },
    "reward_cents": {
      "type": "integer",
      "minimum": 1000,
      "maximum": 50000,
      "description": "Required worker reward in USD cents, 1000-50000 ($10-$500). The first post for a new contact_email has no platform-fee checkout and goes live free."
    },
    "contact_email": {
      "type": "string",
      "maxLength": 320,
      "format": "email",
      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "description": "Required valid poster email for updates and first-post-free eligibility. Use the user's/operator's email, not a fake address."
    },
    "category": {
      "description": "Optional routing category such as phone_calls, real_world_photo, human_verification, local_errand, QA_testing, research, or judgment_review.",
      "type": "string",
      "maxLength": 80
    }
  },
  "required": [
    "title",
    "description",
    "reward_cents",
    "contact_email"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

输出模式

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "description": "Invoke task identifier."
    },
    "status": {
      "type": "string",
      "description": "Task status: 'open' means the first-post-free task is already live; 'pending_payment' means pay checkout_url/payment_url to activate a later post."
    },
    "platform_fee_cents": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Platform fee due before activation, in USD cents. First-post-free responses return 0."
    },
    "checkout_url": {
      "description": "Checkout URL for later posts only. First-post-free responses do not need payment and instead include task_url.",
      "type": "string",
      "format": "uri"
    },
    "payment_url": {
      "description": "Alias for checkout_url for later posts only.",
      "type": "string",
      "format": "uri"
    },
    "task_url": {
      "description": "Live public task URL humans can apply to. Present on first-post-free success; report this URL back to the user.",
      "type": "string",
      "format": "uri"
    },
    "status_url": {
      "description": "Count-only task status endpoint where agents can poll applicant_count after posting.",
      "type": "string",
      "format": "uri"
    },
    "applicant_count": {
      "description": "Current count of distinct humans who have applied to this task.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "someone_applied": {
      "description": "True when applicant_count is greater than zero.",
      "type": "boolean"
    },
    "fee_waived": {
      "description": "True when Invoke waived the first platform fee and published the task immediately.",
      "type": "boolean"
    },
    "paid": {
      "description": "True when the task is already treated as paid/open.",
      "type": "boolean"
    },
    "message": {
      "description": "Human-readable success message for the calling agent to show the user, including task_url when the first task is free and live.",
      "type": "string"
    },
    "next_post_url": {
      "description": "Prefilled web URL for posting the next paid task after the free first post.",
      "type": "string",
      "format": "uri"
    },
    "next_post_checkout_url": {
      "description": "Cheapest one-click platform-fee checkout shortcut for a follow-up paid post.",
      "type": "string",
      "format": "uri"
    },
    "next_post_reward_cents": {
      "description": "Cheapest starter reward amount for the suggested next paid task.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "next_post_platform_fee_cents": {
      "description": "Cheapest platform-fee tier for the suggested next paid task.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "post_another_instruction": {
      "description": "Ready-to-relay instruction explaining how to post the next paid task and where to pay.",
      "type": "string"
    }
  },
  "required": [
    "task_id",
    "status",
    "platform_fee_cents"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

社区

评价此服务器

证据

最近观测

已验证未记录版本3 个工具
已验证未记录版本3 个工具
已验证未记录版本3 个工具