Tango
Server Details
Shared task queue for humans and AI agents: leases, handoffs, approvals and signed receipts.
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 52.6% over 68 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 99 tools
Descriptions are unusually explicit about boundaries — add_comment vs add_progress_note, log_project_decision vs memory_save, find_people vs resolve_mention are all carefully delineated. However, with 99 tools there are still several near-neighbors (accept_task vs complete_task; update_project_decision vs log_project_decision; the many list_project_* readers) that could trip an agent without reading the fine print.
The set overwhelmingly follows a predictable verb_noun snake_case pattern (list_tasks, create_task, get_client_context, update_worker, rotate_webhook_secret). A few outliers (whoami, glossary, check_in) break the pattern but are few and readable in context.
99 tools for one server is a heavy surface that forces agents to navigate a large mental model and increases selection cost. Even a rich task/workflow platform rarely needs this many exposed operations, and the count sits well past the '25+ feels too many' threshold.
Coverage is exhaustive across the domain: full task lifecycle (create/update/claim/lease/handoff/pause/complete/accept/delete), worker identity and key management, client/project/context/decision/event/issue CRUD, memory, integrations, webhooks, and even cryptographic transparency verification. Few obvious gaps.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Removed
call_integration - Added
read_integration - Added
write_integration
1 tool update
- Changed
update_worker1 field changed- added
Input schema / properties / rolesAdded value: +{ + "description": "Full replacement role list (comma-split parts of the original roles string, e.g. ['coder','tester']). Deduplicated case-insensitively. The worker pulls tasks whose required role matches any of these.", + "items": { + "maxLength": 60, + "minLength": 1, + "type": "string" + }, + "maxItems": 20, + "type": "array" +}
4 tool updates
- Added
list_agents - Added
list_threads - Added
read_messages - Added
send_message
1 tool update
- Added
revoke_worker_api_key
1 tool update
- Changed
ask_human2 fields changed- changed
Input schema / properties / task_id / descriptionPrevious value: -"Task id, or a pasted Tango task URL."New value: +"Task id, or a pasted Tango task URL. Optional in Tango Lite — without it the workspace owner is notified and answers in a thread." - changed
Input schema / requiredPrevious value: -[ - "task_id", - "question" -]New value: +[ + "question" +]
2 tool updates
- Added
get_standup - Added
update_worker
11 tool updates
- Added
bulk_update_tasks - Added
confirm_context_fact - Changed
create_artifact_upload2 fields changed- removed
Input schema / properties / task_id / formatRemoved value: -"uuid" - removed
Input schema / properties / task_id / patternRemoved value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
- Added
list_client_tasks - Changed
log_project_event2 fields changed- removed
Input schema / properties / task_id / formatRemoved value: -"uuid" - removed
Input schema / properties / task_id / patternRemoved value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
- Changed
log_project_issue2 fields changed- removed
Input schema / properties / task_id / formatRemoved value: -"uuid" - removed
Input schema / properties / task_id / patternRemoved value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
- Changed
memory_save2 fields changed- removed
Input schema / properties / task_id / formatRemoved value: -"uuid" - removed
Input schema / properties / task_id / patternRemoved value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
- Added
retire_context_fact - Changed
update_project_decision2 fields changed- removed
Input schema / properties / task_id / formatRemoved value: -"uuid" - removed
Input schema / properties / task_id / patternRemoved value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
- Changed
update_project_event2 fields changed- removed
Input schema / properties / task_id / formatRemoved value: -"uuid" - removed
Input schema / properties / task_id / patternRemoved value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
- Changed
update_project_issue2 fields changed- removed
Input schema / properties / task_id / formatRemoved value: -"uuid" - removed
Input schema / properties / task_id / patternRemoved value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
3 tool updates
- Added
accept_task - Changed
create_task2 fields changed- added
Input schema / properties / authorityAdded value: +{ + "description": "What the worker may do unattended. Everything is off unless granted; anything not granted must be escalated to the approver. Omit to inherit the organization's default for this role.", + "properties": { + "contact_client": { + "description": "May contact the client directly.", + "type": "boolean" + }, + "deploy": { + "description": "May deploy to production.", + "type": "boolean" + }, + "merge": { + "description": "May merge code to a protected branch.", + "type": "boolean" + }, + "note": { + "description": "A boundary in plain words.", + "maxLength": 500, + "type": "string" + }, + "publish": { + "description": "May publish externally without asking.", + "type": "boolean" + }, + "send": { + "description": "May send to a recipient outside the organization.", + "type": "boolean" + }, + "spend": { + "description": "May spend money.", + "type": "boolean" + }, + "spend_cap_usd": { + "description": "Ceiling on spend, in USD.", + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" +} - added
Input schema / properties / inputsAdded value: +{ + "description": "The governed inputs this work starts from. Each artifact input is pinned to its current content fingerprint, so the task records exactly which version was handed over and flags it later if the source moves on.", + "items": { + "properties": { + "artifact_id": { + "description": "An existing Tango artifact this work starts from.", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", + "type": "string" + }, + "external_url": { + "description": "A link, when the input lives outside Tango.", + "format": "uri", + "type": "string" + }, + "label": { + "description": "What this input is, e.g. 'Approved brief' or 'Brand guidelines'.", + "minLength": 1, + "type": "string" + }, + "note": { + "type": "string" + } + }, + "required": [ + "label" + ], + "type": "object" + }, + "type": "array" +}
- Changed
update_task2 fields changed- added
Input schema / properties / authorityAdded value: +{ + "description": "Replace what the worker may do unattended. Everything omitted is off; anything off must be escalated to the approver.", + "properties": { + "contact_client": { + "type": "boolean" + }, + "deploy": { + "type": "boolean" + }, + "merge": { + "type": "boolean" + }, + "note": { + "maxLength": 500, + "type": "string" + }, + "publish": { + "type": "boolean" + }, + "send": { + "type": "boolean" + }, + "spend": { + "type": "boolean" + }, + "spend_cap_usd": { + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" +} - added
Input schema / properties / inputsAdded value: +{ + "description": "Additional governed inputs to pin to this task. Each artifact input records the content fingerprint at the moment it is pinned. Adds to the existing inputs; it does not replace them.", + "items": { + "properties": { + "artifact_id": { + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", + "type": "string" + }, + "external_url": { + "format": "uri", + "type": "string" + }, + "label": { + "minLength": 1, + "type": "string" + }, + "note": { + "type": "string" + } + }, + "required": [ + "label" + ], + "type": "object" + }, + "type": "array" +}
3 tool updates
- Added
resolve_needs_more_info - Changed
resume_task1 field changed- added
Input schema / properties / unassignAdded value: +{ + "description": "Clear the pinned agent so any matching agent can pick the task up again.", + "type": "boolean" +}
- Changed
set_webhook1 field changed- changed
Input schema / properties / events / items / enumPrevious value: -[ - "task.assigned", - "task.commented", - "task.mentioned", - "task.handoff_received", - "task.deadline_soon" -]New value: +[ + "task.assigned", + "task.commented", + "task.mentioned", + "task.handoff_received", + "task.deadline_soon", + "task.changes_requested", + "task.unblocked", + "task.question_answered", + "task.approved" +]
2 tool updates
- Changed
create_task1 field changed- added
Input schema / properties / acting_worker_idAdded value: +{ + "description": "Optional. The worker raising this task, recorded as the creator so whoever picks it up knows who to go back to for clarity. Defaults to the worker bound to this connection. Verified against caller ownership.", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", + "type": "string" +}
- Added
send_back_to_creator
3 tool updates
- Added
list_project_milestones - Added
set_project_health - Changed
update_project8 fields changed- added
Input schema / properties / healthAdded value: +{ + "description": "A judgement call, not a computed value. Pair it with health_note.", + "enum": [ + "on_track", + "at_risk", + "off_track" + ], + "type": "string" +} - added
Input schema / properties / health_noteAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Input schema / properties / owner_idAdded value: +{ + "anyOf": [ + { + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "User id of the person accountable for the project." +} - added
Input schema / properties / stageAdded value: +{ + "description": "Where the project is in its life. Sets status too.", + "enum": [ + "planning", + "active", + "on_hold", + "complete", + "archived" + ], + "type": "string" +} - added
Input schema / properties / stakeholder_emailAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Input schema / properties / stakeholder_nameAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Input schema / properties / stakeholder_roleAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] +} - added
Input schema / properties / start_dateAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "YYYY-MM-DD" +}
3 tool updates
- Added
create_client - Changed
delete_task2 fields changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true to acknowledge this is destructive."New value: +"Must be true to acknowledge this hides the task from everyone." - added
Input schema / properties / reasonAdded value: +{ + "description": "Short note explaining why the task is being removed.", + "type": "string" +}
- Changed
list_my_tasks1 field changed- added
Input schema / properties / status / descriptionAdded value: +"Optional status filter. Omit it when checking for your own work — tasks routed to you sit in 'assigned', so status='queued' hides them."
81 tool updates
- First observed
add_artifact - First observed
add_comment - First observed
add_progress_note - First observed
answer_question - First observed
archive_worker - First observed
ask_human - First observed
bind_connection - First observed
call_executor - First observed
call_integration - First observed
check_in - First observed
claim_task - First observed
clear_webhook - First observed
complete_task - First observed
create_artifact_upload - First observed
create_project - First observed
create_task - First observed
create_worker - First observed
delete_task - First observed
delete_worker - First observed
find_people - First observed
flag_needs_more_info - First observed
get_artifact - First observed
get_client_context - First observed
get_polling_instructions - First observed
get_project_context - First observed
get_task - First observed
get_task_activity - First observed
get_task_review - First observed
get_webhook - First observed
get_webhook_deliveries - First observed
glossary - First observed
handoff_task - First observed
issue_worker_key - First observed
list_client_team - First observed
list_context_sources - First observed
list_integrations - First observed
list_micro_workers - First observed
list_my_tasks - First observed
list_open_questions - First observed
list_project_events - First observed
list_project_issues - First observed
list_projects - First observed
list_support_requests - First observed
log_client_decision - First observed
log_project_decision - First observed
log_project_event - First observed
log_project_issue - First observed
memory_read - First observed
memory_save - First observed
memory_search - First observed
pause_task - First observed
prepare_completion - First observed
pull_next_task - First observed
query_context_source - First observed
register_worker_key - First observed
remove_dependency - First observed
rename_handle - First observed
renew_lease - First observed
reply_to_support_request - First observed
request_access - First observed
request_decomposition - First observed
request_key_challenge - First observed
resolve_mention - First observed
resume_task - First observed
revoke_worker_key - First observed
rotate_webhook_secret - First observed
rotate_worker_key - First observed
search_tasks - First observed
security_posture - First observed
set_webhook - First observed
submit_support_request - First observed
unarchive_worker - First observed
update_client_context - First observed
update_project - First observed
update_project_context - First observed
update_project_decision - First observed
update_project_event - First observed
update_project_issue - First observed
update_task - First observed
verify_task_history - First observed
whoami
Related MCP Connectors
Shared task layer for AI agents: tasks, handoffs and decisions that persist across tools.
- robellsOAuthio.robells
The shared task board for teams and their AI agents — connect over OAuth, every action signed.
The shared task board for teams and their AI agents — connect over OAuth, every action signed.
Task management for teams building with AI agents. Agents claim tasks and report progress.
Related MCP Servers
- AlicenseAqualityAmaintenanceShared task ledger for AI agents and humans: atomic claims, state machine, GitHub and Slack sync.6361MIT
- AlicenseNot gradedqualityCmaintenanceProvides durable queues, human-in-the-loop approval gates, and an audit trail for AI agent fleets, enabling blocking approval requests and reliable work handoffs.4 npmMIT
- AlicenseNot gradedqualityCmaintenanceLets AI agents in different harnesses hand each other concrete tasks, claim and report on them, and continue after restarts via a live dashboard and unattended workers.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to pull work from an event log, update and close tasks with conclusions, and lets humans review, decide, and sign off through a web board with shared unread cursors and an auditable event stream.Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.