Skip to main content
Glama
azamafridi23

Task Tracker MCP Server

by azamafridi23

📋 Servidor MCP de Seguimiento de Tareas

Python 3.10+ FastMCP uv Licencia: MIT

Un servidor práctico del Protocolo de Contexto de Modelo (MCP) construido en Python usando FastMCP y gestionado con uv. Este servidor proporciona a los asistentes de IA (como Claude Desktop, Cursor, Antigravity, etc.) capacidades estructuradas de gestión de tareas.


🌟 Descripción General

El Protocolo de Contexto de Modelo (MCP) es un estándar abierto que permite a los LLMs y aplicaciones de IA interactuar de manera segura y sin problemas con herramientas y fuentes de datos externas.

Este proyecto implementa las tres primitivas principales de MCP:

  • 🛠️ Herramientas: Funciones invocables que permiten al modelo realizar acciones (add_task, complete_task, delete_task).

  • 📦 Recursos: URIs de solo lectura que permiten al modelo inspeccionar el estado (tasks://all, tasks://pending).

  • 💡 Indicaciones: Plantillas de indicaciones predefinidas que guían a la IA para realizar flujos de trabajo complejos (por ejemplo, análisis y priorización de tareas).

flowchart LR
    Host["AI Host / Application<br/>(Claude Desktop / Cursor / Antigravity)"] 
    Client["MCP Client<br/>(Protocol Handler)"]
    Server["Task Tracker MCP Server<br/>(FastMCP)"]
    
    Host <--> Client
    Client <--> Server
    
    subgraph ServerCapabilities ["Server Capabilities"]
        Tools["🛠️ Tools<br/>add_task, complete_task, delete_task"]
        Resources["📦 Resources<br/>tasks://all, tasks://pending"]
        Prompts["💡 Prompts<br/>task_summary_prompt"]
    end
    
    Server --- ServerCapabilities

🚀 Funcionalidades y Primitivas MCP

1. Herramientas (Acciones)

Herramienta

Argumentos

Descripción

add_task

title: str, description: str = ""

Añade una nueva tarea con un ID único y una marca de tiempo ISO.

complete_task

task_id: int

Marca el estado de una tarea como "completed" y añade una marca de tiempo de finalización.

delete_task

task_id: int

Elimina una tarea por ID y devuelve el objeto eliminado.

2. Recursos (Datos de Solo Lectura)

URI del Recurso

Descripción

tasks://all

Da formato y devuelve todas las tareas con emojis ( para completadas, para pendientes).

tasks://pending

Filtra y devuelve solo las tareas activas/pendientes.

3. Indicaciones (Flujos de Trabajo Guiados)

Indicación

Descripción

task_summary_prompt

Guía al asistente de IA para analizar tareas pendientes vs completadas, identificar elementos vencidos y recomendar próximas acciones usando tasks://all.


📦 Primeros Pasos con uv

Este proyecto está construido y gestionado con uv , un gestor de proyectos y paquetes de Python extremadamente rápido escrito en Rust por Astral.

1. Instalar uv

macOS / Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Verificar la instalación:

uv --version

2. Clonar y Configurar el Repositorio

git clone https://github.com/<your-username>/task-tracker-mcp.git
cd task-tracker-mcp

3. Instalar Dependencias

uv creará automáticamente un entorno virtual (.venv) e instalará todas las dependencias requeridas:

uv sync

🧪 Probando el Servidor

Puedes ejecutar el cliente asíncrono integrado (test_client.py) que ejercita cada herramienta, recurso e indicación:

uv run test_client.py

Salida Esperada:

🚀 Starting FastMCP Test Client...
==================================================

1. Listing Available Tools:
   Found 3 tools: ['add_task', 'complete_task', 'delete_task']

2. Calling 'add_task' Tool:
   Task 1 Response: {"id":1,"title":"Learn MCP", ...}
   Task 2 Response: {"id":2,"title":"Master uv", ...}

3. Listing Available Resources:
   Found 2 resources: [AnyUrl('tasks://all'), AnyUrl('tasks://pending')]

4. Reading 'tasks://all' Resource:
   Current Tasks:
   ⏳ [1] Learn MCP
   ⏳ [2] Master uv

5. Completing Task ID 1:
   Completed Result: {"id":1, "status":"completed", ...}

6. Reading 'tasks://pending' Resource:
   Pending Tasks:
   ⏳ [2] Master uv

7. Listing Available Prompts:
   Found 1 prompts: ['task_summary_prompt']

8. Deleting Task ID 2:
   Delete Result: {"success": true, "deleted": {"id": 2, ...}}

==================================================
✨ All MCP Server tests completed successfully!

🔌 Conectando e Inspeccionando

1. Inspector CLI y Herramientas de Desarrollo de FastMCP

FastMCP 3.x proporciona comandos CLI integrados para inspeccionar y depurar tu servidor:

  • Inspector Web Interactivo:

    uv run fastmcp dev inspector task_server.py
  • Inspeccionar Resumen del Servidor:

    uv run fastmcp inspect task_server.py
  • Listar Todas las Herramientas:

    uv run fastmcp list task_server.py
  • Ejecutar Servidor Independiente:

    uv run fastmcp run task_server.py

2. Integración con Claude Desktop

Añade la configuración del servidor a tu claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "task-tracker": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/task-tracker-mcp",
        "run",
        "task_server.py"
      ]
    }
  }
}

📁 Estructura del Proyecto

Task Tracker MCP/
├── pyproject.toml         # Dependency & project metadata (managed by uv)
├── task_server.py         # MCP Server definitions (tools, resources, prompts)
├── test_client.py         # FastMCP async automated test client
├── src/
│   └── task_tracker_mcp/  # Python package entrypoint
│       └── __init__.py
├── .python-version        # Locked Python version
├── .gitignore             # Python & uv exclusions
└── README.md              # Documentation

💡 Hoja de Referencia de Comandos Clave de uv

Comando

Descripción

uv init

Inicializa un nuevo proyecto de Python con pyproject.toml

uv add <paquete>

Añade una dependencia a pyproject.toml y la instala en .venv

uv remove <paquete>

Elimina una dependencia

uv run <script.py>

Ejecuta cualquier script de Python dentro del entorno del proyecto aislado

uv sync

Sincroniza los paquetes instalados con uv.lock

uv venv

Crea un entorno virtual explícitamente


🛠️ Próximos Pasos y Extensiones

  • Almacenamiento Persistente: Reemplazar la lista en memoria con SQLite mediante aiosqlite o sqlite3.

  • Prioridad y Fechas de Vencimiento: Añadir indicadores de prioridad de tareas (baja, media, alta) y filtros de fecha de vencimiento.

  • Herramienta de Búsqueda: Añadir una herramienta search_tasks(query: str) para buscar en títulos y descripciones.

  • Autenticación: Asegurar los endpoints con proveedores de autenticación de FastMCP.


📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT; consulte el archivo LICENSE para más detalles.

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Manage your MakeMeBetter AI tasks, habits, and goals from your AI assistant.

  • Task manager your agent can fully operate: boards, tasks, sprints, roles, worklogs, day planner.

  • Schedule tasks for later from your AI agent: reminders, delayed webhooks, recurring jobs.

View all MCP Connectors

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/azamafridi23/task-tracker-mcp'

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