DevTask Mcp
The DevTask MCP server provides a comprehensive set of tools to manage development tasks, enabling agents to create, list, retrieve, update, and identify tasks ready for execution.
List tasks (
list_dev_tasks): Browse and filter tasks by status (待评估,待排期,进行中,已搁置,已完成), priority (P0–P3), type (问题,功能需求,优化,技术债), agent-readiness flag, and soft-deletion status — with pagination support (up to 20 per page).Get a task by ObjectID (
get_dev_task): Fetch full details of a single task using its 24-hex ObjectId, including spec fields (acceptance_criteria,constraints,context_pointers), dependency info, and slug.Get a task by slug (
get_dev_task_by_slug): Fetch a single task using its human-readable slug (e.g.task-42) — the preferred way to reference tasks in conversation and UI.Create a task (
create_dev_task): Create a new task with fields like title, type, priority, scope, description, due date, acceptance criteria, constraints, context pointers, agent-claimable flag (for_agent), and dependency list (blocked_by). New tasks start at status待评估.Update a task (
update_dev_task): Partially update any field of an existing task (by ObjectId or slug), including status transitions, priority changes, dependency rewrites, and toggling agent-claimable status.Get frontier tasks (
get_frontier_tasks): Retrieve the next tasks ready for agent execution — tasks that are agent-claimable (for_agent=true), in backlog (待排期), and have no unfinished blockers — ordered by sort priority. Used when an agent is asked to "do the next task".
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DevTask Mcp investigate the need for a search feature and create a task"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DevTaskMcp
Agent 原生的 dev 任务看板 — 把需求调研成规格清晰的任务,端到端执行并验证验收条件。基于 Pocock 的 frontier 模式,含 spec/slug/dependency 字段和 scope 分类。
技能列表
技能 | 用途 | 触发 |
| 初始化项目:检查环境、写 CLAUDE.md 引导、可选落库 | 首次引入 devtask / "初始化 devtask" / "setup devtask" |
| 需求 → 落库任务,全规模路由:单点修复 / 批量分类 / Keep-Kill-Pivot / spec+subtasks | 用户说"我想做个…" / "加个功能" / "修个 bug" / "plan this out" |
| 端到端执行任务,自检验收条件,verify 通过后标记完成 | 用户说"做 task-N" / "执行任务" / "work on the next task" |
| 验收条件 + 四视角清理审查 + 正确性审查,能修就修 | 用户说"review task-N" / "verify task-N" / "验收 task-N" |
Related MCP server: Task Manager MCP Server
安装
Claude Code Plugin(推荐)
单 plugin 包含 MCP server + 3 个技能,一次安装即可:
# 添加市场
claude plugins marketplace add KanoCifer/DevTaskMcp
# 安装插件
claude plugins install devtask@devtask安装后 3 个技能均自动可用。MCP server 走 .mcp.json 定义的远程 URL —— 部署后把 .mcp.json 里的域名和 token 换成真实值,本地即通过远程实例提供服务。
或在 Claude 对话框中交互完成:
/plugin marketplace add KanoCifer/DevTaskMcp
/plugin install devtask@devtask本地开发加载:
claude --plugin-dir /path/to/DevTaskMcp默认通过 uv run 启动 server,自动解析依赖。如果机器上没有 uv,参考下方「无 uv」章节。
手动安装(不用 plugin)
把技能目录链接到 Claude Code 的技能路径,并手动配置 MCP server:
# 1. 配置 MCP server(添加到 ~/.claude.json 或项目 .mcp.json,指向已部署的远程实例)
# "type": "http",
# "url": "https://你的域名/mcp/",
# "headers": { "Authorization": "Bearer 你的MCP_AUTH_TOKEN" }
# 2. 链接技能目录
# 作为 user-level 技能(全局可用)
ln -s /path/to/DevTaskMcp/skills/devtask-setup ~/.claude/skills/devtask-setup
ln -s /path/to/DevTaskMcp/skills/devtask ~/.claude/skills/devtask
ln -s /path/to/DevTaskMcp/skills/devtask-doit ~/.claude/skills/devtask-doit
ln -s /path/to/DevTaskMcp/skills/devtask-review ~/.claude/skills/devtask-review
# 或作为 project-level 技能(放在项目 .claude/skills/ 下)
mkdir -p .claude/skills
ln -s /path/to/DevTaskMcp/skills/devtask-setup .claude/skills/devtask-setup
ln -s /path/to/DevTaskMcp/skills/devtask .claude/skills/devtask
ln -s /path/to/DevTaskMcp/skills/devtask-doit .claude/skills/devtask-doit
ln -s /path/to/DevTaskMcp/skills/devtask-review .claude/skills/devtask-review注意:手动安装时技能不带有 devtask: 命名空间前缀。
无 uv
如果机器上没有 uv,两种方式准备 Python 环境:
方式 A — 初始化脚本(推荐):
scripts/setup.sh # 创建 .venv 并安装依赖
# 或指定解释器:
PYTHON=python3.11 scripts/setup.sh方式 B — 手动 pip install:
python3 -m venv .venv
.venv/bin/pip install -e .然后在 .mcp.json 中指向远程实例(同「手动安装」第 1 步的 URL 配置)。
远程部署(streamable-http)
devtask_mcp.server 以 streamable-http transport 运行:一个长驻进程服务所有调用方,供外部 agent(Claude Code remote、Cursor 等)通过 URL 调用。
1. 构建并启动(本机验证)
cp .env.example .env # 填 DEVTASK_API_KEY、MCP_AUTH_TOKEN
docker compose up --buildcompose 只把端口绑到 127.0.0.1:8003 —— 服务不直接暴露公网。
2. 反向代理 + TLS(Nginx/Caddy 等,自行部署)
把 127.0.0.1:8003 转发到 https://你的域名/mcp/(streamable-http 的标准端点路径是 /mcp/)。请求头必须原样透传,尤其是 Authorization 和 streamable-http 需要的 Mcp-Session-Id。
3. 客户端连接
{
"mcpServers": {
"devtask": {
"type": "http",
"url": "https://你的域名/mcp/",
"headers": { "Authorization": "Bearer 你的MCP_AUTH_TOKEN" }
}
}
}
MCP_AUTH_TOKEN留空时服务不启用应用层鉴权 —— 生产务必设置,并在反代层额外加 IP 白名单/限流。
配置
cp .env.example .env
# 填写 DEVTASK_API_KEY(必填)和 DEVTASK_API_BASE(可选)DEVTASK_API_KEY 是 kanocifer-chat API 的 Bearer 为空时 server 启动会报错。
远程部署时还需配置:
MCP_AUTH_TOKEN— 外部 MCP 客户端调用时携带的 Bearer token。留空则关闭应用层鉴权(仅本地/内网)。MCP_HOST/MCP_PORT— HTTP 监听地址与端口,默认0.0.0.0:8003。
使用
技能以 plugin 名命名空间:
/devtask:devtask-setup # 初始化:检查环境 + 写 CLAUDE.md 引导
/devtask:devtask # 需求 → 落库任务(自动按规模路由)
/devtask:devtask-doit # 领取 frontier 最前排任务执行
/devtask:devtask-doit task-42 # 执行指定 slug 的任务
/devtask:devtask-review task-42 # 验收条件 + 四视角代码审查工作流程
/devtask:devtask-setup ← 首次:初始化 + 写引导
│
▼
需求描述
│
▼
/devtask:devtask
│ 按规模路由:单点修复 / 批量分类 / spec+subtasks → 创建任务
▼
/devtask:devtask-doit [task-N]
│ 端到端执行 → 自检验收条件 → /devtask:devtask-review
▼
/devtask:devtask-review [task-N]
│ 验收条件 + 四视角清理审查 + 正确性审查
▼
标记已完成任务模型(v3 — Task Document)
v3 把所有长文本统一到一个 Task Document。detail 是唯一长文本字段,
正文必须使用固定章节:Goal / Plan / Acceptance Criteria / Constraints /
Context Pointers(外加 Decisions / Out of Scope)。其它结构化字段保持不变。
MCP 工具
工具 | 用途 |
| 内联参数创建任务,长文放 |
| 修改状态字段 + 可选 detail 正文; |
|
|
| 永远返回 summary 记录 |
视图
view | 返回内容 |
| 结构化字段,不包含 detail |
| 原始任务对象(含完整 detail) |
默认 view=summary,防止 agent 误把长文拉进上下文。
字段表
字段 | 必填 | 含义 | 形式 |
| 自动 |
| — |
| 是 | 一行摘要,动词开头 | plain |
| 是 |
| — |
| 是 |
| — |
| 是 |
| — |
| 否 |
| — |
| 否 | 子任务归属的 spec slug | — |
| 否 | ISO-8601 截止日期 | — |
| 否 | 同层前置依赖 | — |
| 是 | Agent 可认领标志 | — |
| 否 | Task Document 渲染后的 Markdown | Markdown |
枚举值使用 Go 后端期望的中文字面量——不要使用英文键。详细 Task Document
规范见 docs/task-document-v1.md。
目录结构
DevTaskMcp/
├── .claude-plugin/
│ ├── plugin.json # Plugin 清单(元数据 + MCP server 引用)
│ └── marketplace.json # 市场发布配置(3 个技能)
├── .mcp.json # MCP server 定义(plugin 自动加载)
├── skills/
│ ├── devtask-setup/SKILL.md # 初始化:检查环境 + 写 CLAUDE.md 引导
│ ├── devtask/references/grill.md # frontier 访谈协议(渐进披露)
│ ├── devtask/SKILL.md # 需求 → 落库任务(全规模路由)
│ ├── devtask-doit/SKILL.md # 端到端执行 + verify 门控
│ └── devtask-review/SKILL.md # 验收条件 + 四视角清理审查 + 正确性审查
├── src/devtask_mcp/ # MCP server Python 包
│ ├── __init__.py
│ ├── client.py # HTTP client,信封剥离
│ ├── models.py # Pydantic 模型 + 中文枚举
│ └── server.py # FastMCP,6 个工具注册(已 slug 化)
├── Dockerfile # 容器镜像(uv slim + 锁文件)
├── docker-compose.yml # 单服务编排,端口回环绑定 8003
├── pyproject.toml
├── CLAUDE.md
└── README.md架构备注
边界剥离信封: Go 后端用
{code, message, data}包裹响应;client._unwrap在边界剥离,MCP 工具不会浪费 token 在包装字段上。错误原样传播: 非 2xx 或
code != 0抛出DevTaskAPIError,错误信息原样呈现给 agent。per_page上限 20,无论调用方传入多大值。HTTP 超时: 15.0 秒。
单例长连接 client 在模块级别——streamable-http 下单个长驻进程服务所有调用方,client 无会话状态,共享安全。
Slug 是规范的人类 ID——在所有 UI、对话和 MCP 工具引用中使用
task-N。后端已全面 slug 化,不再接受 ObjectID 输入。kind/parent_slug语义分离:parent_slug承载子→父的结构归属(devtask_list_children走此索引),blocked_by只承载同层前置依赖(执行顺序)。
License
Available Tools
6 toolscreate_dev_taskA
Create a new dev-task. New tasks start at status '待评估'.
返回体里包含 slug (如 "task-1"),后续对话 / 看板 UI / MCP tool 引用 该任务时直接用 slug,比 ObjectID 可读得多。
Args: title: Task title (required). task_type: One of '问题', '功能需求', '优化', '技术债'. priority: One of 'P0 紧急', 'P1 高', 'P2 中', 'P3 低'. scope: Task scope in "<层>-<技术>" format (required). Examples: '前端-React', '后端-Go', 'AI-LangChain', 'Docs-用户手册', '通用'. Free-form string — not a closed enum. description: Short description (optional). detail: Long-form detail (optional). due_date: ISO-8601 datetime string, e.g. '2026-09-01T00:00:00'. Pass whatever your JSON client gives; the backend parses RFC-3339. acceptance_criteria: Conditions that must be met for this task to be considered done. Agent uses these as a self-check before resolve. constraints: Hard boundaries — files not to touch, tech stack requirements, etc. Agent treats these as non-negotiable. context_pointers: Paths to relevant code / docs / ADRs, e.g. 'internal/auth/, docs/adr/0003'. Saves agent a file-discovery pass. for_agent: When True, mark this task as ready for agent execution. Default False (human task). blocked_by: List of task IDs that must be done before this one. Pass [] when no dependencies.
Inputs: scope (required), title (required), priority (required), task_type (required), +8 more. Returns: result
get_dev_taskA
Fetch a single dev-task by its ObjectID.
The response includes spec fields (acceptance_criteria, constraints, context_pointers), dependency info (for_agent, blocked_by), and slug. Read them before starting work. context_pointers short-circuits file discovery by telling you exactly which paths are relevant. Use the slug for all human-facing references (e.g. "work on task-42").
Args: task_id: The task's ObjectId hex string (24 hex chars). Use get_dev_task_by_slug if you have a slug like "task-42".
Inputs: task_id (required). Returns: result
get_dev_task_by_slugA
Fetch a single dev-task by its slug (task-1, task-2...).
Slug 是任务的人类可读短标识,比 ObjectID 更适合口头引用、看板 UI 和 MCP 对话。其余字段同 get_dev_task。
Args: slug: The task slug, e.g. "task-42".
Inputs: slug (required). Returns: result
get_frontier_tasksA
Return tasks the agent can claim next — Pocock's frontier.
Frontier = tasks that are:
marked for_agent=true
in status '待排期' (backlog)
have no unfinished blockers (blocked_by is empty)
not soft-deleted
Ordered by sort_order ASC, then created_at DESC. Use this as your first call when the user says "do the next task" — it tells you exactly what's ready to be worked.
Args: limit: Max tasks to return (default 10).
Inputs: limit. Returns: result
list_dev_tasksA
List dev-tasks from your kanocifer-chat board.
Args: status: Filter by lifecycle status. One of: '待评估', '待排期', '进行中', '已搁置', '已完成'. priority: Filter by urgency. One of: 'P0 紧急', 'P1 高', 'P2 中', 'P3 低'. task_type: Filter by kind. One of: '问题', '功能需求', '优化', '技术债'. for_agent: When True, return only tasks ready for agent execution. When False, return only tasks for human. None = no filter. include_deleted: When True, soft-deleted tasks are also returned. page: Page number (1-based). per_page: Items per page, capped at 20.
Inputs: page, status, per_page, priority, +3 more. Returns: result
update_dev_taskA
Partially update a dev-task. Omitted fields are left unchanged.
Args: task_id: The task's ObjectId hex string or slug (task-N). title: New title (optional). description: New description (optional). detail: New detail (optional). task_type: One of '问题', '功能需求', '优化', '技术债'. priority: One of 'P0 紧急', 'P1 高', 'P2 中', 'P3 低'. scope: Free-form "<层>-<技术>" string (see create_dev_task docs). status: One of '待评估', '待排期', '进行中', '已搁置', '已完成'. sort_order: Integer sort key (optional). due_date: ISO-8601 datetime string. acceptance_criteria: Conditions for considering this task done. constraints: Hard boundaries (files / tech stack / etc). context_pointers: Paths to relevant code / docs / ADRs. for_agent: Toggle agent-claimable flag. blocked_by: Replace the dependency list entirely. Pass [] to clear.
Inputs: task_id (required), scope, title, detail, +11 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
All six tools have clearly distinct purposes: create, get by ObjectID, get by slug, get frontier tasks, list with filters, and update. No functional overlap.
All tool names follow a consistent verb_noun snake_case pattern (e.g., create_dev_task, get_dev_task_by_slug, list_dev_tasks), making it easy to predict behavior.
Six tools strike a good balance, covering core CRUD plus a specialized frontier query without being too many or too few for a task management MCP server.
The tools cover creation, reading (multiple variants), listing, and updating. The only notable gap is the absence of a dedicated delete tool, though soft-delete is supported via list filtering.
Maintenance
Related MCP Connectors
The shared task board your autonomous agent fleet can read and write.
Task manager for AI agents. Orchestrate agents to achieve large goals in unified control plane.
Task management for teams building with AI agents. Agents claim tasks and report progress.
The ecco board: a shared task board where AI agents pick up tasks, ask you, and attach proof.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables coding agents to pick up, park, and hand off work on a shared task board with a DAG of work.MIT
- AlicenseBqualityCmaintenanceEnables AI agents to manage tasks through a board with backlog, ready, in-progress, and done columns, plan daily work, track velocity, forecast backlog completion, and leverage rule-based or DeepSeek-powered recommendations.221MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to claim task cards from a self-hosted board, receive complete briefings, and submit handoffs with evidence and telemetry for human validation.MIT
- AlicenseAqualityBmaintenanceSelf-hosted task tracker and MCP server for AI coding agents. Append-only case files preserve decisions, failed attempts, questions, and check results across sessions. A live web board lets people track progress and answer agents. Runs locally in Docker and connects to Claude Code, Codex, Cursor, and other Streamable HTTP MCP clients. MIT licensed.306MIT