Task Manager MCP Server

by jhawkins11

Integrations

  • Runs an Express server to serve static frontend files and provide API endpoints for the UI, enabling task management and feature planning functionality.

  • Integrates with Git to analyze code changes using 'git diff HEAD', enabling code review functionality and automated task creation based on detected changes.

  • Uses WebSockets to handle real-time communication for the clarification workflow, allowing the UI to interact with the server when additional information is needed.

Task-Manager MCP-Server

Dies ist ein MCP-Server, der für die Integration mit KI-Code-Editoren wie Cursor entwickelt wurde. Das Hauptziel besteht darin, die Agentenfähigkeiten von Cursor und die hervorragenden Architekturfunktionen von Gemini 2.5 zu maximieren und gleichzeitig das extrem eingeschränkte Kontextfenster von Cursor zu umgehen. Dies wurde weitgehend vom Boomerang-Modus von Roo Code inspiriert, fand ihn aber extrem teuer, da das einzige Modell, das mit seinem Apply-Bot funktioniert, Claude 3.7 Sonnet ist. Mit diesem Server erhalten Sie das Beste aus beiden Welten: unbegrenztes Kontextfenster und unbegrenzte Nutzung zum Preis des Cursor-Abonnements von 20 $/Monat.

Darüber hinaus enthält es eine Svelte-Benutzeroberfläche, mit der Sie die Aufgabenliste und den Fortschritt anzeigen, den Plan manuell anpassen und die Änderungen überprüfen können.

Schlanke Benutzeroberfläche

Kernfunktionen

  • Komplexe Funktionsplanung: Geben Sie ihm eine Funktionsbeschreibung, und es verwendet ein LLM mit Projektkontext über repomix , um einen schrittweisen Codierungsplan für den KI-Agenten zu generieren, der mit einer rekursiven Aufgabenaufschlüsselung für Aufgaben mit hohem Aufwand befolgt werden kann.
  • Integrierter UI-Server: Führt einen Express-Server aus, um statische Frontend-Dateien bereitzustellen und grundlegende API-Endpunkte für die Benutzeroberfläche bereitzustellen. Öffnet die Benutzeroberfläche im Standardbrowser, nachdem die Planung abgeschlossen ist oder Klärungsbedarf besteht, und zeigt die Aufgabenliste und den Fortschritt an.
  • Unbegrenztes Kontextfenster: Verwendet das 1-Millionen-Token-Kontextfenster von Gemini 2.5 mit der Kürzung von repomix , wenn nötig.
  • Konversationsverlauf: Verfolgt den Konversationsverlauf für jede Funktion in einer separaten JSON-Datei unter .mcp/features/ , sodass Gemini 2.5 über den Kontext verfügt, wenn der Benutzer Anpassungen am Plan anfordert.
  • Klärungs-Workflow: Behandelt Fälle, in denen das LLM weitere Informationen benötigt, indem es die Planung unterbricht und über WebSockets mit einer verbundenen Benutzeroberfläche interagiert.
  • Task CRUD: Ermöglicht das Erstellen, Lesen, Aktualisieren und Löschen von Aufgaben über die Benutzeroberfläche.
  • Codeüberprüfung: Analysiert git diff HEAD Ausgabe mithilfe eines LLM und erstellt bei Bedarf neue Aufgaben.
  • Automatische Überprüfung (optional): Wenn konfiguriert ( AUTO_REVIEW_ON_COMPLETION=true ), wird der Codeüberprüfungsprozess automatisch ausgeführt, nachdem die letzte ursprüngliche Aufgabe für eine Funktion abgeschlossen wurde.
  • Plananpassung: Ermöglicht die Anpassung des Plans nach seiner Erstellung über das Tool adjust_plan .

Aufstellen

Voraussetzungen:

  • Node.js
  • npm
  • Git

Installation und Aufbau:

  1. Klon:
    git clone https://github.com/jhawkins11/task-manager-mcp.git cd task-manager-mcp
  2. Backend-Abhängigkeiten installieren:
    npm install
  3. Konfigurieren: Sie konfigurieren API-Schlüssel später direkt in den MCP-Einstellungen von Cursor (siehe Abschnitt „Verwendung“), aber Sie benötigen möglicherweise dennoch eine lokale .env Datei für manuelle Tests (siehe Abschnitt „Konfiguration“).
  4. Erstellen: Dieser Befehl erstellt die Backend- und Frontend-Server und kopiert die Svelte-Benutzeroberfläche in das Verzeichnis dist/frontend-ui/ .
    npm run build

