TaskMateAI

TaskMateAI

一个由人工智能驱动的任务管理应用程序,通过MCP运行,能够自主创建、组织和执行任务,并支持子任务、优先级和进度跟踪。

Category
访问服务器

README

TaskMateAI

AI/MCP TODOタスク管理アプリケーション

TaskMateAI是一个AI能够自主管理和执行任务的简单任务管理应用程序,可以通过MCP (Model Context Protocol)进行操作。

English README available here

特性

  • 通过MCP创建和管理任务
  • 支持子任务
  • 基于优先级处理任务
  • 任务的进度管理和报告功能
  • 笔记添加功能
  • 通过JSON文件进行数据持久化
  • 通过代理ID进行多个AI的任务管理
  • 以项目为单位整理任务

安装

前提条件

  • Python 3.12以上
  • uv (Python 包管理器)
  • WSL (Windows Subsystem for Linux) ※Windows环境の場合

安装步骤

  1. 克隆或下载仓库:
git clone https://github.com/YourUsername/TaskMateAI.git
cd TaskMateAI
  1. 安装所需的包:
uv install -r requirements.txt

使用方法

启动应用程序

在WSL环境下,可以像下面这样执行应用程序:

cd /path/to/TaskMateAI/src/TaskMateAI
uv run TaskMateAI

MCP配置

用于MCP的配置示例:

{
    "mcpServers": {
      "TodoApplication": {
        "command": "uv",
        "args": [
          "--directory", 
          "/绝对路径/TaskMateAI",
          "run",
          "TaskMateAI"
        ],
        "env": {},
        "alwaysAllow": [
          "get_tasks", "get_next_task", "create_task", "update_progress", 
          "complete_task", "add_subtask", "update_subtask", "add_note",
          "list_agents", "list_projects"
        ],
        "defaultArguments": {
          "agent_id": "agent_123",
          "project_name": ""
        }
      }
    }
}
{
    "mcpServers": {
      "TodoApplication": {
        "command": "wsl.exe",
        "args": [
          "-e", 
          "bash", 
          "-c", 
          "cd /绝对路径/TaskMateAI && /home/用户/.local/bin/uv run TaskMateAI"
        ],
        "env": {},
        "alwaysAllow": [
          "get_tasks", "get_next_task", "create_task", "update_progress", 
          "complete_task", "add_subtask", "update_subtask", "add_note",
          "list_agents", "list_projects"
        ],
        "defaultArguments": {
          "agent_id": "agent_123",
          "project_name": ""
        }
      }
    }
}

可用的MCP工具

TaskMateAI提供以下MCP工具:

  1. get_tasks - 获取任务列表(可以按状态和优先级过滤)
  2. get_next_task - 获取优先级最高的下一个任务(自动更新为进行中状态)
  3. create_task - 创建新任务(带子任务)
  4. update_progress - 更新任务进度
  5. complete_task - 将任务标记为完成
  6. add_subtask - 向现有任务添加子任务
  7. update_subtask - 更新子任务的状态
  8. add_note - 向任务添加笔记
  9. list_agents - 获取可用的代理ID列表
  10. list_projects - 获取与特定代理相关的项目列表

数据格式

任务以以下结构进行管理:

{
  "id": 1,
  "title": "任务的标题",
  "description": "任务的详细说明",
  "priority": 3,
  "status": "todo",  // "todo", "in_progress", "done" 的いずれか
  "progress": 0,     // 0-100 的进度率
  "subtasks": [
    {
      "id": 1,
      "description": "子任务的说明",
      "status": "todo"  // "todo", "in_progress", "done" 的いずれか
    }
  ],
  "notes": [
    {
      "id": 1,
      "content": "笔记的内容",
      "timestamp": "2025-02-28T09:22:53.532808"
    }
  ]
}

数据保存

任务数据以分层结构保存:

output/
├── tasks.json                  # 默认的任务文件
├── agent1/
│   ├── tasks.json              # agent1的任务文件
│   ├── project1/
│   │   └── tasks.json          # agent1的project1的任务文件
│   └── project2/
│       └── tasks.json          # agent1的project2的任务文件
└── agent2/
    ├── tasks.json              # agent2的任务文件
    └── projectA/
        └── tasks.json          # agent2的projectA的任务文件

每个任务文件在应用程序运行时自动生成和更新。

代理和项目管理

要管理特定代理或项目的任务,可以使用以下方法:

  1. 在MCP设置中指定默认代理:通过在defaultArguments中指定agent_id,它将自动用于所有请求。

  2. 在AI对话中指定项目:可以在对话中指定,例如“将新任务添加到项目X”。

  3. 从AI直接指定:可以在请求参数中包含agent_idproject_name

项目结构

TaskMateAI/
├── src/
│   └── TaskMateAI/
│       ├── __init__.py      # 包初始化
│       └── __main__.py      # 主应用程序代码
├── output/                  # 数据保存目录
│   └── tasks.json           # 任务数据 (自动生成)
├── tests/                   # 测试代码
│   ├── unit/                # 单元测试
│   └── integration/         # 集成测试
├── requirements.txt         # 依赖包列表
└── README.md                # 这个文件

测试

TaskMateAI提供了一个全面的测试套件,以确保功能的可靠性。

测试的构成

测试在以下目录结构中进行管理:

tests/
├── __init__.py           # 测试包的初始化
├── conftest.py           # 测试用fixture的定义
├── unit/                 # 单元测试
│   ├── __init__.py
│   ├── test_task_utils.py       # 任务相关实用程序的测试
│   ├── test_mcp_tools.py        # MCP工具功能的测试
│   └── test_agent_projects.py   # 代理和项目管理的测试
└── integration/          # 集成测试
    └── __init__.py

测试的种类

  1. 单元测试: 确认应用程序的各个组件是否正常工作

    • test_task_utils.py: 测试任务的读写、ID生成等基本功能
    • test_mcp_tools.py: 测试MCP工具的功能(任务的创建、更新、完成等)
    • test_agent_projects.py: 测试代理ID和项目管理功能
  2. 集成测试: 确认多个组件协同工作是否正常(将来扩展预定)

测试执行方法

可以使用以下命令来执行测试:

  1. 执行所有测试:
cd /path/to/TaskMateAI
uv run python -m pytest -xvs
  1. 执行特定的测试文件:
uv run python -m pytest -xvs tests/unit/test_task_utils.py
  1. 执行特定的测试类:
uv run python -m pytest -xvs tests/unit/test_mcp_tools.py::TestMCPTools
  1. 执行特定的测试函数:
uv run python -m pytest -xvs tests/unit/test_task_utils.py::TestTaskUtils::test_read_tasks_with_data

测试参数的说明:

  • -x: 在发生错误时停止测试
  • -v: 显示详细的输出
  • -s: 显示测试中的标准输出

修正预定项目

  • 实现任务模板功能
  • 构建任务之间的依赖关系管理系统
  • 添加计划功能
  • 引入按标签进行任务分类的系统
  • 实现里程碑管理功能

许可证

MIT

著者

NewAITees

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选