Skip to main content
Glama

todoist-v1-mcp-server

Ein sauberer, zuverlässiger MCP-Server (Model Context Protocol) für Todoist – basierend auf der Todoist Unified API v1.

Warum existiert dieses Projekt?

Der offizielle Todoist-Web-MCP (todoist-ai) hat einen bekannten, hartnäckigen Verbindungsfehler auf der Anthropic-Seite, der eine tägliche Neuverbindung erfordert. Community-Alternativen basieren entweder auf der veralteten REST API v2 oder haben Schema-Validierungsfehler, die zu Abstürzen führen, wenn Todoist bei der Weiterentwicklung der API zusätzliche Felder zurückgibt.

Dieser Server:

  • Zielt auf die aktuelle Todoist API v1 ab (nicht die veraltete v2)

  • Nutzt stdio-Transport – keine Cloud-Abhängigkeit, keine täglichen Neuverbindungen

  • Verwendet die moderne MCP SDK registerTool() API (nicht das veraltete setRequestHandler-Muster)

  • Erzwingt niemals strikte Ausgabe-Schemas für API-Antworten – Todoist kann neue Felder frei hinzufügen, ohne etwas zu beschädigen

  • Keine SDK-Wrapper-Abhängigkeit – direkte HTTP-Aufrufe via axios, daher gibt es keine Zwischenbibliothek, die von der API abweicht

Tools (insgesamt 20)

Aufgaben

Tool

Beschreibung

todoist_get_tasks

Aufgaben auflisten/filtern – unterstützt Todoist-Filter-Strings wie "today", "overdue", "p1", "#ProjectName", "7 days"

todoist_get_task

Eine einzelne Aufgabe anhand der ID abrufen

todoist_create_task

Eine Aufgabe mit Fälligkeitsdatum in natürlicher Sprache erstellen ("tomorrow", "every monday" usw.)

todoist_update_task

Beliebiges Feld aktualisieren; clear_due_date: true übergeben, um ein Fälligkeitsdatum zu entfernen

todoist_complete_task

Eine Aufgabe als erledigt markieren

todoist_reopen_task

Eine erledigte Aufgabe wieder öffnen

todoist_delete_task

Eine Aufgabe dauerhaft löschen

Projekte

Tool

Beschreibung

todoist_get_projects

Alle Projekte auflisten

todoist_get_project

Ein einzelnes Projekt anhand der ID abrufen

todoist_create_project

Ein Projekt erstellen (mit Farbe, Ansichtsstil, übergeordnetem Projekt)

todoist_update_project

Ein Projekt aktualisieren

todoist_delete_project

Ein Projekt und alle dazugehörigen Aufgaben dauerhaft löschen

Abschnitte

Tool

Beschreibung

todoist_get_sections

Abschnitte innerhalb eines Projekts auflisten

todoist_create_section

Einen Abschnitt erstellen

todoist_update_section

Einen Abschnitt umbenennen

todoist_delete_section

Einen Abschnitt löschen

Labels

Tool

Beschreibung

todoist_get_labels

Alle persönlichen Labels auflisten

todoist_create_label

Ein Label erstellen

todoist_update_label

Ein Label aktualisieren

todoist_delete_label

Ein Label löschen

Einrichtung

1. Todoist API-Token abrufen

Gehen Sie zu Todoist → Einstellungen → Integrationen → Entwickler und kopieren Sie Ihren API-Token.

2. Installieren und bauen

git clone https://github.com/christulino/todoist-v1-mcp-server
cd todoist-v1-mcp-server
npm install
npm run build

3. Claude Desktop konfigurieren

Bearbeiten Sie ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "todoist": {
      "command": "node",
      "args": ["/absolute/path/to/todoist-v1-mcp-server/dist/index.js"],
      "env": {
        "TODOIST_API_TOKEN": "your_api_token_here"
      }
    }
  }
}

Starten Sie Claude Desktop neu. Sie sollten "todoist" in den verbundenen MCP-Servern sehen.

4. Claude Code konfigurieren (optional)

claude mcp add todoist -- node /absolute/path/to/todoist-v1-mcp-server/dist/index.js

Setzen Sie dann die Umgebungsvariable:

export TODOIST_API_TOKEN=your_api_token_here

Oder fügen Sie sie Ihrem Shell-Profil hinzu.

Anwendungsbeispiele

Sobald die Verbindung hergestellt ist, kann Claude Anfragen in natürlicher Sprache verarbeiten, wie zum Beispiel:

  • "Was steht heute bei mir an?" → verwendet todoist_get_tasks mit filter: "today"

  • "Erstelle eine Aufgabe, um nächsten Dienstag den Zahnarzt anzurufen" → verwendet todoist_create_task

  • "Markiere die Zahnarzt-Aufgabe als erledigt" → verwendet todoist_complete_task

  • "Zeig mir alles, was überfällig ist" → verwendet todoist_get_tasks mit filter: "overdue"

  • "Erstelle ein Projekt namens Hausrenovierung" → verwendet todoist_create_project

  • "Welche Projekte habe ich?" → verwendet todoist_get_projects

Todoist-Filtersyntax

Der filter-Parameter in todoist_get_tasks unterstützt die vollständige Filtersyntax von Todoist in natürlicher Sprache:

Filter

Bedeutung

today

Heute fällig

overdue

Überfällig

7 days

In den nächsten 7 Tagen fällig

p1

Priorität dringend

#ProjectName

Aufgaben in einem bestimmten Projekt

@labelname

Aufgaben mit einem bestimmten Label

no due date

Aufgaben ohne Fälligkeitsdatum

today | overdue

Heute oder überfällig (kombinieren mit |)

today & @waiting

Heute UND mit Label 'waiting'

Vollständige Filter-Dokumentation: https://todoist.com/help/articles/introduction-to-filters

Anforderungen

  • Node.js 18+

  • Ein Todoist-Konto (kostenlose Version funktioniert)

Entwicklung

npm run dev   # tsx watch mode with auto-reload
npm run build # compile TypeScript
npm start     # run compiled server

Testen

Die Test-Suite greift auf die Live-Todoist-API zu und führt einen vollständigen CRUD-Zyklus für Aufgaben, Projekte, Abschnitte und Labels durch. Alle Testdaten werden mit [mcp-test] präfigiert und automatisch bereinigt.

TODOIST_API_TOKEN=your_token npm test

Ihr API-Token finden Sie unter Todoist → Einstellungen → Integrationen → Entwickler – derselbe Token, den Sie in claude_desktop_config.json eingetragen haben.

Mitwirken

Pull Requests sind willkommen. Das Ziel ist eine minimale, korrekte Implementierung, die mit der Todoist API v1 aktuell bleibt. Prioritäten:

  1. Korrektheit vor Cleverness

  2. Permissive Ausgabeverarbeitung (unbekannte API-Felder niemals ablehnen)

  3. Hilfreiche Fehlermeldungen, die erklären, was schiefgelaufen ist und wie man es beheben kann

Lizenz

MIT

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/christulino/todoist-v1-mcp-server'

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