Ausführen des Servers (manuell):

Für lokale Tests ohne Cursor können Sie den Server direkt über Node oder das npm-Skript ausführen. Diese Methode verwendet die .env Datei zur Konfiguration.

Node direkt verwenden (absoluten Pfad verwenden):

node /full/path/to/your/task-manager-mcp/dist/server.js

Verwenden von npm start:

npm start

Dadurch werden der MCP-Server (stdio), der WebSocket-Server und der HTTP-Server für die Benutzeroberfläche gestartet. Die Benutzeroberfläche sollte unter http://localhost:\ <UI_PORT> (Standard: 3000) erreichbar sein.

Konfiguration (.env-Datei für manuelle Ausführung):

Bei manueller Ausführung (nicht über Cursor) erstellen Sie eine .env-Datei im Projektstamm für API-Schlüssel und Ports. Hinweis: Bei Ausführung über Cursor sollten diese stattdessen in der mcp.json-Konfiguration von Cursor festgelegt werden (siehe Abschnitt „Verwendung“).

# .env - USED ONLY FOR MANUAL `npm start` or `node dist/server.js` # === OpenRouter (Recommended) === # Get key: https://openrouter.ai/keys OPENROUTER_API_KEY=sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx OPENROUTER_MODEL=google/gemini-2.5-pro-preview FALLBACK_OPENROUTER_MODEL=google/gemini-2.5-flash-preview:thinking # === Google AI API (Alternative) === # GEMINI_API_KEY=your_google_ai_api_key # GEMINI_MODEL=gemini-1.5-flash-latest # FALLBACK_GEMINI_MODEL=gemini-1.5-flash-latest # === UI / WebSocket Ports === # Default is 4999 if not set. UI_PORT=4999 WS_PORT=4999 # === Auto Review === # If true, the agent will automatically run the 'review_changes' tool after the last task is completed. # Defaults to false. AUTO_REVIEW_ON_COMPLETION=false

Kosten vermeiden

WICHTIG: Es wird dringend empfohlen, Ihren eigenen Google AI API-Schlüssel in OpenRouter zu integrieren, um die Ratenbegrenzungen der kostenlosen Modelle zu umgehen. Siehe unten.

Nutzung der kostenlosen Stufen von OpenRouter: Sie können die Kosten deutlich minimieren oder eliminieren, indem Sie Modelle verwenden, die auf OpenRouter als „Kostenlos“ gekennzeichnet sind (wie zum Zeitpunkt des Schreibens google/gemini-2.5-pro-preview), und gleichzeitig Ihren eigenen Google AI API-Schlüssel verbinden. Weitere Informationen finden Sie in diesem Reddit-Thread: https://www.reddit.com/r/ChatGPTCoding/comments/1jrp1tj/a\_simple\_guide\_to\_setting\_up\_gemini\_25\_pro\_free/

Fallback-Kosten: Der Server versucht automatisch einen erneuten Versuch mit einem Fallback-Modell, wenn der primäre Server eine Ratenbegrenzung erreicht. Das Standard-Fallback (FALLBACK_OPENROUTER_MODEL) ist oft ein schnelleres/günstigeres Modell wie Gemini Flash, das je nach den aktuellen Preisen/Tarifen von OpenRouter dennoch Kosten verursachen kann. Überprüfen Sie die Website und passen Sie das Fallback-Modell in Ihrer Konfiguration gegebenenfalls an.

Verwendung mit Cursor (Task-Manager-Modus)

Dies ist die primäre Verwendungsart dieses Servers.

1. Konfigurieren Sie den MCP-Server im Cursor:

Nachdem Sie den Server erstellt haben ( npm run build ), müssen Sie Cursor mitteilen, wie er ausgeführt werden soll.

Suchen Sie die MCP-Konfigurationsdatei von Cursor. Dies kann sein:

  • Projektspezifisch: Erstellen/bearbeiten Sie eine Datei unter .cursor/mcp.json im Stammverzeichnis Ihres Projekts.
  • Global: Erstellen/bearbeiten Sie eine Datei unter ~/.cursor/mcp.json in Ihrem Benutzer-Home-Verzeichnis (zur Verwendung in allen Projekten).

