Skip to main content
Glama
oseni99

TODO MCP Server

by oseni99

TODO MCP CLI и сервер

В этом репозитории содержится минимальная реализация протокола контекста модели (MCP) для приложения списка дел, включая:

  • Сервер FastAPI ( server/ ): предоставляет конечную точку /tools для обнаружения инструментов и конечную точку /rpc для вызовов JSON-RPC для выполнения операций над задачами.

  • CLI-клиент ( client/cli.py ): интерфейс командной строки Python, который взаимодействует с LLM (через OpenAI) и сервером MCP для создания, перечисления и выполнения задач с помощью вызовов функций.


Функции

  • Добавьте задачи с названием, содержанием и, по желанию, датой выполнения.

  • Список всех задач

  • Отметить задачи как выполненные

  • Генерация идентификатора задачи на стороне сервера

  • Соответствие JSON-RPC 2.0 для вызова инструмента


Предпосылки

  • Питон 3.10+

  • pipenv или venv для виртуальных сред

  • API-ключ OpenAI


Установка

  1. Клонируйте репозиторий:

    git clone https://github.com/oseni99/todo-mcp
    cd todo-mcp
  2. Создайте и активируйте виртуальную среду:

    python3 -m venv .venv
    source .venv/bin/activate
  3. Установите зависимости:

    pip install -r requirements.txt
  4. Создайте .env в корне проекта:

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

Структура каталога

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

Запуск сервера

fastapi dev server/main.py
  • Посетите http://127.0.0.1:8000/docs для получения интерактивной документации по API.


Запуск CLI

Из корня проекта:

python -m client.cli

Введите в командной строке команды на естественном языке, например:

> 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

CLI выведет вызовы инструментов и ответы LLM.


-
security - not tested
F
license - not found
-
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/oseni99/todo-mcp'

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