Skip to main content
Glama
oseni99

TODO MCP Server

by oseni99

TODO MCP CLI y servidor

Este repositorio contiene una implementación mínima del Protocolo de contexto de modelo (MCP) para una aplicación de lista de tareas pendientes, que incluye:

  • Servidor FastAPI ( server/ ): expone un punto final /tools para el descubrimiento de herramientas y un punto final /rpc para llamadas JSON-RPC para realizar operaciones en tareas.

  • Cliente CLI ( client/cli.py ): una interfaz de línea de comandos de Python que interactúa con un LLM (a través de OpenAI) y el servidor MCP para crear, enumerar y completar tareas mediante llamadas de función.


Características

  • Agregar tareas con título, contenido y fecha de vencimiento opcional

  • Enumerar todas las tareas

  • Marcar tareas como completadas

  • Generación de ID de tareas del lado del servidor

  • Cumplimiento de JSON-RPC 2.0 para la invocación de herramientas


Prerrequisitos

  • Python 3.10+

  • pipenv o venv para entornos virtuales

  • Una clave API de OpenAI


Instalación

  1. Clonar el repositorio:

    git clone https://github.com/oseni99/todo-mcp
    cd todo-mcp
  2. Crear y activar un entorno virtual:

    python3 -m venv .venv
    source .venv/bin/activate
  3. Instalar dependencias:

    pip install -r requirements.txt
  4. Crea un .env en la raíz del proyecto:

    OPENAI_API_KEY=sk-...
    MCP_SERVER=http://127.0.0.1:8000

Estructura del directorio

todoMCP/
├── client/        # CLI client code
│   └── cli.py     # Main entrypoint for the MCP-CLI
├── server/        # FastAPI server code
│   ├── handlers.py    # Business logic for add, list, complete
│   ├── tools.py       # JSON-Schema tool manifest
│   └── main.py        # FastAPI app with /tools and /rpc
├── .env           # Environment variables (not committed)
├── requirements.txt   # Python dependencies
└── README.md      # This file

Ejecución del servidor

fastapi dev server/main.py

Ejecución de la CLI

Desde la raíz del proyecto:

python -m client.cli

Escriba comandos en lenguaje natural en el indicador, por ejemplo:

> Create a task titled "Write blog post" with content "Outline first draft" due 2025-05-20
> List my tasks
> Mark the first task as done
> Thanks!
> exit

La CLI imprimirá invocaciones de herramientas y respuestas LLM.


F
license - not found
-
quality - not tested
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/oseni99/todo-mcp'

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