Skip to main content
Glama
moazhassan751

todo-mcp-server

📝 Простой MCP-сервер для списка задач

Постоянный менеджер списка задач, реализованный как сервер Model Context Protocol (MCP) с использованием Python SDK FastMCP. Он предоставляет три инструмента, которые любой MCP-совместимый ИИ-клиент (Claude Desktop, Cursor, Antigravity IDE) может обнаружить и вызывать.

Что он делает

Этот сервер позволяет ИИ-ассистенту управлять простым списком задач от вашего имени — добавлять задачи с приоритетами, просматривать их с фильтрами и отмечать как выполненные. Все задачи сохраняются в локальный JSON-файл (tasks.json), поэтому состояние сохраняется между сеансами.


Related MCP server: Task Manager MCP Server

Инструменты

add_task

Создание новой задачи с необязательным уровнем приоритета.

Параметр

Тип

Обязательный

По умолчанию

Описание

title

string

Описание задачи (1–200 символов)

priority

string

"medium"

Одно из "low", "medium", "high"

Пример ввода:

{ "title": "Write MCP report", "priority": "high" }

Пример вывода:

✅ Task added!
  ID:       1
  Title:    Write MCP report
  Priority: high
  Status:   pending

list_tasks

Просмотр задач, опционально отфильтрованных по статусу.

Параметр

Тип

Обязательный

По умолчанию

Описание

status

string

"all"

Одно из "all", "pending", "done"

Пример ввода:

{ "status": "pending" }

Пример вывода:

📋 Tasks (pending) — 2 found:

  ID  Status    Priority Title
————  ————————— ———————— ————————————————————————————————————————
   2  ⏳ pending medium   Review lecture notes
   3  ⏳ pending low      Buy coffee

complete_task

Отметить задачу как выполненную по её числовому идентификатору.

Параметр

Тип

Обязательный

Описание

task_id

integer

Идентификатор, показанный в list_tasks

Пример ввода:

{ "task_id": 1 }

Пример вывода:

✅ Task 1 completed!
  Title:        Write MCP report
  Completed at: 2026-08-19T08:42:42.518574+00:00

Примеры обработки ошибок:

# Empty title
Error: Task title cannot be empty.

# Non-existent task
Error: No task with ID 999. Valid IDs: [1, 2, 3]

# Already completed
Task 1 ('Write MCP report') is already marked as done.

Инструкции по настройке

Предварительные требования

  • Python 3.10+

  • pip

Установка

# Clone the repo
git clone https://github.com/YOUR_USERNAME/simple-mcp-server.git
cd simple-mcp-server

# Install dependencies
pip install -r requirements.txt

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

Режим Stdio (по умолчанию — используется MCP-клиентами):

python server.py

MCP Inspector (интерактивный интерфейс тестирования):

mcp dev server.py
# Opens at http://localhost:6274

Автоматические тесты (с помощью включённого тестового скрипта):

python test_server.py

Подключение к MCP-клиентам

Claude Desktop

Добавьте в claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%/Claude/):

{
  "mcpServers": {
    "todo-server": {
      "command": "python",
      "args": ["/absolute/path/to/simple-mcp-server/server.py"]
    }
  }
}

Cursor

Добавьте в .cursor/mcp.json в корне вашего проекта:

{
  "mcpServers": {
    "todo-server": {
      "command": "python",
      "args": ["/absolute/path/to/simple-mcp-server/server.py"]
    }
  }
}

Google Antigravity IDE

Добавьте в .agents/mcp_config.json в корне вашего рабочего пространства:

{
  "mcpServers": {
    "todo-server": {
      "command": "python",
      "args": ["/absolute/path/to/simple-mcp-server/server.py"]
    }
  }
}

Smithery (удалённое развёртывание)

После развёртывания на Smithery настройте с помощью:

{
  "mcpServers": {
    "todo-server": {
      "serverUrl": "https://server.smithery.ai/@YOUR_USERNAME/simple-mcp-server/mcp"
    }
  }
}

Структура проекта

simple-mcp-server/
├── server.py           # Main MCP server with 3 tools
├── test_server.py      # Automated test script
├── requirements.txt    # Python dependencies
├── .gitignore          # Git ignore rules
├── Dockerfile          # Docker image for Smithery deployment
├── smithery.yaml       # Smithery deployment configuration
└── README.md           # This file

Выводы

  1. Магия FastMCP по преобразованию типов в схему мощна, но непрозрачна. Декоратор @mcp.tool() автоматически генерирует JSON Schema из подсказок типов Python и docstring — это отлично сокращает шаблонный код. Но когда что-то идёт не так (например, ключевое слово version не принимается в конструкторе), ошибка всплывает глубоко в слое протокола MCP, а не на уровне Python. Для отладки потребовалось читать исходный код SDK.

  2. Кодировка Windows сильно мешает. Консоль Windows по умолчанию использует cp1252, которая не может отображать символы эмодзи (✅, 📋). Это вызвало сбой нашего тестового скрипта с UnicodeEncodeError, хотя сам инструмент MCP работал нормально. Исправление (sys.stdout.reconfigure(encoding="utf-8")) — одна строка, но для его поиска потребовалось понять разницу между транспортным слоем MCP (который отлично работает с UTF-8) и слоем терминала (который — нет).

  3. Транспорт stdio в MCP удивительно элегантен. Весь протокол работает через сообщения JSON-RPC в stdin/stdout. Нет необходимости настраивать HTTP-сервер, открывать порты или бороться с CORS-заголовками. Клиент запускает сервер как подпроцесс, и они просто общаются. Это делает локальную разработку невероятно простой по сравнению с созданием REST API, и именно поэтому MCP-серверы так легко подключать к разным клиентам.


Лицензия

MIT

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

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

Related MCP Servers

View all related MCP servers

Related MCP Connectors

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

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