Диспетчер задач MCP-сервера
Это сервер MCP, созданный для интеграции с редакторами кода AI, такими как Cursor. Основная цель здесь — максимизировать агентские возможности Cursor и превосходные архитектурные возможности Gemini 2.5, обходя при этом крайне ограниченное контекстное окно Cursor. Это было во многом вдохновлено режимом Boomerang из Roo Code, но я нашел его чрезвычайно дорогим, поскольку единственная модель, которая работает с его ботом-применителем, — это Claude 3.7 Sonnet. С этим сервером вы получаете лучшее из обоих миров: неограниченное контекстное окно и неограниченное использование по цене подписки Cursor в размере 20 долларов в месяц.
Кроме того, он включает в себя пользовательский интерфейс Svelte, который позволяет просматривать список задач и ход их выполнения, вручную корректировать план и просматривать изменения.
Изящный пользовательский интерфейс

Related MCP server: Fastn Server
Основные характеристики
Планирование сложных функций: дайте ему описание функции, и он использует LLM с контекстом проекта через
repomixдля создания пошагового плана кодирования, которому будет следовать агент ИИ с рекурсивной разбивкой задач для задач с высокой трудоемкостью.Интегрированный сервер пользовательского интерфейса: запускает сервер Express для обслуживания статических файлов интерфейса и предоставляет базовые конечные точки API для пользовательского интерфейса. Открывает пользовательский интерфейс в браузере по умолчанию после завершения планирования или когда требуются разъяснения и отображает список задач и прогресс.
Неограниченное контекстное окно: использует контекстное окно Gemini 2.5 на 1 миллион токенов с усечением
repomixпри необходимости.История разговоров: отслеживает историю разговоров по каждой функции в отдельном файле JSON в
.mcp/features/для каждой функции, что позволяет Gemini 2.5 иметь контекст, когда пользователь запрашивает корректировки плана.Рабочий процесс уточнения: обрабатывает случаи, когда LLM требуется дополнительная информация, приостанавливая планирование и взаимодействуя с подключенным пользовательским интерфейсом через WebSockets.
Task CRUD: позволяет создавать, читать, обновлять и удалять задачи через пользовательский интерфейс.
Обзор кода: анализирует вывод
git diff HEADс помощью LLM и при необходимости создает новые задачи.Автоматический обзор (необязательно): если настроено (
AUTO_REVIEW_ON_COMPLETION=true), автоматически запускает процесс обзора кода после завершения последней исходной задачи для функции.Корректировка плана: позволяет корректировать план после его создания с помощью инструмента
adjust_plan.
Настраивать
Предварительные условия:
Node.js
нпм
Гит
Установка и сборка:
Клон:
git clone https://github.com/jhawkins11/task-manager-mcp.git cd task-manager-mcpУстановка внутренних компонентов:
npm installНастройка: позже вы настроите ключи API непосредственно в настройках MCP Cursor (см. раздел «Использование»), но вам все равно может понадобиться локальный файл
.envдля ручного тестирования (см. раздел «Конфигурация»).Сборка: эта команда создает внутренние и внешние серверы и копирует пользовательский интерфейс Svelte в каталог
dist/frontend-ui/.npm run build
Запуск сервера (вручную):
Для локального тестирования без Cursor вы можете запустить сервер с помощью Node напрямую или скрипта npm. Этот метод будет использовать файл .env для конфигурации.
Использование Node напрямую (используйте абсолютный путь):
Используя npm start:
Это запустит сервер MCP (stdio), сервер WebSocket и сервер HTTP для UI. UI должен быть доступен по адресу http://localhost:\ <UI_PORT> (по умолчанию 3000).
Конфигурация (файл .env для ручного запуска):
При запуске вручную (не через Cursor) создайте файл .env в корне проекта для ключей API и портов. Примечание: при запуске через Cursor их следует задать в конфигурации mcp.json Cursor (см. раздел Использование).
Избегание затрат
ВАЖНО: Настоятельно рекомендуется интегрировать собственный ключ API Google AI в OpenRouter, чтобы избежать ограничений скорости бесплатных моделей. См. ниже.
Использование бесплатных уровней OpenRouter: вы можете значительно минимизировать или устранить затраты, используя модели, помеченные как «Бесплатные» на OpenRouter (например, google/gemini-2.5-flash-preview:thinking на момент написания статьи), при подключении собственного ключа Google AI API. Ознакомьтесь с этой веткой reddit для получения дополнительной информации: https://www.reddit.com/r/ChatGPTCoding/comments/1jrp1tj/a\_simple\_guide\_to\_setting\_up\_gemini\_25\_pro\_free/
Стоимость отката: сервер автоматически повторяет попытку с моделью отката, если первичный достигает предела скорости. Модель отката по умолчанию (FALLBACK_OPENROUTER_MODEL) часто является более быстрой/дешевой моделью, например Gemini Flash, которая может по-прежнему иметь сопутствующие расходы в зависимости от текущих цен/уровней OpenRouter. Проверьте их сайт и при необходимости настройте модель отката в своей конфигурации.
Использование с курсором (режим диспетчера задач)
Это основной способ использования этого сервера. Я пока не тестировал его с другими редакторами кода AI. Если вы попробуете, пожалуйста, дайте мне знать, как все прошло, и я обновлю README.
1. Настройте MCP-сервер в Cursor:
После сборки сервера ( npm run build ) необходимо указать Cursor, как его запустить.
Найдите файл конфигурации MCP Курсора. Это может быть:
Для конкретного проекта: создайте/отредактируйте файл
.cursor/mcp.jsonв корневом каталоге вашего проекта.Глобально: создайте/отредактируйте файл
~/.cursor/mcp.jsonв домашнем каталоге пользователя (для использования во всех проектах).
Добавьте следующую запись в объект mcpServers в этом JSON-файле:
ВАЖНЫЙ:
Замените
/full/path/to/your/task-manager-mcp/dist/server.jsна абсолютный путь к скомпилированному серверному скрипту на вашем компьютере.Замените
sk-or-v1-xxxxxxxxxxxxxxxxxxxxвашим фактическим ключом API OpenRouter (или установите GEMINI_API_KEY, если используете Google AI напрямую).Эти переменные env, определенные здесь, будут переданы серверному процессу, когда Cursor запустит его, переопределив любой файл
.env.
2. Создайте пользовательский режим курсора:
Перейдите в Настройки курсора -> Функции -> Чат -> Включить пользовательские режимы.
Вернитесь к просмотру чата, щелкните селектор режимов (внизу слева) и щелкните Добавить пользовательский режим.
Дайте ему имя (например, «MCP Planner», «Task Dev»), выберите значок/ярлык.
Включить инструменты: Убедитесь, что инструменты, предоставляемые этим сервером (
plan_feature,mark_task_complete,get_next_task,review_changes,adjust_plan), доступны и включены для этого режима. Возможно, вы захотите включить другие инструменты, такие как Codebase, Terminal и т. д., в зависимости от вашего рабочего процесса.Рекомендуемые инструкции для агента: Вставьте эти правила в текстовое поле «Пользовательские инструкции»:
Сохраните пользовательский режим.
Ожидаемый рабочий процесс (при использовании пользовательского режима):
Выберите новый пользовательский режим в курсоре.
Отправьте курсору запрос на функцию (например, «добавить аутентификацию с использованием JWT»).
Курсор, следуя инструкциям, вызовет инструмент
plan_feature.Сервер планирует, сохраняет данные и возвращает ответ JSON (внутри текстового содержимого) курсору.
В случае успеха: Ответ включает
status: "completed"и описание первой задачи в полеmessage. Пользовательский интерфейс (если запущен) запускается/обновляется.Если требуется уточнение: ответ включает
status: "awaiting_clarification",featureId,uiUrlи инструкции для агента подождать и вызватьget_next_taskпозже. Пользовательский интерфейс запускается/обновляется с вопросом.
Курсор реализует только описанную задачу (если она предусмотрена).
Если требовалось уточнение, пользователь отвечает в пользовательском интерфейсе, сервер возобновляет планирование и обновляет пользовательский интерфейс через WebSocket. Агент, следуя инструкциям, затем вызывает
get_next_taskсfeatureId.Если задача была завершена, Cursor вызывает
mark_task_complete(сtaskIdиfeatureId).Сервер отмечает задачу выполненной и возвращает следующую ожидающую задачу в ответном сообщении.
Курсор повторяет шаги 4-8.
Если пользователь просит Cursor «просмотреть», он вызывает
review_changes.
Конечные точки API (для пользовательского интерфейса)
Интегрированный сервер Express предоставляет следующие основные конечные точки для интерфейса:
GET /api/features: возвращает список существующих идентификаторов функций.GET /api/tasks/:featureId: возвращает список задач для определенной функции.GET /api/tasks: Возвращает задачи для последней созданной/измененной функции.GET /api/features/:featureId/pending-question: Проверяет, есть ли активный уточняющий вопрос для функции.POST /api/tasks: Создает новую задачу для функции.PUT /api/tasks/:taskId: Обновляет существующую задачу.DELETE /api/tasks/:taskId: Удаляет задачу.(Статические файлы) : обслуживает файлы из
dist/frontend-ui/(например,index.html).