ClickUp MCP-Server
Eine Model Context Protocol-Serverimplementierung für die ClickUp-Integration, die es KI-Assistenten ermöglicht, mit ClickUp-Arbeitsbereichen zu interagieren.
Dieser Server wird gemäß der MCP-Spezifikation über Stdio ausgeführt, wenn er von einem MCP-Client aufgerufen wird.
Schnellstart
Dieser Server verwendet Ihr persönliches ClickUp-API-Token zur Authentifizierung.
Generieren Sie ein persönliches API-Token: Navigieren Sie in Ihren ClickUp-Einstellungen zu „Meine Einstellungen“ > „Apps“ und generieren Sie ein Token.
Konfigurieren Sie Ihren MCP-Client (z. B. Claude für Desktop): Legen Sie die erforderliche Umgebungsvariable fest, wenn Sie den Server für Ihren Client konfigurieren.
Beispielkonfigurationsausschnitt für einen MCP-Client:
Starten Sie Ihren MCP-Client neu.
Der Server wird bei Bedarf automatisch vom MCP-Client heruntergeladen und gestartet.
Installation über Smithery
So installieren Sie ClickUp MCP Server für Claude Desktop automatisch über Smithery :
Umgebungsvariablen
Erforderlich
CLICKUP_PERSONAL_TOKEN: Ihr persönliches ClickUp-API-Token. Dies ist für die Authentifizierung des Servers mit der ClickUp-API erforderlich.
Optional
LOG_LEVEL: Protokollierungsebene für den Server. Unterstützterror,warn,infounddebug. Standardmäßiginfo.ENCRYPTION_KEY: Ein persistenter, 32 Byte langer, hexadezimal kodierter Schlüssel. Das Konfigurationssystem (src/config/app.config.ts) lädt oder generiert diesen Schlüssel, undsrc/security.tsenthält Verschlüsselungs-/Entschlüsselungsfunktionen. Dieser Mechanismus wird derzeit jedoch nicht zur Verschlüsselung desCLICKUP_PERSONAL_TOKENim Authentifizierungsablauf des persönlichen API-Tokens desClickUpServiceverwendet .PORT: Server-Port. Dieser wird vom Standard-MCP-Servermodus von Stdio nicht verwendet, kann aber relevant sein, wenn ein HTTP-Transport oder zusätzliche HTTP-Funktionen (wie ein separater Integritätsprüfungsendpunkt) explizit hinzugefügt wurden. Der Standardwert in der Konfiguration ist3000wenn er gelesen wird.
Verfügbare Tools
Die folgenden MCP-Tools sind derzeit implementiert:
Aufgabenverwaltung
clickup_create_task: Erstellen Sie eine neue Aufgabe in einer ClickUp-Liste.Erforderlich:
list_id,name.Optional:
description,status,priority,assignees,due_date,time_estimate,tags.
clickup_update_task: Aktualisieren Sie die Eigenschaften einer vorhandenen Aufgabe.Erfordert:
task_id.Optional: Alle beschreibbaren
ClickUpTaskEigenschaften.
Team- und Listenverwaltung
clickup_get_teams: Ruft alle zugänglichen Teams ab (Arbeitsbereiche in ClickUp API v2).clickup_get_lists: Ruft alle Listen in einem bestimmten Ordner ab.Erfordert:
folder_id.
Vorstandsmanagement
clickup_create_board: Erstellen Sie ein neues Board in einem ClickUp-Bereich.Erfordert:
space_id,name.
Raummanagement
clickup_get_spaces: Ruft alle Spaces für einen bestimmten Arbeitsbereich (Team) ab.Erforderlich:
team_id(Workspace-ID).Optional:
archived(Boolesch, standardmäßig „false).
clickup_create_space: Erstellt einen neuen Bereich innerhalb eines Arbeitsbereichs.Erforderlich:
team_id(Arbeitsbereichs-ID),name.Optional:
multiple_assignees(Boolesch),features(Objekt mit Feature-Flags wiedue_dates,time_trackingusw.).
clickup_get_space: Ruft Details für einen bestimmten Space ab.Erfordert:
space_id.
clickup_update_space: Aktualisiert einen vorhandenen Space.Erfordert:
space_id.Optional:
name,color,private,admin_can_manage,archived,features.
clickup_delete_space: Löscht einen Bereich.Erfordert:
space_id.
Ordnerverwaltung
clickup_get_folders: Ruft alle Ordner innerhalb eines bestimmten Bereichs ab.Erfordert:
space_id.Optional:
archived(Boolesch, standardmäßig „false).
clickup_create_folder: Erstellt einen neuen Ordner innerhalb eines Space.Erfordert:
space_id,name.
clickup_get_folder: Ruft Details für einen bestimmten Ordner ab.Erfordert:
folder_id.
clickup_update_folder: Aktualisiert einen vorhandenen Ordner.Erfordert:
folder_id,name.
clickup_delete_folder: Löscht einen Ordner.Erfordert:
folder_id.
Benutzerdefinierte Feldverwaltung
clickup_get_custom_fields: Ruft alle zugänglichen benutzerdefinierten Felder für eine bestimmte Liste ab.Erforderlich:
list_id.
clickup_set_task_custom_field_value: Legt den Wert eines benutzerdefinierten Felds für eine bestimmte Aufgabe fest.Erfordert:
task_id,field_id,value.Optional:
value_options(Objekt, z. B.{ "time": true }für Datumsfelder).
clickup_remove_task_custom_field_value: Entfernt/löscht den Wert eines benutzerdefinierten Felds aus einer bestimmten Aufgabe.Erforderlich:
task_id,field_id.
Dokumentenverwaltung
Hinweis: Die ClickUp-API für Dokumente (insbesondere Version 2, wobei einige Vorgänge jetzt Version 3 verwenden) weist Einschränkungen auf. Inhalte werden hauptsächlich als Markdown verarbeitet. Erweiterte Formatierungen oder komplexe Einbettungen werden möglicherweise nicht vollständig unterstützt. Das direkte Löschen von Dokumenten über die API wird derzeit vom ClickUp-V3-/docs-Endpunkt nicht unterstützt. Verwalten Sie den Dokumentenlebenszyklus durch Archivierung oder Seitenbearbeitung.
clickup_search_docs: Sucht nach Dokumenten innerhalb eines Arbeitsbereichs (Teams).Erfordert:
workspace_id.Optional:
query(Zeichenfolge),include_archived(Boolesch).
clickup_create_doc: Erstellt ein neues Dokument.Erforderlich:
workspace_id,name.Optional:
parent(Objekt mitidundtype),visibility(Zeichenfolge: „privat“, „Arbeitsbereich“, „öffentlich“),create_page(Boolesch).
clickup_get_doc_pages: Ruft die Liste der Seiten innerhalb eines bestimmten Dokuments ab.Erfordert:
doc_id.
clickup_create_doc_page: Erstellt eine neue Seite innerhalb eines bestimmten Dokuments.Erforderlich:
workspace_id,doc_id,name(Seitentitel).Optional:
content(Markdown),orderindex(Zahl, obwohl die v3-API diese möglicherweise nicht verwendet),parent_page_id(Zeichenfolge),sub_title(Zeichenfolge),content_format(Zeichenfolge).
clickup_get_doc_page_content: Ruft den Inhalt (Markdown) einer bestimmten Dokumentseite ab.Erfordert:
workspace_id,doc_id,page_id.Optional:
content_format(Zeichenfolge).
clickup_edit_doc_page_content: Aktualisiert den Inhalt und/oder Titel einer bestimmten Dokumentseite.Erfordert:
workspace_id,doc_id,page_id,content(Markdown).Optional:
title(Zeichenfolge, wird API-Name zugeordnet),sub_title(Zeichenfolge),content_edit_mode(Zeichenfolge: „Ersetzen“, „Anhängen“, „Voranstellen“),content_format(Zeichenfolge).
Ansichtsverwaltung
clickup_get_views: Ruft alle Ansichten für eine bestimmte übergeordnete Ressource (Team, Bereich, Ordner oder Liste) ab.Erforderlich:
parent_id(ID der übergeordneten Ressource),parent_type(Zeichenfolge: „Team“, „Bereich“, „Ordner“ oder „Liste“).
clickup_create_view: Erstellt eine neue Ansicht innerhalb eines Teams, Bereichs, Ordners oder einer Liste.Erfordert:
parent_id,parent_type,name(Zeichenfolge: Name der neuen Ansicht),type(Zeichenfolge: Typ der Ansicht, z. B. „Liste“, „Board“, „Kalender“, „Gantt“).Optional:
grouping,divide,sorting,filters,columns,team_sidebar,settings(Objekte, die Ansichtskonfigurationen definieren).
clickup_get_view_details: Ruft Details für eine bestimmte Ansicht ab.Erfordert:
view_id.
clickup_update_view: Aktualisiert eine vorhandene Ansicht.Erfordert:
view_id.Optional:
name(Zeichenfolge),grouping,divide,sorting,filters,columns,team_sidebar,settings.
clickup_delete_view: Löscht eine Ansicht.Erfordert:
view_id.
clickup_get_view_tasks: Ruft Aufgaben ab, die zu einer bestimmten Ansicht gehören.Erfordert:
view_id.Optional:
page(Nummer: 0-indizierte Seitennummer für die Paginierung).
Entwicklung
Klonen Sie das Repository:
git clone <repository_url> cd clickup-mcp-serverInstallieren Sie Abhängigkeiten:
npm installErstellen Sie eine
.envDatei im Stammverzeichnis und fügen Sie IhrCLICKUP_PERSONAL_TOKENhinzu:CLICKUP_PERSONAL_TOKEN=your_actual_personal_api_token_here LOG_LEVEL=debugStarten Sie im Entwicklungsmodus (Stdio): Der Server wartet auf MCP-Nachrichten auf stdin/stdout.
npm run devDies verwendet
ts-node-devumsrc/index.tsauszuführen.Für die Produktion erstellen:
npm run buildDadurch wird TypeScript in
dist/kompiliert.Führen Sie Tests durch:
npm testDadurch werden Jest-Unit-Tests ausgeführt, die sich in
src/__tests__befinden. Stellen Sie sicher, dass Sie über eine.env.testDatei verfügen (siehesrc/__tests__/setup.ts).
Testen mit MCP Inspector
Sie können den Server lokal mit dem MCP Inspector testen:
Stellen Sie sicher, dass Ihr
CLICKUP_PERSONAL_TOKENverfügbar ist. Sie können entweder:Legen Sie es in Ihrer Shell-Umgebung fest, bevor Sie den Inspector ausführen.
Legen Sie es in der MCP Inspector-Benutzeroberfläche fest, wenn diese eine Option für Serverumgebungsvariablen bietet.
Haben Sie es in Ihrer lokalen
.envDatei (dasrc/index.ts``dotenvlädt).
Führen Sie den Inspector mit dem Server aus:
npx @modelcontextprotocol/inspector node --loader ts-node/esm src/index.tsDie Inspector-Benutzeroberfläche sollte gestartet werden, sodass Sie eine Verbindung zum Server herstellen und seine Tools aufrufen können.
Sicherheit
Die Authentifizierung erfolgt mit Ihrem persönlichen ClickUp-API-Token. Bewahren Sie dieses Token sicher und vertraulich auf. Behandeln Sie es wie ein Passwort.
Der Server erwartet, dass das
CLICKUP_PERSONAL_TOKENüber eine Umgebungsvariable vom nutzenden MCP-Client oder der Entwicklungsumgebung bereitgestellt wird.Das Konfigurationssystem enthält eine Logik für einen
ENCRYPTION_KEYundsrc/security.tsverfügt über Verschlüsselungsfunktionen, die jedoch derzeit vomClickUpServicenicht auf das Personal API Token angewendet werden.Standardmäßig werden mit
LOG_LEVEL=infokeine sensiblen Daten (wie das Token selbst) protokolliert. Auf Debug-Ebene werden möglicherweise mehr Details protokolliert.Die Ratenbegrenzung für ClickUp-API-Aufrufe wird durch die Protokollierung der verbleibenden Anfragen gehandhabt (siehe
ClickUpService).
Fehlerbehebung
Häufige Probleme
Authentifizierungsfehler (401 von ClickUp API)
Überprüfen Sie, ob Ihre Umgebungsvariable
CLICKUP_PERSONAL_TOKENrichtig eingestellt ist und vom Serverprozess darauf zugegriffen werden kann.Stellen Sie sicher, dass das Token gültig ist und in Ihren ClickUp-Einstellungen nicht widerrufen wurde.
Überprüfen Sie die Serverprotokolle auf Nachrichten von
ClickUpServicebezüglich der Authentifizierung.
Ratenbegrenzung durch ClickUp-API
Der Server protokolliert Ratenbegrenzungsinformationen aus ClickUp-API-Antworten.
Wenn Ratenbegrenzungen häufig erreicht werden, deutet dies auf eine hohe Auslastung hin. Der Server selbst implementiert keine Warteschlangen oder komplexe Backoffs, die über das hinausgehen, was
axiosstandardmäßig tun könnte.
Server startet nicht / Verbindungsprobleme mit MCP Inspector
Stellen Sie sicher, dass
CLICKUP_PERSONAL_TOKENfestgelegt ist.Wenn Sie
npm run devverwenden, suchen Sie in der Konsole nach TypeScript- oderts-node-devFehlern.Wenn Sie MCP Inspector mit
node --loader ts-node/esm src/index.tsverwenden, stellen Sie sicher, dassts-nodeund Projektabhängigkeiten korrekt installiert sind.Suchen Sie nach Konsolenfehlern von
src/index.tsoderClickUpService.
Abrufen von Serverprotokollen
Bei der Ausführung über
npm run devodernpm startwerden die Protokolle an die Konsole gesendet.Wenn die Anwendung von einem MCP-Client (wie Claude für Desktop) ausgeführt wird, werden die Protokolle in der Regel von diesem Client verwaltet. Für Claude für Desktop finden Sie die Protokolle häufig unter:
Windows:
%USERPROFILE%\AppData\Local\Claude\Logs\mcp\<server_name_and_id>\<process_id>.log(der Pfad kann leicht abweichen)macOS:
~/Library/Logs/Claude/mcp/<server_name_and_id>\<process_id>.log(Pfad kann leicht abweichen)
Unterstützung
Wenn Sie dieses Projekt hilfreich finden, denken Sie darüber nach, mir einen Kaffee zu spendieren, um die laufende Entwicklung und Wartung zu unterstützen.
Lizenz
MIT-Lizenz – Einzelheiten finden Sie in der Datei „LICENSE“
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Dieser Server integriert KI-Assistenten mit ClickUp-Arbeitsbereichen und ermöglicht die Verwaltung von Aufgaben, Teams, Listen und Boards durch einen sicheren OAuth2-Authentifizierungsprozess.
- Schnellstart
- Umgebungsvariablen
- Verfügbare Tools
- Entwicklung
- Sicherheit
- Fehlerbehebung
- Unterstützung
- Lizenz
Related Resources
Related MCP Servers
- Asecurity-licenseAqualityEnables AI integrations with ClickUp tasks, supporting resource management, task operations, workspace organization, and AI-powered task recommendations through a standardized protocol.Last updated -1,734436MIT License
- Asecurity-licenseAqualityAn enhanced Model Context Protocol server that enables AI assistants to interact with ClickUp workspaces, supporting task relationships, comments, checklists, and workspace management through natural language.Last updated -02MIT License
- Asecurity-licenseAqualityClickUp MCP Server enables AI assistants to seamlessly interact with your ClickUp workspace. This powerful integration allows Claude to create and manage tasks, access documents, organize folders and lists, add comments, and handle checklists—all through natural conversation.Last updated -424636MIT License
- -security-license-qualityA Model Context Protocol server that enables AI agents to interact with ClickUp workspaces, allowing task creation, management, and workspace organization through natural language commands.Last updated -1,7342MIT License
Appeared in Searches
- A method or tool for managing ClickUp task list custom fields with read and write update capabilities
- A server for accessing spreadsheets with service accounts and managing ClickUp using MCP
- Information about Node.js or a network node
- A tool for managing tasks, projects, and calendars using LLM
- Integration with Whimsical.com to manage Projects, boards, tasks, flowcharts, and mindmaps