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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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_taskA | Mark a task as completed. Attach |
| 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. Leave a |
| recallA | Search your decision-memory across ALL tasks — recall a prior decision, fact, or constraint without knowing which task recorded it. Returns the best-matching context entries (key, value, source, and the task they live on) ranked by relevance, with human-stated facts weighted highest. Use at the START of new work to avoid re-deciding something already settled. Lexical match for now (exact-ish terms beat paraphrases). Read-only; scoped to what you can read. Hosted API only. |
| fleet_attentionA | Triage board: one call returning everything across the account that needs a human or coordinator — abandoned claims (a crashed/silent agent's expired lease), silent holders, errored and input-blocked tasks, overdue, and looping (repeatedly reopened) tasks. Scoped like stats: coordinators/admins see the whole account, workers see their own involvement. Read-only. 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) |
| list_automationsA | List all automation rules configured for your account, with run/failure counts (admin only). Hosted API only. |
| create_automationA | Create an automation rule: when an event fires and all conditions match, run the actions in-process — no webhook receiver needed (admin only). Example: when a task labeled bug is created, assign it to an agent at priority 3. Safety: cascades are depth- and budget-capped, rules never react to tasks they created, and field mutations on tasks under a live claim are always skipped (comments are append-only and still allowed). Hosted API only. |
| update_automationA | Update an automation rule (admin only). Only supplied fields change; setting active true re-enables a rule that was auto-disabled after repeated failures. Hosted API only. |
| delete_automationA | Delete an automation rule and its run log by ID (admin only). Hosted API only. |
| list_ingress_sourcesA | List inbound connector sources with delivery counters (admin only). Hosted API only. |
| create_ingress_sourceA | Create an inbound connector: a signed public endpoint that turns external events (CI failures, alerts, calendars) into Delega tasks (admin only). The sender signs each POST body with HMAC-SHA256 (header X-Delega-Ingress-Signature: t=,v1=<hex of HMAC(secret, 't.body')>, 5-minute tolerance). Ingress can ONLY create tasks; routing (project/assignee) is pinned here and never payload-controlled; every created task carries the 'ingress' label and provenance marker, and automation rules ignore ingress tasks unless they explicitly opt in with a source=ingress condition. Hosted API only. |
| update_ingress_sourceA | Update an inbound connector source (admin only). Only supplied fields change; pass rotate_secret true to mint a new signing secret (shown once — the old secret stops working immediately). Hosted API only. |
| delete_ingress_sourceA | Delete an inbound connector source and its delivery log by ID (admin only). Its endpoint immediately returns 404. Hosted API 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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