home / mcp / asana mcp server

Asana MCP Server

Provides access to Asana data and actions via the MCP framework, enabling querying and manipulating tasks, projects, and workspaces.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "roychri-mcp-server-asana": {
      "command": "npx",
      "args": [
        "-y",
        "@roychri/mcp-server-asana"
      ],
      "env": {
        "READ_ONLY_MODE": "true or false",
        "ASANA_ACCESS_TOKEN": "YOUR_TOKEN"
      }
    }
  }
}

You can run an MCP Server for Asana to talk to the Asana API from MCP Clients, enabling you to manage tasks, projects, workspaces, and comments through natural prompts. This server exposes a set of endpoints that map to common Asana actions and supports secure access via an access token.

How to use

When you start the Asana MCP Server, you can ask your MCP client about tasks, projects, workspaces, and related data. Mention the word asana in your prompt to help the assistant route your request to the right tool. You can query for things like unfinished tasks, project details, or task histories, and you can create or update tasks if you are not in read-only mode.

How to install

Prerequisites: you need Node.js and npm installed on your system.

# Install the MCP server package from npm
npm install -g @roychri/mcp-server-asana

Configuration and usage notes

Environment variable you must set: ASANA_ACCESS_TOKEN. This token authenticates requests to the Asana API. You can optionally enable read-only mode with READ_ONLY_MODE=true to disable all write operations.

Troubleshooting

If you encounter permission errors, verify that your Asana plan allows API access and that your access token is correct. Ensure your MCP client is configured with the same ASANA_ACCESS_TOKEN.

Testing locally

To test, install the server locally, then configure your MCP-enabled tool to use the provided command and token. You can experiment with read-only mode first to confirm data access without making changes.

Available tools

asana_list_workspaces

List all available workspaces in Asana. Accepts an optional opt_fields to include specific fields.

asana_search_projects

Search for projects within a workspace by name pattern. Supports filtering by archived status and optional fields.

asana_search_tasks

Search tasks within a workspace with advanced filters such as text, assignee, projects, sections, tags, due dates, and multiple subtasks/dependency flags.

asana_get_task

Retrieve detailed information about a specific task, with optional fields.

asana_create_task

Create a new task in a specified project with optional fields like notes, due date, assignee, and custom fields.

asana_get_task_stories

Fetch comments and stories associated with a task.

asana_update_task

Update an existing task’s details including name, description, due date, assignee, and custom fields.

asana_get_project

Get detailed information about a project with optional fields.

asana_get_project_task_counts

Return the number of tasks in a project with optional fields.

asana_get_project_sections

Retrieve sections within a project.

asana_create_task_story

Create a comment or story on a task.

asana_add_task_dependencies

Set dependencies for a task.

asana_add_task_dependents

Set dependents for a task (tasks that depend on this task).

asana_create_subtask

Create a new subtask under a parent task with optional fields.

asana_get_multiple_tasks_by_gid

Get detailed information about multiple tasks by their GIDs (up to 25).

asana_get_project_status

Get a status update for a project status GID.

asana_get_project_statuses

Get all status updates for a project with pagination options.

asana_create_project_status

Create a new status update for a project with optional metadata such as color and title.

asana_delete_project_status

Delete a project status update.

asana_set_parent_for_task

Set or reassign the parent of a task and control its position among siblings.

asana_get_tag

Get detailed information about a tag.

asana_get_tags_for_task

Get a task’s tags.

asana_get_tasks_for_tag

Get tasks associated with a tag.

asana_get_tags_for_workspace

Get tags in a workspace.

asana_update_tag

Update a tag’s name, color, or notes.

asana_delete_tag

Delete a tag.

asana_create_tag_for_workspace

Create a new tag within a workspace.

asana_add_tag_to_task

Add a tag to a task.

asana_remove_tag_from_task

Remove a tag from a task.

asana_add_project_to_task

Add a task to an existing project with optional positioning.

asana_remove_project_from_task

Remove a task from a project while keeping the task itself intact.

asana_delete_task

Permanently delete a task.

asana_create_project

Create a new project in a workspace with optional attributes like color and privacy.