A good brief goes a long way.
Connect an assistant to the tasks you choose. Task Mafia supplies current context, records proposals and keeps a person in control of accepted work. The product makes no model calls.
Connect through MCP
{
"mcpServers": {
"task-mafia": {
"url": "https://taskmafia.com/mcp"
}
}
}Use a remote MCP client that supports Streamable HTTP and OAuth. Sign in, select projects, and approve access. Host support is being tested; universal ChatGPT or Claude account compatibility is not yet claimed.
| Tool | What it does |
|---|---|
list_projects / list_tasks | Read permitted projects and paginated tasks. |
get_task_brief | Fetch the task, current context revisions, prerequisites and results. |
capture_task | Propose a task. It stays proposed until a person accepts it. |
propose_changes | Record an immutable, revision-bound change for review. |
submit_result | Move accepted work to pending review. Never auto-complete it. |
get_changes | Read permitted activity after a string cursor. |
REST interface
Send authenticated JSON to POST /api/v1/query or POST /api/v1/commands. Both invoke the same database policy and transition layer as MCP.
{
"operation": "capture_task",
"mutation_id": "a stable UUID for this request",
"payload": {
"project_id": "your project UUID",
"title": "Book the weekend away"
}
}Retry identical mutations with the same ID. A changed payload needs a fresh ID. A 409 conflict requires fetching the current brief and producing a fresh proposal. The mcp:tasks OAuth scope permits the MCP resource; Task Mafia grants separately enforce the selected projects and capabilities.
Privacy and authority
Linked text is untrusted data. An agent cannot grant itself access, approve its own proposal, or mark work complete. Source links are references; the service does not fetch them or claim their contents are verified.