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.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"human-tasks": {
"url": "https://invoke.nanocorp.app/mcp"
}
}
}Puntos de conexión remotos
https://invoke.nanocorp.app/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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.
Esquema de entrada
{
"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#"
}Esquema de salida
{
"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
}Comunidad
Evidencia