Fügen Sie dem mcpServers-Objekt in dieser JSON-Datei den folgenden Eintrag hinzu:

{ "mcpServers": { "task-manager-mcp": { "command": "node", "args": ["/full/path/to/your/task-manager-mcp/dist/server.js"], "env": { "OPENROUTER_API_KEY": "sk-or-v1-xxxxxxxxxxxxxxxxxxxx" // optional: my recommended model for MCP is Gemini 2.5 Pro Free which is already set by default // "OPENROUTER_MODEL": "google/gemini-2.5-pro-preview", // also optional // "FALLBACK_OPENROUTER_MODEL": "google/gemini-2.5-flash-preview:thinking", // optional: the default port for the UI is 4999 if not set // "UI_PORT": "4999", // optional: the default port for the WebSocket server is 4999 if not set // "WS_PORT": "4999" // Add GEMINI_API_KEY here instead if using Google directly // Add any other necessary env vars here } } // Add other MCP servers here if you have them } }

WICHTIG:

  • Ersetzen Sie /full/path/to/your/task-manager-mcp/dist/server.js durch den absoluten Pfad zum kompilierten Serverskript auf Ihrem Computer.
  • Ersetzen Sie sk-or-v1-xxxxxxxxxxxxxxxxxxxx durch Ihren tatsächlichen OpenRouter-API-Schlüssel (oder legen Sie GEMINI_API_KEY fest, wenn Sie Google AI direkt verwenden).
  • Diese hier definierten Umgebungsvariablen werden an den Serverprozess übergeben, wenn Cursor ihn startet, und überschreiben alle .env Dateien.

2. Erstellen Sie einen benutzerdefinierten Cursormodus:

  1. Gehen Sie zu Cursoreinstellungen -> Funktionen -> Chat -> Benutzerdefinierte Modi aktivieren.
  2. Gehen Sie zurück zur Chat-Ansicht, klicken Sie auf die Modusauswahl (unten links) und dann auf „Benutzerdefinierten Modus hinzufügen“.
  3. Geben Sie ihm einen Namen (z. B. „MCP Planner“, „Task Dev“) und wählen Sie ein Symbol/eine Verknüpfung.
  4. Tools aktivieren: Stellen Sie sicher, dass die von diesem Server bereitgestellten Tools ( plan_feature , mark_task_complete , get_next_task , review_changes , adjust_plan ) für diesen Modus verfügbar und aktiviert sind. Je nach Arbeitsablauf können Sie weitere Tools wie Codebase, Terminal usw. aktivieren.
  5. Empfohlene Anweisungen für den Agenten: Fügen Sie diese Regeln genau in das Textfeld „Benutzerdefinierte Anweisungen“ ein:
Always use plan_feature mcp tool when getting feature request before doing anything else. ALWAYS!!!!!!!! It will return the first step of the implementation. DO NOT IMPLEMENT MORE THAN WHAT THE TASK STATES. After you're done run mark_task_complete which will give you the next task. If the user says "review" use the review_changes tool. The review_changes tool will generate new tasks for you to follow, just like plan_feature. After a review, follow the same one-at-a-time task completion workflow: complete each review-generated task, mark it complete, and call get_next_task until all are done. If clarification is required at any step, you will not receive the next task and will have to run get_next_task manually after the user answers the clarification question through the UI. IMPORTANT: Your job is to complete the tasks one at a time. DO NOT DO ANY OTHER CHANGES, ONLY WHAT THE CURRENT TASK SAYS TO DO.
  1. Speichern Sie den benutzerdefinierten Modus.

Erwarteter Arbeitsablauf (unter Verwendung des benutzerdefinierten Modus):

  1. Wählen Sie Ihren neuen benutzerdefinierten Modus im Cursor aus.
  2. Geben Sie Cursor eine Funktionsanforderung (z. B. „Authentifizierung mit JWT hinzufügen“).
  3. Der Cursor ruft gemäß den Anweisungen das Tool plan_feature auf.
  4. Der Server plant, speichert Daten und gibt eine JSON-Antwort (innerhalb des Textinhalts) an Cursor zurück.
    • Bei Erfolg: Die Antwort enthält status: "completed" und die Beschreibung der ersten Aufgabe im message . Die Benutzeroberfläche (sofern ausgeführt) wird gestartet/aktualisiert.
    • Falls Klärungsbedarf besteht: Die Antwort enthält status: "awaiting_clarification" , die featureId , die uiUrl und Anweisungen für den Agenten, zu warten und get_next_task später aufzurufen. Die Benutzeroberfläche wird mit der Frage gestartet/aktualisiert.
  5. Cursor implementiert nur die beschriebene Aufgabe (sofern vorhanden).
  6. Falls Klärungsbedarf besteht, antwortet der Benutzer in der Benutzeroberfläche, der Server nimmt die Planung wieder auf und aktualisiert die Benutzeroberfläche über WebSocket. Der Agent befolgt anschließend die Anweisungen und ruft get_next_task mit der featureId auf.
  7. Wenn eine Aufgabe abgeschlossen wurde, ruft Cursor mark_task_complete (mit taskId und featureId ) auf.
  8. Der Server markiert die Aufgabe als erledigt und gibt die nächste ausstehende Aufgabe in der Antwortnachricht zurück.
  9. Der Cursor wiederholt die Schritte 4–8.
  10. Wenn der Benutzer Cursor auffordert, eine „Überprüfung“ durchzuführen, ruft er review_changes auf.

API-Endpunkte (für die Benutzeroberfläche)

Der integrierte Express-Server stellt diese grundlegenden Endpunkte für das Frontend bereit:

  • GET /api/features : Gibt eine Liste vorhandener Feature-IDs zurück.
  • GET /api/tasks/:featureId : Gibt die Liste der Aufgaben für eine bestimmte Funktion zurück.
  • GET /api/tasks : Gibt Aufgaben für die zuletzt erstellte/geänderte Funktion zurück.
  • GET /api/features/:featureId/pending-question : Überprüft, ob eine aktive Klärungsfrage für die Funktion vorliegt.
  • POST /api/tasks : Erstellt eine neue Aufgabe für eine Funktion.
  • PUT /api/tasks/:taskId : Aktualisiert eine vorhandene Aufgabe.
  • DELETE /api/tasks/:taskId : Löscht eine Aufgabe.
  • (Statische Dateien) : Stellt Dateien aus dist/frontend-ui/ bereit (z. B. index.html ).
-
security - not tested
F
license - not found
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Ein MCP-Server, der sich in KI-Editoren wie Cursor integrieren lässt, um die Fähigkeiten der Agenten zu maximieren und gleichzeitig Einschränkungen des Kontextfensters zu lösen. Außerdem bietet er eine Svelte-Benutzeroberfläche für die Aufgabenplanung und Implementierungsverfolgung.

  1. Schlanke Benutzeroberfläche
    1. Kernfunktionen
      1. Aufstellen
        1. Voraussetzungen:
        2. Installation und Aufbau:
        3. Ausführen des Servers (manuell):
        4. Konfiguration (.env-Datei für manuelle Ausführung):
      2. Kosten vermeiden
        1. Verwendung mit Cursor (Task-Manager-Modus)
          1. Konfigurieren Sie den MCP-Server im Cursor:
          2. Erstellen Sie einen benutzerdefinierten Cursormodus:
        2. Erwarteter Arbeitsablauf (unter Verwendung des benutzerdefinierten Modus):
          1. API-Endpunkte (für die Benutzeroberfläche)

            Related MCP Servers

            • -
              security
              A
              license
              -
              quality
              An MCP server that converts Cursor agent plans into structured markdown task lists and organizes them in your repository, helping you track AI-generated plans and recommendations as actionable specifications.
              Last updated -
              3
              Python
              MIT License
              • Linux
              • Apple
            • -
              security
              A
              license
              -
              quality
              An MCP server implementation that standardizes how AI applications access tools and context, providing a central hub that manages tool discovery, execution, and context management with a simplified configuration system.
              Last updated -
              9
              Python
              MIT License
            • -
              security
              A
              license
              -
              quality
              An MCP server that enables AI assistants to control a web browser through natural language commands, allowing them to navigate websites and extract information via SSE transport.
              Last updated -
              387
              Python
              MIT License
              • Apple
            • -
              security
              A
              license
              -
              quality
              An MCP server that bridges AI agents with GUI automation capabilities, allowing them to control mouse, keyboard, windows, and take screenshots to interact with desktop applications.
              Last updated -
              Python
              MIT License
              • Apple
              • Linux

            View all related MCP servers

            ID: d927orecg8