TaskMateAI
An AI-driven task management application controllable via MCP, supporting tasks, subtasks, priorities, and progress tracking.
TaskMateAI
AI/MCP TODOタスク管理アプリケーション
TaskMateAIは、AIが自律的にタスクを管理・実行するためのシンプルなタスク管理アプリケーションで、MCP (Model Context Protocol)を通じて操作できます。
特徴
- MCPを通じたタスクの作成・管理
- サブタスクのサポート
- 優先順位に基づくタスク処理
- タスクの進捗管理と報告機能
- ノート追加機能
- JSONファイルによるデータ永続化
- エージェントIDによる複数AIのタスク管理
- プロジェクト単位でのタスク整理
インストール
前提条件
- Python 3.12以上
- uv (Python パッケージマネージャー)
- WSL (Windows Subsystem for Linux) ※Windows環境の場合
インストール手順
- リポジトリをクローンまたはダウンロード:
git clone https://github.com/YourUsername/TaskMateAI.git
cd TaskMateAI
- 必要なパッケージをインストール:
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ツールを提供します:
- get_tasks - タスクリストの取得(ステータスや優先度でフィルタリング可能)
- get_next_task - 優先度の高い次のタスクを取得(自動的に進行中ステータスに更新)
- create_task - 新しいタスクの作成(サブタスク付き)
- update_progress - タスクの進捗更新
- complete_task - タスクを完了としてマーク
- add_subtask - 既存タスクにサブタスクを追加
- update_subtask - サブタスクのステータス更新
- add_note - タスクにノートを追加
- list_agents - 利用可能なエージェントIDの一覧を取得
- 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のタスクファイル
各タスクファイルはアプリケーション実行時に自動的に生成・更新されます。
エージェントとプロジェクトの管理
特定のエージェントやプロジェクトのタスクを管理するには、以下の方法があります:
-
MCP設定でデフォルトエージェントを指定:
defaultArgumentsでagent_idを指定することで、すべてのリクエストで自動的に使用されます。 -
AI会話でプロジェクトを指定:会話の中で「プロジェクトXに新しいタスクを追加して」などと指定できます。
-
AIからの直接指定:リクエストパラメータに
agent_idとproject_nameを含めることができます。
プロジェクト構造
TaskMateAI/
├── src/
│ └── TaskMateAI/
│ ├── __init__.py # パッケージ初期化
│ └── __main__.py # メインアプリケーションコード
├── output/ # データ保存ディレクトリ
│ └── tasks.json # タスクデータ (自動生成)
├── tests/ # テストコード
│ ├── unit/ # ユニットテスト
│ └── integration/ # 統合テスト
├── requirements.txt # 依存パッケージリスト
└── README.md # このファイル
テスト
TaskMateAIでは、機能の信頼性を確保するため、包括的なテストスイートを提供しています。
テストの構成
テストは以下のディレクトリ構造で管理されています:
tests/
├── __init__.py # テストパッケージの初期化
├── conftest.py # テスト用フィクスチャの定義
├── unit/ # ユニットテスト
│ ├── __init__.py
│ ├── test_task_utils.py # タスク関連ユーティリティのテスト
│ ├── test_mcp_tools.py # MCPツール機能のテスト
│ └── test_agent_projects.py # エージェントとプロジェクト管理のテスト
└── integration/ # 統合テスト
└── __init__.py
テストの種類
-
ユニットテスト: アプリケーションの個々のコンポーネントが正しく機能することを確認します
test_task_utils.py: タスクの読み書き、ID生成などの基本機能をテストtest_mcp_tools.py: MCPツールの機能(タスクの作成、更新、完了など)をテストtest_agent_projects.py: エージェントIDとプロジェクト管理機能をテスト
-
統合テスト: 複数のコンポーネントが連携して正しく動作することを確認します(将来拡張予定)
テスト実行方法
以下のコマンドを使用してテストを実行できます:
- すべてのテストを実行:
cd /path/to/TaskMateAI
uv run python -m pytest -xvs
- 特定のテストファイルを実行:
uv run python -m pytest -xvs tests/unit/test_task_utils.py
- 特定のテストクラスを実行:
uv run python -m pytest -xvs tests/unit/test_mcp_tools.py::TestMCPTools
- 特定のテスト関数を実行:
uv run python -m pytest -xvs tests/unit/test_task_utils.py::TestTaskUtils::test_read_tasks_with_data
テスト引数の説明:
-x: エラーが発生した時点でテストを停止します-v: 詳細な出力を表示します-s: テスト中の標準出力を表示します
修正予定項目
- タスクテンプレート機能の実装
- タスク間の依存関係管理システムの構築
- スケジュール機能の追加
- タグによるタスク分類システムの導入
- マイルストーン管理機能の実装
ライセンス
MIT
著者
Related Servers
Apple MCP tools
Integrate with Apple's native apps like Contacts, Notes, Messages, and Mail.
上海迪士尼门票查询
sh-disney-mcp 是一个基于 Model Context Protocol (MCP) 的mcp server,旨在通过标准化的接口,帮助大模型快速获取上海迪士尼乐园的门票价格和售卖状态信息。
Browser Use
A simple, self-contained notes system with resources, tools, and prompts.
TikTok Ads MCP Server
A Model Context Protocol (MCP) server for TikTok Ads API integration. This server enables AI assistants like Claude to interact with TikTok advertising campaigns, providing comprehensive campaign management, analytics, and optimization capabilities. Part of the AdsMCP project - MCP servers for advertising platforms.
MCP Outlook Tools
Interact with Microsoft Outlook for calendar management, email operations, and search functionality.
Wiki.js
Integrates with Wiki.js, enabling AI to read and update documentation.
Agent Collaboration
A dynamic server for managing multi-agent collaboration within tmux sessions, featuring flexible pane configurations and auto-detection.
Fireflies.ai
Transcribe and analyze meetings using the Fireflies.ai API.
Travel Assistant
A suite of servers for intelligent travel planning, including flights, hotels, events, geocoding, weather, and finance.
SPAIK AI ROI
Predict and track AI ROI using Monte Carlo simulations, real-time industry benchmarks, and ML-powered insights.