Skip to main content
Glama

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).

README disponible aquí

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

  1. Clonar o descargar el repositorio:

git clone https://github.com/YourUsername/TaskMateAI.git cd TaskMateAI
  1. Instalar los paquetes necesarios:

uv install -r requirements.txt

Có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 TaskMateAI

Configuració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:

  1. get_tasks - Obtener una lista de tareas (se puede filtrar por estado y prioridad)

  2. get_next_task : obtener la siguiente tarea de alta prioridad (se actualiza automáticamente al estado en progreso)

  3. create_task - Crea una nueva tarea (con subtareas)

  4. update_progress - Actualiza el progreso de una tarea

  5. complete_task - Marcar una tarea como completada

  6. add_subtask - Agregar una subtarea a una tarea existente

  7. update_subtask - Actualizar el estado de una subtarea

  8. add_note - Agregar una nota a una tarea

  9. list_agents - Obtener una lista de identificaciones de agentes disponibles

  10. 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:

  1. Especifique un agente predeterminado en su configuración de MCP : al especificar agent_id en defaultArguments , se utilizará automáticamente en todas las solicitudes.

  2. Especificar proyectos en conversaciones de IA : puedes especificar proyectos en la conversación, como "Agregar una nueva tarea al proyecto X".

  3. Especificado directamente por AI : puede incluir agent_id y project_name en 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__.py

Tipos de pruebas

  1. 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

  2. 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:

  1. Ejecutar todas las pruebas:

cd /path/to/TaskMateAI uv run python -m pytest -xvs
  1. Ejecutar un archivo de prueba específico:

uv run python -m pytest -xvs tests/unit/test_task_utils.py
  1. Ejecutar una clase de prueba específica:

uv run python -m pytest -xvs tests/unit/test_mcp_tools.py::TestMCPTools
  1. Ejecutar una función de prueba específica:

uv run python -m pytest -xvs tests/unit/test_task_utils.py::TestTaskUtils::test_read_tasks_with_data

Explicació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

Nuevas camisetas de IA

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NewAITees/TaskMateAI'

If you have feedback or need assistance with the MCP directory API, please join our Discord server