Skip to main content
Glama
BlZvi
by BlZvi

MCP Server for Asana

Give your AI assistant full access to Asana. Create tasks, manage projects, track time, search across your workspace — all through natural language.

80 tools | 18 prompt templates | Browsable resources | Full read + write coverage

What can you do with this?

Just talk to your AI assistant naturally:

"How many unfinished tasks are in Sprint 30?"

"Create a task for Sarah to review the API docs, due Friday, in the Backend project"

"Move all overdue tasks in the Marketing project to the Backlog section"

"Log 2 hours on PROJ-1234 for today"

"What's the status of our Q1 goals?"

"Give me a standup summary for today"

"Break down this task into subtasks"

Related MCP server: Asana MCP Server

Quick Start

1. Get your Asana token from Asana Developer Console

2. Add the server to your MCP client:

Claude Desktop

Add to your claude_desktop_config.json:

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

Claude Code

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

Any MCP-compatible client

This server works with any client that supports the Model Context Protocol:

ASANA_ACCESS_TOKEN=your-token npx -y @blzvi/asana-mcp-server

Install from source (alternative)

git clone https://github.com/BLZvi/asana-mcp-server.git
cd asana-mcp-server
npm install

Then use node build/index.js instead of npx -y @blzvi/asana-mcp-server in the examples above.

80 Tools Across 16 Categories

Full CRUD coverage of the Asana API — your AI can read and write.

Category

Tools

What you can do

Tasks

12

Search, create, update, delete, list by project/section/tag, batch get (up to 25), subtasks, multi-project

Task Relationships

3

Dependencies, dependents, reparenting

Projects

7

Search by name, CRUD, get sections & task counts

Project Statuses

4

CRUD for project status updates

Sections

6

CRUD, reorder, move tasks between sections

Tags

9

CRUD, add/remove from tasks, list by workspace/task

Custom Fields

7

Create/manage field definitions and enum options

Portfolios

8

CRUD, add/remove projects from portfolios

Goals

5

CRUD for workspace goals

Time Tracking

7

Log hours, manage entries, browse time periods

Comments & Stories

2

Read activity feed, post comments (plain or rich HTML)

Attachments

4

List, inspect, delete, attach external URLs

Users

2

Look up users by GID, email, or me

Teams

2

Get team info, list teams in workspace

Typeahead

1

Fuzzy search any resource type by name

Workspaces

1

List all accessible workspaces

18 Prompt Templates

Pre-built workflows that combine API calls with AI reasoning. The AI pre-fetches relevant Asana data, then produces structured analysis or takes action.

Task-level

Prompt

Description

task-summary

Pre-fetches task details + comments, generates a status summary

analyze-task

Scores how well-defined a task is (0-100) with per-dimension breakdown

task-completeness

Fetches a task, identifies gaps, asks clarifying questions, updates the description

task-breakdown

Breaks a complex task into well-scoped subtasks

log-work

Retro-log work done outside Asana — creates a task and marks it complete

Project-level

Prompt

Description

project-summary

Full project status report with task counts, statuses, and open tasks

status-update

Polished stakeholder status update (email/Slack-ready)

project-risks

Scans for risk signals (overdue, unassigned, empty descriptions) and produces a risk register

project-onboarding

"Getting up to speed" brief for someone new to a project

overdue-triage

Triages overdue tasks: do now, reschedule, reassign, or drop

prioritize-backlog

Guides prioritization of incomplete tasks by section

team-workload

Analyzes task distribution across team members to spot imbalances

Personal productivity

Prompt

Description

my-tasks

Fetches your incomplete tasks and generates a prioritized daily plan

standup

Done/doing/blockers summary from your recent task activity

weekly-review

Weekly reflection + plan from completed and open tasks

Planning & creation

Prompt

Description

sprint-planning

Plans a sprint from a project's backlog based on team capacity

sprint-from-confluence

Fetches a Confluence page and creates corresponding Asana tasks

create-task

Guided task creation with clarifying questions

Browsable Resources

Expose Asana data as MCP resources that clients can browse directly:

URI Pattern

Description

asana://workspace/{gid}

Workspace details, org info, email domains

asana://project/{gid}

Project details, sections, custom fields, dates

asana://task/{gid}

Task details, subtasks, custom fields, recent comments

Configuration

Variable

Required

Description

ASANA_ACCESS_TOKEN

Yes

Your Asana personal access token

ASANA_DEFAULT_WORKSPACE_GID

No

Default workspace GID — tools use this when no workspace is specified

ASANA_READ_ONLY_MODE

No

Set to true to disable all write operations (great for safe exploration)

Read-Only Mode

Set ASANA_READ_ONLY_MODE=true to restrict the server to read-only operations. All create/update/delete tools and write prompts are automatically hidden. Useful for:

  • Safely exploring what the server can do before granting write access

  • Shared environments where you want to prevent accidental changes

  • Audit and reporting use cases

Roadmap

