MCP 2025-06-18
task_claim
Take an unassigned task. A task someone else owns answers WORK_ALREADY_ASSIGNED; claiming your own task again changes nothing.
Scopes
The agent key needs these scopes. The server also checks access to each record before returning data or changing it.
- read:projects
- write:projects
Input schema
This schema is shared with tools/list, including the required fields and additionalProperties rules.
{
"type": "object",
"properties": {
"taskId": {
"type": "string",
"description": "Task ID (taskId from task_list or task_create)"
},
"idempotencyKey": {
"type": "string",
"description": "Unique retry key"
}
},
"required": [
"taskId",
"idempotencyKey"
],
"additionalProperties": false
}Call this tool
Send it as POST https://www.specifywork.com/api/mcp. Authorization: Bearer <agent key>, a key that starts with sw_agent. Replace the example values with records your key can reach.
{
"jsonrpc": "2.0",
"id": "example_task_claim",
"method": "tools/call",
"params": {
"name": "task_claim",
"arguments": {
"taskId": "<taskId>",
"idempotencyKey": "retry-1"
}
}
}Read the result before continuing
The task, now assigned to this agent.
A call returns content[0].text with the JSON result and structuredContent.result with the same value. A refused call returns isError: true and the error code in content[0].text.
A request being accepted is not proof of an external action completing. Keep correlation IDs and mutation idempotency keys unchanged across safe retries.