delega-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DELEGA_API_URL | No | Delega API endpoint | http://127.0.0.1:18890 |
| DELEGA_AGENT_KEY | Yes | Agent API key for authenticated requests |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_tasksA | List tasks from Delega. Visibility depends on your role: workers see tasks they created, were assigned, completed, or claimed; coordinators and admins see all account tasks — including other agents' work, so act only on tasks assigned to you or unowned ones you claim, and coordinate on teammates' tasks via add_comment. Optionally filtered by project, label, due date, or completion status. To resume work at the start of a session, call with completed:false, then use get_task_context on your tasks to recover prior decisions and state instead of starting from zero. |
| get_taskB | Get full details of a specific task including subtasks |
| link_taskA | Attach a branch, commit, pull request, or URL link to a task. Use this when work in a repo, PR, or external artifact should travel with the task. |
| list_task_linksB | List branch, commit, pull request, and URL links attached to a task. |
| create_taskB | Create a new task in Delega |
| list_recurrencesA | List recurring task templates. Recurrences spawn normal task instances on schedule; completing an instance does not delete the schedule. |
| create_recurring_taskA | Create a recurring task template. The hosted scheduler spawns normal task instances from this template and links them with source_recurrence_id. |
| update_recurrenceB | Update a recurring task template, including pausing/resuming with active=false/true. |
| delete_recurrenceA | Delete a recurring task template. Existing spawned task instances remain as normal tasks. |
| update_taskC | Update an existing task's fields |
| assign_taskB | Assign a task to an agent (or unassign by passing null) |
| delegate_taskA | Delegate a task: create a child task linked to a parent. The parent's status flips to 'delegated'. Use this (not assign_task) for multi-agent handoffs so the delegation chain is recorded. |
| get_task_chainA | Get the full delegation chain for a task (root + all descendants, sorted by depth). Use this to inspect parent/child accountability. |
| get_task_contextA | Read a task's persistent context blob — the shared state, decisions, and notes saved across sessions. Call this when resuming a task to recover what was decided and done before, so work continues instead of restarting. Pair with update_task_context to write state back before a session ends. |
| update_task_contextA | Merge keys into a task's persistent context blob. Existing keys are preserved; supplied keys are added or overwritten. Use this to pass shared state between delegated agents instead of re-describing context in task descriptions. Pass expected_version (from get_task_context) to guard against concurrent writers: if the context changed since your read, the write fails with a conflict that returns the current version + context to merge with. |
| get_context_historyA | Read the append-only provenance ledger for a task's context. Use key to narrow history to one context key; omitted key returns the newest history across all keys. |
| find_duplicate_tasksA | Check whether a proposed task is similar to existing open tasks (TF-IDF + cosine similarity). Call this before create_task to avoid redundant work. |
| get_usageA | Get quota and rate-limit information for the current plan. Hosted API only (api.delega.dev) — custom endpoints receive a clear error. |
| complete_taskB | Mark a task as completed |
| claim_taskA | Claim a task for exclusive processing (work-queue semantics). Without task_id, atomically picks the highest-priority claimable task from the queue — open, unclaimed, and unassigned or assigned to you. With task_id, claims that specific task (e.g. one you found via list_tasks, or after a write was rejected with 'claim it first'); fails with a conflict if it is completed, assigned to another agent, or claimed with a live lease. Returns the claimed task, or reports an empty queue. The claim is a lease (default 300 seconds): extend it with heartbeat_task while working, requeue with release_task, or finish with complete_task. Hosted API only. |
| heartbeat_taskA | Extend the lease on a task you have claimed. Call this periodically (before lease_expires_at) while working on a long task so the claim is not reclaimed by another agent. Optionally report a session state at the same time (working / waiting_input / errored) so humans and orchestrators can see why the claim is held. Fails with 409 if you no longer hold an active claim — in that case, claim a task again rather than continuing. Hosted API only. |
| set_task_stateA | Report the session state of a task you have claimed — working, waiting_input, or errored — without extending the lease. Use this to flag that you are blocked on input or hit an error: the claim stays visible as held-but-stuck instead of faking liveness. Humans and orchestrators see the state via list_tasks/get_task. Fails with 409 if you no longer hold an active claim. Hosted API only. |
| release_taskA | Release a task you have claimed back to the queue without completing it. Use when you cannot finish the work or another agent should take over — the task returns to open status and becomes immediately claimable. Hosted API only. |
| delete_taskA | Delete a task permanently |
| add_commentC | Add a comment to a task |
| list_projectsA | List all projects in Delega |
| get_statsA | Get task statistics from Delega (totals, completed today, due today, overdue, by project) |
| list_agentsA | List all registered agents in Delega. Admin keys get the full view; coordinators get a read-only directory (name, role, activity) for resolving agent IDs on tasks. |
| register_agentA | Register a new agent in Delega. Returns the API key (shown only at creation — save it!) |
| set_agent_roleA | Set an agent's role (admin key required): worker (own-task scope), coordinator (sees + can comment on all account tasks), or admin (full account management). Sandbox agents graduate via the claim flow and cannot be assigned a role. |
| delete_agentA | Delete an agent. The API may refuse if the agent has active tasks or is the last active agent. |
| list_webhooksB | List all webhooks configured for your account (admin only) |
| create_webhookA | Create a webhook to receive event notifications (admin only). Events: task.created, task.updated, task.completed, task.deleted, task.assigned, task.delegated, task.commented, task.claimed, task.released, task.state_changed, task.linked |
| delete_webhookA | Delete a webhook by ID (admin only) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/delega-dev/delega-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server