TaskMateAI
Aplicación de gestión de tareas TODO con IA/MCP
TaskMateAI es una aplicación de gestión de tareas sencilla que permite a la IA gestionar y ejecutar tareas de forma autónoma, y puede operarse a través de MCP (Protocolo de contexto de modelo).
Related MCP server: Taskmaster
Características
Creación y gestión de tareas a través de MCP
Soporte de subtareas
Manejo de tareas basado en prioridades
Función de gestión y generación de informes del progreso de las tareas
Función para agregar notas
Persistencia de datos mediante archivos JSON
Gestión de tareas para múltiples IA por ID de agente
Organizar tareas por proyecto
instalar
Prerrequisitos
Python 3.12 o superior
uv (administrador de paquetes de Python)
WSL (Subsistema de Windows para Linux) *Para entornos Windows
Instrucciones de instalación
Clonar o descargar el repositorio:
git clone https://github.com/YourUsername/TaskMateAI.git
cd TaskMateAIInstalar los paquetes necesarios:
uv install -r requirements.txtCómo utilizar
Lanzamiento de la aplicación
En el entorno WSL puedes ejecutar tu aplicación de la siguiente manera:
cd /path/to/TaskMateAI/src/TaskMateAI
uv run TaskMateAIConfiguración de MCP
Ejemplo de configuración para uso con 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": ""
}
}
}
}Herramientas MCP disponibles
TaskMateAI proporciona las siguientes herramientas MCP:
get_tasks - Obtener una lista de tareas (se puede filtrar por estado y prioridad)
get_next_task : obtener la siguiente tarea de alta prioridad (se actualiza automáticamente al estado en progreso)
create_task - Crea una nueva tarea (con subtareas)
update_progress - Actualiza el progreso de una tarea
complete_task - Marcar una tarea como completada
add_subtask - Agregar una subtarea a una tarea existente
update_subtask - Actualizar el estado de una subtarea
add_note - Agregar una nota a una tarea
list_agents - Obtener una lista de identificaciones de agentes disponibles
list_projects - Obtener una lista de proyectos relacionados con un agente específico
Formato de datos
Las tareas se gestionan utilizando la siguiente estructura:
{
"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"
}
]
}Almacenamiento de datos
Los datos de la tarea se almacenan en una estructura jerárquica:
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のタスクファイルCada archivo de tarea se genera y actualiza automáticamente cuando se ejecuta la aplicación.
Gestión de agentes y proyectos
Para administrar tareas para un agente o proyecto específico, puede:
Especifique un agente predeterminado en su configuración de MCP : al especificar
agent_idendefaultArguments, se utilizará automáticamente en todas las solicitudes.Especificar proyectos en conversaciones de IA : puedes especificar proyectos en la conversación, como "Agregar una nueva tarea al proyecto X".
Especificado directamente por AI : puede incluir
agent_idyproject_nameen los parámetros de solicitud.
Estructura del proyecto
TaskMateAI/
├── src/
│ └── TaskMateAI/
│ ├── __init__.py # パッケージ初期化
│ └── __main__.py # メインアプリケーションコード
├── output/ # データ保存ディレクトリ
│ └── tasks.json # タスクデータ (自動生成)
├── tests/ # テストコード
│ ├── unit/ # ユニットテスト
│ └── integration/ # 統合テスト
├── requirements.txt # 依存パッケージリスト
└── README.md # このファイルprueba
TaskMateAI proporciona un conjunto de pruebas integral para garantizar la confiabilidad de la funcionalidad.
Configuración de prueba
Las pruebas están organizadas en la siguiente estructura de directorio:
tests/
├── __init__.py # テストパッケージの初期化
├── conftest.py # テスト用フィクスチャの定義
├── unit/ # ユニットテスト
│ ├── __init__.py
│ ├── test_task_utils.py # タスク関連ユーティリティのテスト
│ ├── test_mcp_tools.py # MCPツール機能のテスト
│ └── test_agent_projects.py # エージェントとプロジェクト管理のテスト
└── integration/ # 統合テスト
└── __init__.pyTipos de pruebas
Pruebas unitarias : garantizan que los componentes individuales de una aplicación funcionen correctamente
test_task_utils.py: prueba funciones básicas como tareas de lectura y escritura y generación de identificaciones.test_mcp_tools.py: prueba la funcionalidad de las herramientas MCP (creación, actualización, finalización de tareas, etc.)test_agent_projects.py: prueba la identificación del agente y la funcionalidad de gestión de proyectos
Pruebas de integración : garantizar que varios componentes funcionen juntos correctamente (expansión futura planificada)
Cómo ejecutar la prueba
Puede ejecutar la prueba utilizando el siguiente comando:
Ejecutar todas las pruebas:
cd /path/to/TaskMateAI
uv run python -m pytest -xvsEjecutar un archivo de prueba específico:
uv run python -m pytest -xvs tests/unit/test_task_utils.pyEjecutar una clase de prueba específica:
uv run python -m pytest -xvs tests/unit/test_mcp_tools.py::TestMCPToolsEjecutar una función de prueba específica:
uv run python -m pytest -xvs tests/unit/test_task_utils.py::TestTaskUtils::test_read_tasks_with_dataExplicación de los argumentos de la prueba:
-x: Detiene la prueba cuando ocurre un error-v: Mostrar salida detallada-s: Mostrar la salida estándar durante la prueba
Elementos a reparar
Implementación de la función de plantilla de tarea
Construcción de un sistema de gestión de dependencias entre tareas
Adición de la función de programación
Presentación de un sistema de clasificación de tareas basado en etiquetas
Implementación de la función de gestión de hitos
licencia
Instituto Tecnológico de Massachusetts (MIT)
autor
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.