Skip to main content
Glama

mcp-server-asana

by roychri

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-Zugriffstoken
  • READ_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 deaktiviert
    • Es 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:

Claude Desktop-Beispiel

Werkzeuge

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  1. 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
  1. 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
  1. 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
  1. 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
  1. 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
  1. 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
  1. 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
  1. 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
  1. 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
  1. 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
  1. 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
  1. 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

  1. 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
  2. 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
  3. 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

  1. 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
  2. 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 Arbeitsbereichsinformationen
      • team : Objekt mit Teaminformationen
      • sections : Array von Abschnittsobjekten im Projekt
      • custom_fields : Array von benutzerdefinierten Felddefinitionen für das Projekt
    • MIME-Typ: application/json

Aufstellen

  1. Erstellen Sie ein Asana-Konto :
    • Besuchen Sie die Asana .
    • Klicken Sie auf „Anmelden“.
  2. Rufen Sie das Asana-Zugriffstoken ab :
  3. Installationsoptionen :

Für Claude Desktop:

Fügen Sie Ihrer claude_desktop_config.json Folgendes hinzu:

{ "mcpServers": { "asana": { "command": "npx", "args": ["-y", "@roychri/mcp-server-asana"], "env": { "ASANA_ACCESS_TOKEN": "your-asana-access-token" } } } }

Für Claude Code:

Verwenden Sie den folgenden Befehl, um den MCP-Server zu installieren und zu konfigurieren:

claude mcp add asana -e ASANA_ACCESS_TOKEN=<TOKEN> -- npx -y @roychri/mcp-server-asana

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:

  1. https://www.npmjs.com/package/@roychri/mcp-server-asana?activeTab=versions
  2. npm dist-tag ls @roychri/mcp-server-asana

Fehlerbehebung

Wenn Berechtigungsfehler auftreten:

  1. Stellen Sie sicher, dass Ihr Asana-Plan den API-Zugriff ermöglicht
  2. 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:

npm run inspector

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:

CLIENT_PORT=5009 SERVER_PORT=3009 npm run inspector

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.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

Führen Sie Asana-Vorgänge von einem MCP-Client aus, beispielsweise der Claude-Desktopanwendung von Anthropic und vielem mehr.

  1. Umgebungsvariablen
    1. Verwendung
      1. Werkzeuge
        1. Eingabeaufforderungen
          1. Ressourcen
            1. Aufstellen
              1. Für Claude Desktop:
              2. Für Claude Code:
            2. Fehlerbehebung
              1. Beitragen
                1. Testen Sie es lokal mit dem MCP Inspector
              2. Lizenz

                Related MCP Servers

                • -
                  security
                  A
                  license
                  -
                  quality
                  A simple MCP server for interacting with OpenAI assistants. This server allows other tools (like Claude Desktop) to create and interact with OpenAI assistants through the Model Context Protocol.
                  Last updated -
                  26
                  Python
                  MIT License
                  • Apple
                • A
                  security
                  A
                  license
                  A
                  quality
                  A tool that helps manage and synchronize MCP server configurations across different AI assistant clients (Cline, Roo Code, WindSurf, Claude), automating the process of retrieving, listing, adding, and removing server configurations from client configuration files.
                  Last updated -
                  6
                  6
                  1
                  JavaScript
                  MIT License
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  An MCP server that enables Claude to interact with Port.io's AI agent, allowing users to trigger the agent with prompts and receive structured responses including status, output, and action items.
                  Last updated -
                  6
                  Python
                  MIT License
                  • Linux
                  • Apple
                • -
                  security
                  A
                  license
                  -
                  quality
                  This server implementation allows AI assistants to interact with Asana's API, enabling users to manage tasks, projects, workspaces, and comments through natural language requests.
                  Last updated -
                  342
                  TypeScript
                  MIT License

                View all related MCP servers

                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/roychri/mcp-server-asana'

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