MCP-Server für Asana
Diese Model Context Protocol-Serverimplementierung von Asana ermöglicht Ihnen die Kommunikation mit der Asana-API vom MCP-Client aus, beispielsweise mit der Claude-Desktopanwendung von Anthropic und vielen anderen.
Weitere Details zu MCP finden Sie hier:
Umgebungsvariablen
ASANA_ACCESS_TOKEN
: (Erforderlich) Ihr Asana-ZugriffstokenREAD_ONLY_MODE
: (Optional) Auf „true“ setzen, um alle Schreibvorgänge zu deaktivieren. In diesem Modus:Tools, die Asana-Daten ändern (erstellen, aktualisieren, löschen), werden deaktiviert
Die Eingabeaufforderung
create-task
wird deaktiviertEs sind nur Lesevorgänge verfügbar. Dies ist zum Testen nützlich oder wenn Sie sicherstellen möchten, dass an Ihrem Asana-Arbeitsbereich keine Änderungen vorgenommen werden können.
Verwendung
Fragen Sie im KI-Tool Ihrer Wahl (z. B. Claude Desktop) nach Asana-Aufgaben, Projekten, Arbeitsbereichen und/oder Kommentaren. Die Erwähnung des Wortes „Asana“ erhöht die Wahrscheinlichkeit, dass der LLM das richtige Tool auswählt.
Beispiel:
Wie viele unerledigte Asana-Aufgaben haben wir in unserem Sprint 30-Projekt?
Ein weiteres Beispiel:
Werkzeuge
asana_list_workspaces
Alle verfügbaren Arbeitsbereiche in Asana auflisten
Optionale Eingabe:
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Rückgabe: Liste der Arbeitsbereiche
asana_search_projects
Suchen Sie in Asana mithilfe des Namensmusterabgleichs nach Projekten
Erforderliche Eingabe:
Arbeitsbereich (Zeichenfolge): Der zu durchsuchende Arbeitsbereich
name_pattern (Zeichenfolge): Reguläres Ausdrucksmuster zum Abgleichen von Projektnamen
Optionale Eingabe:
archiviert (Boolesch): Gibt nur archivierte Projekte zurück (Standard: false)
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Rückgabe: Liste passender Projekte
asana_search_tasks
Suchen Sie Aufgaben in einem Arbeitsbereich mit erweiterten Filteroptionen
Erforderliche Eingabe:
Arbeitsbereich (Zeichenfolge): Der zu durchsuchende Arbeitsbereich
Optionale Eingabe:
Text (Zeichenfolge): Text, nach dem in Aufgabennamen und Beschreibungen gesucht werden soll
resource_subtype (Zeichenfolge): Filtern nach Aufgabenuntertyp (z. B. Meilenstein)
abgeschlossen (Boolesch): Filter für abgeschlossene Aufgaben
is_subtask (boolean): Filter für Unteraufgaben
has_attachment (boolean): Filter für Aufgaben mit Anhängen
is_blocked (boolean): Filter für Aufgaben mit unvollständigen Abhängigkeiten
is_blocking (Boolesch): Filter für unvollständige Aufgaben mit abhängigen Aufgaben
Beauftragter, Projekte, Abschnitte, Tags, Teams und viele andere erweiterte Filter
sort_by (Zeichenfolge): Sortieren nach Fälligkeitsdatum, Erstellungsdatum, Fertigstellungsdatum, Likes, Änderungsdatum (Standard: Änderungsdatum)
sort_ascending (Boolesch): In aufsteigender Reihenfolge sortieren (Standard: false)
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
custom_fields (Objekt): Objekt, das benutzerdefinierte Feldfilter enthält
Rückgabe: Liste der passenden Aufgaben
asana_get_task
Erhalten Sie detaillierte Informationen zu einer bestimmten Aufgabe
Erforderliche Eingabe:
task_id (Zeichenfolge): Die abzurufende Task-ID
Optionale Eingabe:
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Rückgabe: Detaillierte Aufgabeninformationen
asana_create_task
Erstellen einer neuen Aufgabe in einem Projekt
Erforderliche Eingabe:
project_id (Zeichenfolge): Das Projekt, in dem die Aufgabe erstellt werden soll
name (Zeichenfolge): Name der Aufgabe
Optionale Eingabe:
Notizen (Zeichenfolge): Beschreibung der Aufgabe
html_notes (Zeichenfolge): HTML-ähnlich formatierte Beschreibung der Aufgabe
due_on (Zeichenfolge): Fälligkeitsdatum im Format JJJJ-MM-TT
assignee (Zeichenfolge): Zugewiesener Empfänger (kann „ich“ oder eine Benutzer-ID sein)
Follower (Array von Zeichenfolgen): Array von Benutzer-IDs, die als Follower hinzugefügt werden sollen
parent (Zeichenfolge): Die übergeordnete Aufgaben-ID, unter der diese Aufgabe festgelegt werden soll
Projekte (Array von Zeichenfolgen): Array von Projekt-IDs, denen diese Aufgabe hinzugefügt werden soll
resource_subtype (Zeichenfolge): Der Typ der Aufgabe (Standardaufgabe oder Meilenstein)
custom_fields (Objekt): Objekt, das benutzerdefinierte Feld-GID-Zeichenfolgen ihren Werten zuordnet
Rückgabe: Informationen zur erstellten Aufgabe
asana_get_task_stories
Erhalten Sie Kommentare und Geschichten zu einer bestimmten Aufgabe
Erforderliche Eingabe:
task_id (Zeichenfolge): Die Task-ID, für die Storys abgerufen werden sollen
Optionale Eingabe:
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Rückgabe: Liste der Aufgabengeschichten/Kommentare
asana_update_task
Aktualisieren der Details einer vorhandenen Aufgabe
Erforderliche Eingabe:
task_id (Zeichenfolge): Die zu aktualisierende Task-ID
Optionale Eingabe:
Name (Zeichenfolge): Neuer Name für die Aufgabe
Notizen (Zeichenfolge): Neue Beschreibung für die Aufgabe
due_on (Zeichenfolge): Neues Fälligkeitsdatum im Format JJJJ-MM-TT
assignee (Zeichenfolge): Neuer Beauftragter (kann „ich“ oder eine Benutzer-ID sein)
abgeschlossen (Boolesch): Aufgabe als abgeschlossen markieren oder nicht
resource_subtype (Zeichenfolge): Der Typ der Aufgabe (Standardaufgabe oder Meilenstein)
custom_fields (Objekt): Objekt, das benutzerdefinierte Feld-GID-Zeichenfolgen ihren Werten zuordnet
Rückgabe: Aktualisierte Aufgabeninformationen
asana_get_project
Erhalten Sie detaillierte Informationen zu einem bestimmten Projekt
Erforderliche Eingabe:
project_id (Zeichenfolge): Die abzurufende Projekt-ID
Optionale Eingabe:
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Retouren: Detaillierte Projektinformationen
asana_get_project_task_counts
Ermitteln Sie die Anzahl der Aufgaben in einem Projekt
Erforderliche Eingabe:
project_id (Zeichenfolge): Die Projekt-ID, für die die Aufgabenanzahl abgerufen werden soll
Optionale Eingabe:
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Gibt zurück: Informationen zur Aufgabenanzahl
asana_get_project_sections
Abrufen von Abschnitten in einem Projekt
Erforderliche Eingabe:
project_id (Zeichenfolge): Die Projekt-ID, für die Abschnitte abgerufen werden sollen
Optionale Eingabe:
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Rückgabe: Liste der Projektabschnitte
asana_create_task_story
Einen Kommentar oder eine Story zu einer Aufgabe erstellen
Erforderliche Eingabe:
task_id (Zeichenfolge): Die Aufgaben-ID, zu der die Story hinzugefügt werden soll
Text (Zeichenfolge): Der Textinhalt der Geschichte/des Kommentars
Optionale Eingabe:
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Rückgabe: Erstellte Story-Informationen
asana_add_task_dependencies
Festlegen von Abhängigkeiten für eine Aufgabe
Erforderliche Eingabe:
task_id (Zeichenfolge): Die Task-ID, zu der Abhängigkeiten hinzugefügt werden sollen
Abhängigkeiten (Array von Zeichenfolgen): Array von Task-IDs, von denen diese Aufgabe abhängt
Rückgabe: Aktualisierte Aufgabenabhängigkeiten
asana_add_task_dependents
Abhängige Aufgaben für eine Aufgabe festlegen (Aufgaben, die von dieser Aufgabe abhängen)
Erforderliche Eingabe:
task_id (Zeichenfolge): Die Aufgaben-ID, zu der abhängige Elemente hinzugefügt werden sollen
dependents (Array von Zeichenfolgen): Array von Task-IDs, die von dieser Task abhängen
Rückgabe: Aktualisierte abhängige Aufgaben
asana_create_subtask
Erstellen Sie eine neue Unteraufgabe für eine vorhandene Aufgabe
Erforderliche Eingabe:
parent_task_id (Zeichenfolge): Die ID der übergeordneten Aufgabe, unter der die Unteraufgabe erstellt werden soll
name (string): Name der Unteraufgabe
Optionale Eingabe:
Notizen (Zeichenfolge): Beschreibung der Unteraufgabe
due_on (Zeichenfolge): Fälligkeitsdatum im Format JJJJ-MM-TT
assignee (Zeichenfolge): Zugewiesener Empfänger (kann „ich“ oder eine Benutzer-ID sein)
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Gibt zurück: Informationen zur erstellten Unteraufgabe
asana_get_multiple_tasks_by_gid
Erhalten Sie detaillierte Informationen zu mehreren Aufgaben anhand ihrer GIDs (maximal 25 Aufgaben).
Erforderliche Eingabe:
task_ids (Array von Zeichenfolgen oder durch Kommas getrennte Zeichenfolge): Abzurufende Task-GIDs (max. 25)
Optionale Eingabe:
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Rückgabe: Liste mit detaillierten Aufgabeninformationen
asana_get_project_status
Erhalten Sie ein Projektstatus-Update
Erforderliche Eingabe:
project_status_gid (Zeichenfolge): Die abzurufende Projektstatus-GID
Optionale Eingabe:
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Rückgabe: Informationen zum Projektstatus
asana_get_project_statuses
Alle Statusaktualisierungen für ein Projekt abrufen
Erforderliche Eingabe:
project_gid (Zeichenfolge): Die Projekt-GID, für die Status abgerufen werden sollen
Optionale Eingabe:
Limit (Anzahl): Ergebnisse pro Seite (1-100)
Offset (Zeichenfolge): Paginierungs-Offset-Token
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Rückgabe: Liste der Projektstatusaktualisierungen
asana_create_project_status
Erstellen Sie ein neues Statusupdate für ein Projekt
Erforderliche Eingabe:
project_gid (Zeichenfolge): Die Projekt-GID, für die der Status erstellt werden soll
Text (Zeichenfolge): Der Textinhalt des Statusupdates
Optionale Eingabe:
Farbe (Zeichenfolge): Die Farbe des Status (grün, gelb, rot)
Titel (Zeichenfolge): Der Titel des Statusupdates
html_text (Zeichenfolge): HTML-formatierter Text für das Status-Update
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Rückgabe: Erstellte Projektstatusinformationen
asana_delete_project_status
Löschen einer Projektstatusaktualisierung
Erforderliche Eingabe:
project_status_gid (Zeichenfolge): Die zu löschende Projektstatus-GID
Rückgabe: Löschbestätigung
asana_set_parent_for_task
Legen Sie die übergeordnete Aufgabe einer Aufgabe fest und positionieren Sie die Unteraufgabe innerhalb der anderen Unteraufgaben dieser übergeordneten Aufgabe.
Erforderliche Eingabe:
task_id (Zeichenfolge): Die zu bearbeitende Task-ID
Daten (Objekt):
parent (Zeichenfolge): Das neue übergeordnete Element der Aufgabe oder null, wenn kein übergeordnetes Element vorhanden ist.
Optionale Eingabe:
insert_after (Zeichenfolge): Eine Unteraufgabe des übergeordneten Elements, nach der die Aufgabe eingefügt werden soll, oder null, um sie am Anfang der Liste einzufügen.
insert_before (Zeichenfolge): Eine Unteraufgabe des übergeordneten Elements, vor der die Aufgabe eingefügt werden soll, oder null, um sie am Ende der Liste einzufügen.
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Rückgabe: Aktualisierte Aufgabeninformationen
asana_get_tasks_for_tag
Abrufen von Aufgaben für ein bestimmtes Tag
Erforderliche Eingabe:
tag_gid (Zeichenfolge): Die Tag-GID zum Abrufen von Aufgaben für
Optionale Eingabe:
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
opt_pretty (Boolesch): Stellt die Antwort in einem „hübschen“ Format bereit
limit (Ganzzahl): Die Anzahl der pro Seite zurückzugebenden Objekte. Der Wert muss zwischen 1 und 100 liegen.
Offset (Zeichenfolge): Ein Offset zur nächsten Seite, der von der API zurückgegeben wird.
Gibt zurück: Liste der Aufgaben für das angegebene Tag
asana_get_tags_for_workspace
Abrufen von Tags in einem Arbeitsbereich
Erforderliche Eingabe:
workspace_gid (Zeichenfolge): Global eindeutige Kennung für den Arbeitsbereich oder die Organisation
Optionale Eingabe:
limit (Ganzzahl): Ergebnisse pro Seite. Die Anzahl der pro Seite zurückzugebenden Objekte. Der Wert muss zwischen 1 und 100 liegen.
Offset (Zeichenfolge): Offset-Token. Ein Offset zur nächsten Seite, der von der API zurückgegeben wird.
opt_fields (Zeichenfolge): Durch Kommas getrennte Liste der einzuschließenden optionalen Felder
Gibt zurück: Liste der Tags im Arbeitsbereich
Eingabeaufforderungen
task-summary
Erhalten Sie eine Zusammenfassung und ein Status-Update für eine Aufgabe basierend auf ihren Notizen, benutzerdefinierten Feldern und Kommentaren
Erforderliche Eingabe:
task_id (Zeichenfolge): Die Aufgaben-ID, für die eine Zusammenfassung abgerufen werden soll
Rückgabe: Eine detaillierte Eingabeaufforderung mit Anweisungen zum Erstellen einer Aufgabenzusammenfassung
task-completeness
Analysieren Sie, ob eine Aufgabenbeschreibung alle notwendigen Details zur Erledigung enthält
Erforderliche Eingabe:
task_id (Zeichenfolge): Die zu analysierende Task-ID oder URL
Rückgabe: Eine detaillierte Eingabeaufforderung mit Anweisungen zur Analyse der Aufgabenerfüllung
create-task
Erstellen Sie eine neue Aufgabe mit angegebenen Details
Erforderliche Eingabe:
project_name (Zeichenfolge): Der Name des Asana-Projekts, in dem die Aufgabe erstellt werden soll
Titel (Zeichenfolge): Der Titel der Aufgabe
Optionale Eingabe:
Notizen (Zeichenfolge): Notizen oder Beschreibung für die Aufgabe
due_date (Zeichenfolge): Fälligkeitsdatum der Aufgabe (Format JJJJ-MM-TT)
Rückgabe: Eine detaillierte Eingabeaufforderung mit Anweisungen zum Erstellen einer umfassenden Aufgabe
Ressourcen
Arbeitsbereiche –
asana://workspace/{workspace_gid}
Darstellung von Asana-Arbeitsbereichen als Ressourcen
Jeder Arbeitsbereich wird als separate Ressource bereitgestellt
URI-Format:
asana://workspace/{workspace_gid}
Gibt zurück: JSON-Objekt mit Arbeitsbereichsdetails, einschließlich:
name
: Name des Arbeitsbereichs (Zeichenfolge)id
: Globale ID des Arbeitsbereichs (Zeichenfolge)type
: Ressourcentyp (Zeichenfolge)is_organization
: Ob der Arbeitsbereich eine Organisation ist (Boolesch)email_domains
: Liste der mit dem Arbeitsbereich verknüpften E-Mail-Domänen (string[])
MIME-Typ:
application/json
Projekte -
asana://project/{project_gid}
Vorlagenressource zum Abrufen von Projektdetails nach GID
URI-Format:
asana://project/{project_gid}
Gibt zurück: JSON-Objekt mit Projektdetails, einschließlich:
name
: Projektname (Zeichenfolge)id
: Globale Projekt-ID (Zeichenfolge)type
: Ressourcentyp (Zeichenfolge)archived
: Ob das Projekt archiviert ist (Boolesch)public
: Ob das Projekt öffentlich ist (Boolesch)notes
: Projektbeschreibung/Notizen (Zeichenfolge)color
: Projektfarbe (Zeichenfolge)default_view
: Standardansichtstyp (Zeichenfolge)due_date
,due_on
,start_on
: Informationen zum Projektdatum (Zeichenfolge)workspace
: Objekt mit Arbeitsbereichsinformationenteam
: Objekt mit Teaminformationensections
: Array von Abschnittsobjekten im Projektcustom_fields
: Array von benutzerdefinierten Felddefinitionen für das Projekt
MIME-Typ:
application/json
Aufstellen
Erstellen Sie ein Asana-Konto :
Besuchen Sie die Asana .
Klicken Sie auf „Anmelden“.
Rufen Sie das Asana-Zugriffstoken ab :
Sie können ein persönliches Zugriffstoken über die Asana-Entwicklerkonsole generieren.
Weitere Details hier: https://developers.asana.com/docs/personal-access-token
Installationsoptionen :
Für Claude Desktop:
Fügen Sie Ihrer claude_desktop_config.json
Folgendes hinzu:
Für Claude Code:
Verwenden Sie den folgenden Befehl, um den MCP-Server zu installieren und zu konfigurieren:
Ersetzen Sie <TOKEN>
durch Ihr Asana-Zugriffstoken.
Wenn Sie die Betaversion (noch nicht veröffentlicht) installieren möchten, können Sie Folgendes verwenden:
@roychri/mcp-server-asana@beta
Die aktuelle Betaversion (sofern vorhanden) finden Sie hier:
https://www.npmjs.com/package/@roychri/mcp-server-asana?activeTab=versions
npm dist-tag ls @roychri/mcp-server-asana
Fehlerbehebung
Wenn Berechtigungsfehler auftreten:
Stellen Sie sicher, dass Ihr Asana-Plan den API-Zugriff ermöglicht
Bestätigen Sie, dass das Zugriffstoken und die Konfiguration in
claude_desktop_config.json
richtig eingestellt sind.
Beitragen
Klonen Sie dieses Repo und beginnen Sie mit dem Hacken.
Testen Sie es lokal mit dem MCP Inspector
Wenn Sie Ihre Änderungen testen möchten, können Sie den MCP Inspector wie folgt verwenden:
Dadurch wird dem Client Port 5173
und dem Server Port 3000
zugewiesen.
Wenn diese Ports bereits von etwas anderem verwendet werden, können Sie Folgendes verwenden:
Lizenz
Dieser MCP-Server ist unter der MIT-Lizenz lizenziert. Das bedeutet, dass Sie die Software unter den Bedingungen der MIT-Lizenz frei verwenden, ändern und verbreiten dürfen. Weitere Informationen finden Sie in der LICENSE-Datei im Projekt-Repository.
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.
Tools
Führen Sie Asana-Vorgänge von einem MCP-Client aus, beispielsweise der Claude-Desktopanwendung von Anthropic und vielem mehr.
- Umgebungsvariablen
- Verwendung
- Werkzeuge
- Eingabeaufforderungen
- Ressourcen
- Aufstellen
- Fehlerbehebung
- Beitragen
- Lizenz
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityRun your own runbooks from Claude Desktop. You can create your runbooks and execute them with other MCP servers.Last updated -24Apache 2.0
- AsecurityFlicenseAqualityAn MCP server that enables Claude Desktop to communicate with A2A protocol agents, allowing Claude to access extended capabilities through agent interactions.Last updated -320
- -securityAlicense-qualityAsana MCP Server by CDataLast updated -MIT License
- -securityFlicense-qualityAn MCP (Multi-Agent Conversation Protocol) server that enables interacting with the Asana API through natural language commands for task management, project organization, and team collaboration.Last updated -