What's coming next:

  • Rate limiting / retry — Automatic backoff for Asana's 429 rate limits

  • Remove dependencies/dependents — Complete dependency management (currently add-only)

  • Story CRUD — Edit and delete comments (currently read + create)

  • Duplicate project — Create projects from templates

  • Test coverage — Unit and integration tests with vitest

Full Tool Reference

Tool

Description

asana_search_tasks

Search tasks with advanced filtering (assignee, project, tags, custom fields, etc.)

asana_get_task

Get detailed information about a task

asana_get_multiple_tasks_by_gid

Get details for up to 25 tasks at once

asana_create_task

Create a task in a project (supports section placement via memberships)

asana_update_task

Update task details (name, assignee, due date, custom fields, etc.)

asana_delete_task

Permanently delete a task

asana_get_tasks_for_project

List all tasks in a project

asana_get_tasks_for_section

List all tasks in a section

asana_create_subtask

Create a subtask under a parent task

asana_get_subtasks

Get all subtasks of a task

asana_add_project_to_task

Add a task to a project

asana_remove_project_from_task

Remove a task from a project

Tool

Description

asana_add_task_dependencies

Set tasks that a task depends on

asana_add_task_dependents

Set tasks that depend on a task

asana_set_parent_for_task

Set/change a task's parent and position

Tool

Description

asana_search_projects

Search projects by name pattern

asana_get_project

Get project details

asana_create_project

Create a new project

asana_update_project

Update project details

asana_delete_project

Delete a project

asana_get_project_task_counts

Get task count breakdown for a project

asana_get_project_sections

Get sections in a project

Tool

Description

asana_get_project_statuses

Get all status updates for a project

asana_get_project_status

Get a specific project status

asana_create_project_status

Create a project status update

asana_delete_project_status

Delete a project status update

Tool

Description

asana_get_section

Get section details

asana_create_section

Create a section in a project

asana_update_section

Rename a section

asana_delete_section

Delete a section

asana_move_section

Reorder a section within a project

asana_add_task_to_section

Move a task to a section

Tool

Description

asana_get_tag

Get tag details

asana_get_tags_for_task

Get tags on a task

asana_get_tasks_for_tag

Get tasks with a specific tag

asana_get_tags_for_workspace

List tags in a workspace

asana_create_tag_for_workspace

Create a new tag

asana_update_tag

Update a tag

asana_delete_tag

Delete a tag

asana_add_tag_to_task

Add a tag to a task

asana_remove_tag_from_task

Remove a tag from a task

Tool

Description

asana_get_custom_fields_for_workspace

List all custom field definitions in a workspace

asana_get_custom_field

Get custom field details (including enum options and GIDs)

asana_create_custom_field

Create a new custom field (text, number, enum, date, people)

asana_update_custom_field

Update custom field name, description, or number settings

asana_delete_custom_field

Permanently delete a custom field from the workspace

asana_create_enum_option

Add a new option to an enum or multi_enum custom field

asana_update_enum_option

Update an enum option's name, color, or enabled status

Tool

Description

asana_get_portfolio

Get portfolio details

asana_get_portfolios

List portfolios in a workspace

asana_create_portfolio

Create a portfolio

asana_update_portfolio

Update a portfolio

asana_delete_portfolio

Delete a portfolio

asana_get_portfolio_items

Get projects in a portfolio

asana_add_portfolio_item

Add a project to a portfolio

asana_remove_portfolio_item

Remove a project from a portfolio

Tool

Description

asana_get_goal

Get goal details

asana_get_goals

List goals in a workspace

asana_create_goal

Create a goal

asana_update_goal

Update a goal

asana_delete_goal

Delete a goal

Tool

Description

asana_get_time_periods

List time periods in a workspace (quarters, fiscal years)

asana_get_time_period

Get time period details

asana_get_time_tracking_entries

Get time entries for a task

asana_get_time_tracking_entry

Get a specific time entry

asana_create_time_tracking_entry

Log time on a task

asana_update_time_tracking_entry

Update a time entry

asana_delete_time_tracking_entry

Delete a time entry

Tool

Description

asana_get_task_stories

Get comments and activity for a task

asana_create_task_story

Add a comment to a task (plain text or rich HTML)

Tool

Description

asana_get_attachments_for_object

List all attachments on a task or project

asana_get_attachment

Get attachment details (including download URL)

asana_delete_attachment

Delete an attachment

asana_create_attachment_for_object

Attach an external URL link to a task or project

Tool

Description

asana_get_user

Get user details by GID, email, or 'me' (current user)

asana_get_users_for_workspace

List all users in a workspace (find GIDs by name or email)

Tool

Description

asana_get_team

Get team details

asana_get_teams_for_workspace

List all teams in a workspace

Tool

Description

asana_typeahead

Fuzzy-search for tasks, projects, users, tags, teams, portfolios, or goals by partial name

Tool

Description

asana_list_workspaces

List all available workspaces

Requirements

Contributing

git clone https://github.com/BLZvi/asana-mcp-server.git
cd asana-mcp-server
npm install
npm run dev

Test with the MCP Inspector:

npm run inspector

License

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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

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