AI-driven task management application that operates via MCP, enabling autonomous creation, organization, and execution of tasks with support for subtasks, priorities, and progress tracking.
TaskMateAIは、AIが自律的にタスクを管理・実行するためのシンプルなタスク管理アプリケーションで、MCP (Model Context Protocol)を通じて操作できます。
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で利用するための設定例:
{ "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": "" } } } }
TaskMateAIは以下のMCPツールを提供します:
タスクは以下のような構造で管理されます:
{ "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
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!