io.github.delega-dev/delega
Task management API for AI agents. Create, delegate, and track tasks via MCP.
Ask AI about io.github.delega-dev/delega
Powered by Claude Β· Grounded in docs
I know everything about io.github.delega-dev/delega. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
delega-mcp
MCP server for Delega β task infrastructure for AI agents.
Connect any MCP-compatible client (Claude Code, Cursor, Codex, etc.) to your Delega instance and manage tasks, projects, and agents through natural language.
Install
npm install -g @delega-dev/mcp
Configure
Add to your MCP client config (e.g. Claude Code claude_code_config.json):
{
"mcpServers": {
"delega": {
"command": "npx",
"args": ["-y", "@delega-dev/mcp"],
"env": {
"DELEGA_API_URL": "http://127.0.0.1:18890",
"DELEGA_AGENT_KEY": "dlg_your_agent_key_here"
}
}
}
}
Environment Variables
| Variable | Default | Description |
|---|---|---|
DELEGA_API_URL | http://127.0.0.1:18890 | Delega API endpoint |
DELEGA_AGENT_KEY | (none) | Agent API key for authenticated requests |
DELEGA_REVEAL_AGENT_KEYS | 0 | β οΈ Development only. Set to 1 to print full API keys in tool output. Never enable in production: a prompt-injected agent could exfiltrate keys from create_agent or list_agents responses. |
For the hosted tier, use https://api.delega.dev as the URL.
Security Notes
- Non-local
DELEGA_API_URLvalues must usehttps://. - Agent keys are passed through environment variables rather than command-line arguments, which avoids process-list leakage.
- MCP tool output redacts full agent API keys by default.
- Do not set
DELEGA_REVEAL_AGENT_KEYS=1in production. This flag exists for initial setup only. In production, a prompt-injected agent could exfiltrate keys fromcreate_agentorlist_agentstool output. Keys are returned once at creation time; userotate_agent_keyif you need a new one.
Tools
| Tool | Description |
|---|---|
list_tasks | List tasks, filter by project, label, due date, completion |
get_task | Get full task details including subtasks |
create_task | Create a new task |
update_task | Update task fields (incl. assigned_to_agent_id) |
assign_task | Assign a task to an agent (or pass null to unassign) |
delegate_task | Delegate a task: create a child task linked to a parent (parent status flips to delegated). Use this for multi-agent handoffs β assign_task does not create a delegation chain. |
get_task_chain | Return the full delegation chain for a task (root + descendants, sorted by depth) |
update_task_context | Merge keys into a task's persistent context blob (deep merge, not replace) |
find_duplicate_tasks | Check whether proposed task content is similar to existing open tasks (Jaccard similarity). Call before create_task to avoid redundant work. |
get_usage | Return quota + rate-limit info. Hosted API only (api.delega.dev); self-hosted deployments receive a clear error. |
complete_task | Mark a task as completed |
delete_task | Delete a task permanently |
add_comment | Add a comment to a task |
list_projects | List all projects |
get_stats | Get task statistics |
list_agents | List registered agents |
register_agent | Register a new agent (returns API key) |
delete_agent | Delete an agent (refused if agent has active tasks) |
list_webhooks | List all webhooks (admin only) |
create_webhook | Create a webhook for event notifications (admin only) |
delete_webhook | Delete a webhook by ID (admin only) |
Task output format
Task-returning tools (list_tasks, get_task, create_task, update_task, assign_task) render each task with assignment metadata when available:
[#42] Ship the release
Description: Cut RC, tag, push to npm
Project: Delega
Labels: release
Priority: 3
Due: 2026-04-20
Assigned to: Coordinator (#7)
Created by: planner (#3)
Completed: no
Assigned to / Created by / Completed by lines are emitted only when the underlying field is populated. Self-hosted Delega returns a nested agent object so the assignee renders as <display_name> (#id); the hosted api.delega.dev tier returns the raw agent ID so it renders as #<id>.
Tasks that are part of a delegation chain also surface the chain metadata:
[#def] Draft intro
Status: delegated
Assigned to: Drafter (#3)
Created by: Coordinator (#7)
Delegation: depth 1, parent #abc, root #abc
Delegated by: Coordinator (#7)
Completed: no
Context keys: step, findings (2)
Single-task tools (get_task, create_task, update_task, assign_task, delegate_task, update_task_context) use a detail render that pretty-prints the full context blob (truncated at 2000 chars). list_tasks uses the concise list render which shows Context keys: β¦ instead.
Delegation chains
get_task_chain returns the full parent/child chain for any task in the chain. Output is indented by delegation_depth:
Delegation chain (root #abc, depth 2, 2/4 complete):
[#abc] Write report (depth 0, delegated)
[#def] Draft intro (depth 1, completed)
[#jkl] Draft conclusion (depth 1, pending)
[#ghi] Research sources (depth 2, completed)
Nodes are sorted by depth then creation order (matching the API's response ordering).
Self-Hosted vs Hosted
Self-hosted (free): Run your own Delega instance, point DELEGA_API_URL at it.
Hosted: Use https://api.delega.dev β free up to 1,000 tasks/month.
Links
License
MIT
