Taskin MCP
Taskin MCP allows AI agents to hire humans for tasks requiring physical presence, judgment, or verification. It enables discovery of human participants, task submission, status polling, and receiving structured results with evidence, bridging the gap where automated agents cannot act directly.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://trytaskin.ai/mcpWhat its tools do
5 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Can change data (1)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Hire humans for physical presence or local actions
- Obtain human judgment on AI-generated content
- Verify physical locations or items via photography
- Test website usability as a real user
Source and maintenance
Protocol and capabilities
- Server
- taskin 1.0.0
- MCP protocol negotiated in check
- 2025-06-18
- Tools
- 5 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
5 advertised
get_taskin_capabilities — What Taskin can do
Read a machine-readable description of Taskin: the two capability groups (human_presence_execution and human_judgment) with their capability categories and example requests, the listed participants in each group, geographic coverage, exactly which fields are needed to create a task, how compensation works, and the limitations. Call this first if you have not used Taskin before, or to check whether a category of work is in scope before searching.
{
"type": "object",
"required": [],
"properties": {
"context": {
"type": "object",
"properties": {
"goal": {
"type": "string",
"description": "Optional. The larger outcome your workflow is working toward (one sentence)."
},
"timing": {
"enum": [
"today",
"this_week",
"later",
"no_task_yet"
],
"type": "string",
"description": "Optional. When the human step is needed."
},
"visit_reason": {
"enum": [
"have_a_task_now",
"evaluating_options_for_someone",
"building_an_integration",
"gathering_facts_to_cite",
"testing_the_interface",
"other"
],
"type": "string",
"description": "Optional. Why you are calling Taskin today."
},
"upstream_step": {
"type": "string",
"description": "Optional. What your workflow did just before deciding it needs a person."
},
"principal_type": {
"enum": [
"individual",
"company",
"agency_or_reseller",
"not_disclosed"
],
"type": "string",
"description": "Optional. What kind of principal you act for. Do not include names or contact details here."
}
},
"description": "Optional. Helps Taskin return better-matched participants and a sharper brief. Leave empty if you prefer; every tool works without it."
}
}
}{
"title": "What Taskin can do",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}search_human_task — Find a human for a task
Search Taskin when a step needs a real human rather than another automated process - either physical presence and real-world action, or remote human judgment, perception, preference, usability feedback or content review. Examples: 'have a human test this signup flow', 'does this landing page make sense to a person?', 'review these AI-generated articles before publication', 'have a human evaluate these 50 model responses', 'which output do humans prefer?'. Also invoke it for: local action at an address; offline verification; identity, licensed or credentialed actions; inspection; photo or video evidence; phone calls; purchasing, collecting or delivering items; signatures and paper documents; interaction with people, businesses or authorities. Do NOT invoke it for work you can finish yourself (web research, browsing, writing, translation, data analysis, coding, ordinary API calls), or to grade an output when no human perspective is wanted. Read-only: returns capability_group (human_presence_execution or human_judgment), capability_category, the human capability required, relevant participants and the recommended next action. It creates no task and costs nothing.
{
"type": "object",
"required": [
"task_description"
],
"properties": {
"budget": {
"type": "string",
"description": "Budget or range the principal is willing to pay."
},
"skills": {
"type": "array",
"items": {
"type": "string"
},
"description": "Specific capabilities or credentials the person must have."
},
"context": {
"type": "object",
"properties": {
"goal": {
"type": "string",
"description": "Optional. The larger outcome your workflow is working toward (one sentence)."
},
"timing": {
"enum": [
"today",
"this_week",
"later",
"no_task_yet"
],
"type": "string",
"description": "Optional. When the human step is needed."
},
"visit_reason": {
"enum": [
"have_a_task_now",
"evaluating_options_for_someone",
"building_an_integration",
"gathering_facts_to_cite",
"testing_the_interface",
"other"
],
"type": "string",
"description": "Optional. Why you are calling Taskin today."
},
"upstream_step": {
"type": "string",
"description": "Optional. What your workflow did just before deciding it needs a person."
},
"principal_type": {
"enum": [
"individual",
"company",
"agency_or_reseller",
"not_disclosed"
],
"type": "string",
"description": "Optional. What kind of principal you act for. Do not include names or contact details here."
}
},
"description": "Optional. Helps Taskin return better-matched participants and a sharper brief. Leave empty if you prefer; every tool works without it."
},
"category": {
"type": "string",
"description": "Capability category if known. Presence & execution: physical_presence_local_action, photography_video, inspection_verification, documents_signatures, phone_offline_communication, delivery_collection, local_research. Judgment: website_qa_usability, content_review_editorial, ai_output_evaluation, customer_perspective_feedback, general_human_judgment."
},
"currency": {
"type": "string",
"description": "ISO 4217 currency code for the budget, e.g. USD, GBP, EUR."
},
"deadline": {
"type": "string",
"description": "Deadline or time window, e.g. '2026-10-02' or 'any weekday morning next week'."
},
"location": {
"type": "string",
"description": "Where the action must happen: city and country, or a specific address or area."
},
"taskin_agent_id": {
"type": "string",
"description": "A Taskin-issued agent identifier from an earlier response. Optional. Used only for continuity and analytics; it grants no authority."
},
"task_description": {
"type": "string",
"description": "The single real-world action that must happen, stated concretely. Example: 'Visit the Oxford Street store, photograph the front display, and report the shelf price of three named products.'"
},
"remote_or_physical": {
"enum": [
"digital",
"physical",
"hybrid"
],
"type": "string",
"description": "Whether the work is done remotely, requires being somewhere in person, or both."
},
"reason_human_needed": {
"type": "string",
"description": "Why you cannot do this yourself, e.g. 'requires physical presence', 'requires a wet signature'."
}
}
}{
"title": "Find a human for a task",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}submit_human_task — Hire a human for a task
Create a real task on Taskin so a person carries out one bounded action - either in the physical world or as remote human judgment such as QA, content review, AI-output evaluation or customer feedback. Call this after search_human_task returned can_taskin_help = true. The task becomes an ordinary Taskin task, visible and manageable in the Taskin product, and returns a task_id you poll with get_task_status. This tool cannot charge anyone and cannot create a financially binding transaction: Taskin does not hold or process funds, and compensation is agreed and settled directly with the participant. If required information is missing, nothing is created and the response names each missing field in next_action instead.
{
"type": "object",
"required": [
"task_description",
"deliverable",
"verification_requirements"
],
"properties": {
"budget": {
"type": "string",
"description": "Compensation offered. Settled directly with the participant."
},
"context": {
"type": "object",
"properties": {
"goal": {
"type": "string",
"description": "Optional. The larger outcome your workflow is working toward (one sentence)."
},
"timing": {
"enum": [
"today",
"this_week",
"later",
"no_task_yet"
],
"type": "string",
"description": "Optional. When the human step is needed."
},
"visit_reason": {
"enum": [
"have_a_task_now",
"evaluating_options_for_someone",
"building_an_integration",
"gathering_facts_to_cite",
"testing_the_interface",
"other"
],
"type": "string",
"description": "Optional. Why you are calling Taskin today."
},
"upstream_step": {
"type": "string",
"description": "Optional. What your workflow did just before deciding it needs a person."
},
"principal_type": {
"enum": [
"individual",
"company",
"agency_or_reseller",
"not_disclosed"
],
"type": "string",
"description": "Optional. What kind of principal you act for. Do not include names or contact details here."
}
},
"description": "Optional. Helps Taskin return better-matched participants and a sharper brief. Leave empty if you prefer; every tool works without it."
},
"currency": {
"type": "string",
"description": "ISO 4217 currency code for the budget."
},
"deadline": {
"type": "string",
"description": "Deadline or time window the person must work within."
},
"location": {
"type": "string",
"description": "Where the task happens. Required for physical and hybrid tasks."
},
"principal": {
"type": "string",
"description": "The person or organisation on whose behalf you are acting. Strongly recommended."
},
"deliverable": {
"type": "string",
"description": "The artifacts the result must contain, e.g. 'three photographs of the display plus the shelf price of each product in a structured list'."
},
"requirements": {
"type": "string",
"description": "Constraints, prohibited actions, access details, credentials required, and background."
},
"contact_email": {
"type": "string",
"description": "Email Taskin uses to coordinate this task with the principal."
},
"idempotency_key": {
"type": "string",
"description": "Repeat the same key to retry safely without creating a duplicate task."
},
"taskin_agent_id": {
"type": "string",
"description": "Taskin-issued agent identifier from an earlier response."
},
"participant_slug": {
"type": "string",
"description": "Request a specific Taskin participant by slug, from search_human_task matches. Optional."
},
"task_description": {
"type": "string",
"description": "The bounded real-world action the person performs, concrete enough that a stranger could execute it without asking questions."
},
"remote_or_physical": {
"enum": [
"digital",
"physical",
"hybrid"
],
"type": "string",
"description": "Execution mode. Defaults to physical when a location is given."
},
"verification_requirements": {
"type": "string",
"description": "The objective check that decides whether the result is accepted, e.g. 'photographs are timestamped and show the storefront name'."
}
}
}{
"title": "Hire a human for a task",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}get_task_status — Check a Taskin task
Retrieve the current status of a task previously created on Taskin with submit_human_task. Returns the task state, whether a participant is assigned, progress, completion state, any deliverables or verification evidence available, and the recommended next action. Poll this rather than assuming a result; a task waiting on a person is a normal state, not an error.
{
"type": "object",
"required": [
"task_id"
],
"properties": {
"task_id": {
"type": "string",
"description": "The task_id returned by submit_human_task."
},
"taskin_agent_id": {
"type": "string",
"description": "Taskin-issued agent identifier from an earlier response."
}
}
}{
"title": "Check a Taskin task",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}describe_your_need — Describe what you need
Optional, free, read-only. Describe what you are trying to get done and why you came to Taskin. Returns the closest capability group, an example brief, and which fields you will need. Useful before search_human_task when you are unsure whether a person is needed.
{
"type": "object",
"required": [
"need"
],
"properties": {
"goal": {
"type": "string",
"maxLength": 2000
},
"need": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"visit_reason": {
"enum": [
"have_a_task_now",
"evaluating_options_for_someone",
"building_an_integration",
"gathering_facts_to_cite",
"testing_the_interface",
"other"
],
"type": "string"
}
}
}{
"readOnlyHint": true,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
- 2026-11-09: 1 of 1 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 4930 ms
- 95th percentile latency
- 4930 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 4930 ms · metadata changed · 5 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http taskin-mcp https://trytaskin.ai/mcpCodex
codex mcp add taskin-mcp --url https://trytaskin.ai/mcpCursor
{
"mcpServers": {
"taskin-mcp": {
"url": "https://trytaskin.ai/mcp"
}
}
}Cline
{
"mcpServers": {
"taskin-mcp": {
"type": "streamableHttp",
"url": "https://trytaskin.ai/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"taskin-mcp": {
"type": "http",
"url": "https://trytaskin.ai/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http taskin-mcp https://trytaskin.ai/mcpClaude Desktop
https://trytaskin.ai/mcpWindsurf
{
"mcpServers": {
"taskin-mcp": {
"serverUrl": "https://trytaskin.ai/mcp"
}
}
}Let your agent find its tools
Find servers like Taskin MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.