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: Personal Task Manager MCP

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

Related MCP Connectors

Related MCP Servers