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
MCP Google Workspace
A comprehensive MCP server for managing Google Workspace services like Calendar, Contacts, and Gmail using OAuth2 authentication.
n8n Workflow Builder
An MCP server for managing n8n workflows through its API.
Jira MCP
The most robust Jira MCP safe for internal corporate use.
Amazing Marvin AI Assistant
Connect your Amazing Marvin productivity system with AI assistants for smarter task management.
Invoice MCP
Create professional PDF invoices using natural language.
Homelab MCP
MCP servers for managing homelab infrastructure through Claude Desktop. Monitor Docker/Podman containers, Ollama AI models, Pi-hole DNS, Unifi networks, and Ansible inventory.
Outline MCP Server
MCP server for the Outline knowledge base and document management tool.
Things3
Manage tasks and projects in Things3 on macOS.
SuperLocalMemory V2
Universal, local-first persistent memory for AI assistants. SQLite-based knowledge graph with zero cloud dependencies. Works with 17+ tools (Claude, Cursor, Windsurf, VS Code, etc.). 100% free forever.
Freshdesk
Integrates with Freshdesk to manage support tickets, contacts, and other customer service operations.