任务管理器

一个轻量级的自托管任务管理器,具有Web GUI和MCP服务器,允许AI编码代理实时读写任务。

  • by emanavas
  • HTML
  • 本地部署
  • 更新于
在 GitHub 查看 emanavas/MCP_task_manager

使用说明

MCP任务管理器

一个轻量级的、自托管的任务管理器,具有web GUI和MCP(模型上下文协议)服务器,因此AI编码代理(GitHub Copilot、Claude Desktop、Cursor……)可以实时读写您的任务。

没有外部服务。没有npm依赖。在Node.js内置程序上运行。


需求

要求 版本
Node.js 22.5或更高 (使用内置 node:sqlite)

目录结构

MCP_task_manager/
├── task-manager/          ← GUI HTTP server
│   ├── server.mjs
│   ├── package.json
│   └── public/
│       └── index.html
└── mcp-server/            ← MCP stdio server for AI agents
    └── server.mjs

安装

git clone https://github.com/emanavas/MCP_task_manager.git
cd MCP_task_manager

不 npm install 需要——零外部依赖。


用法

1·启动GUI服务器

node task-manager/server.mjs

打开 http://localhost:5678 在您的浏览器中。

服务器创建 task-manager/tasks.db (SQLite,WAL模式)首次运行。该数据库已从git中排除。

特性

  • 使用自定义颜色创建组(阶段、类别)
  • 添加带有标题、注释和优先级的任务(high / medium / low)和状态(pending / in-progress / done)
  • 拖放重新排序(组和任务)
  • 按状态筛选或按关键字搜索——空组会自动隐藏
  • 计数徽章显示 matched/total 过滤时
  • 实时SSE刷新——AI代理所做的任何更改都会立即显示在浏览器中

2·将MCP服务器连接到您的AI代理

MCP服务器与之通信 tasks.db 因此,来自代理的更改会立即显示在浏览器中。

VS代码(GitHub Copilot/Claude)

添加到您的 .vscode/mcp.json (或创建它):

{
  "servers": {
    "mcp-task-manager": {
      "type": "stdio",
      "command": "node",
      "args": ["${workspaceFolder}/../MCP_task_manager/mcp-server/server.mjs"]
    }
  }
}

调整路径以匹配您克隆仓库的任何位置。

自定义数据库路径(适用于任何项目)

默认情况下,MCP服务器会查找 ../task-manager/tasks.db 相对于 mcp-server/server.mjs。您可以将其指向任何具有环境变量的数据库文件:

{
  "servers": {
    "mcp-task-manager": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/mcp-server/server.mjs"],
      "env": {
        "MCP_TASKS_DB": "/absolute/path/to/your/tasks.db",
        "MCP_TASKS_NAME": "my-project-tasks"
      }
    }
  }
}

克劳德桌面

添加 claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-task-manager": {
      "command": "node",
      "args": ["/absolute/path/to/MCP_task_manager/mcp-server/server.mjs"]
    }
  }
}

可用的MCP工具

工具 说明
tasks_pending 列出所有待处理的任务。可选的 priority 过滤器。会话开始时呼叫。
tasks_list 列出带有可选项的任务 phase, status, priority 过滤器。
tasks_add 添加新任务。参数: title (必填), id, phase, priority, notes.
tasks_update 更新 status, priority,或 notes 通过以下方式完成现有任务 id.
tasks_complete 将任务标记为已完成 id.
tasks_stats 摘要计数:总计、已完成、进行中、待定、高优先级待定。

推荐的代理工作流程

Session start  → tasks_pending()           # see what needs doing
Before task    → tasks_update(in-progress) # signal you're working on it
After task     → tasks_complete(id)        # mark done immediately
New task found → tasks_add(...)            # add to backlog

环境变量

变量 默认值 描述
MCP_TASKS_DB ../task-manager/tasks.db 自定义的绝对路径 tasks.db
MCP_TASKS_NAME mcp-task-manager MCP中报告的服务器名称 initialize 回应

技术栈

  • 仅内置Node.js — node:http, node:sqlite, node:path, node:fs, node:readline
  • SQLite WAL模式 --无锁从GUI+MCP服务器并发读取
  • 服务器发送的事件 --代理写入任务时浏览器自动刷新
  • MCP协议2024-11-05 --基于stdio的JSON-RPC

许可证

麻省理工学院