MCP Hub
Back to servers

@blzvi/asana-mcp-server

MCP server that gives AI assistants full access to the Asana API — 80 tools, 18 prompt templates, and browsable resources

Stars
1
Updated
Feb 21, 2026

Quick Install

npx -y @blzvi/asana-mcp-server

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"

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.

CategoryToolsWhat you can do
Tasks12Search, create, update, delete, list by project/section/tag, batch get (up to 25), subtasks, multi-project
Task Relationships3Dependencies, dependents, reparenting
Projects7Search by name, CRUD, get sections & task counts
Project Statuses4CRUD for project status updates
Sections6CRUD, reorder, move tasks between sections
Tags9CRUD, add/remove from tasks, list by workspace/task
Custom Fields7Create/manage field definitions and enum options
Portfolios8CRUD, add/remove projects from portfolios
Goals5CRUD for workspace goals
Time Tracking7Log hours, manage entries, browse time periods
Comments & Stories2Read activity feed, post comments (plain or rich HTML)
Attachments4List, inspect, delete, attach external URLs
Users2Look up users by GID, email, or me
Teams2Get team info, list teams in workspace
Typeahead1Fuzzy search any resource type by name
Workspaces1List 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

PromptDescription
task-summaryPre-fetches task details + comments, generates a status summary
analyze-taskScores how well-defined a task is (0-100) with per-dimension breakdown
task-completenessFetches a task, identifies gaps, asks clarifying questions, updates the description
task-breakdownBreaks a complex task into well-scoped subtasks
log-workRetro-log work done outside Asana — creates a task and marks it complete

Project-level

PromptDescription
project-summaryFull project status report with task counts, statuses, and open tasks
status-updatePolished stakeholder status update (email/Slack-ready)
project-risksScans 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-triageTriages overdue tasks: do now, reschedule, reassign, or drop
prioritize-backlogGuides prioritization of incomplete tasks by section
team-workloadAnalyzes task distribution across team members to spot imbalances

Personal productivity

PromptDescription
my-tasksFetches your incomplete tasks and generates a prioritized daily plan
standupDone/doing/blockers summary from your recent task activity
weekly-reviewWeekly reflection + plan from completed and open tasks

Planning & creation

PromptDescription
sprint-planningPlans a sprint from a project's backlog based on team capacity
sprint-from-confluenceFetches a Confluence page and creates corresponding Asana tasks
create-taskGuided task creation with clarifying questions

Browsable Resources

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

URI PatternDescription
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

VariableRequiredDescription
ASANA_ACCESS_TOKENYesYour Asana personal access token
ASANA_DEFAULT_WORKSPACE_GIDNoDefault workspace GID — tools use this when no workspace is specified
ASANA_READ_ONLY_MODENoSet 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

Tasks — 12 tools
ToolDescription
asana_search_tasksSearch tasks with advanced filtering (assignee, project, tags, custom fields, etc.)
asana_get_taskGet detailed information about a task
asana_get_multiple_tasks_by_gidGet details for up to 25 tasks at once
asana_create_taskCreate a task in a project (supports section placement via memberships)
asana_update_taskUpdate task details (name, assignee, due date, custom fields, etc.)
asana_delete_taskPermanently delete a task
asana_get_tasks_for_projectList all tasks in a project
asana_get_tasks_for_sectionList all tasks in a section
asana_create_subtaskCreate a subtask under a parent task
asana_get_subtasksGet all subtasks of a task
asana_add_project_to_taskAdd a task to a project
asana_remove_project_from_taskRemove a task from a project
Task Relationships — 3 tools
ToolDescription
asana_add_task_dependenciesSet tasks that a task depends on
asana_add_task_dependentsSet tasks that depend on a task
asana_set_parent_for_taskSet/change a task's parent and position
Projects — 7 tools
ToolDescription
asana_search_projectsSearch projects by name pattern
asana_get_projectGet project details
asana_create_projectCreate a new project
asana_update_projectUpdate project details
asana_delete_projectDelete a project
asana_get_project_task_countsGet task count breakdown for a project
asana_get_project_sectionsGet sections in a project
Project Statuses — 4 tools
ToolDescription
asana_get_project_statusesGet all status updates for a project
asana_get_project_statusGet a specific project status
asana_create_project_statusCreate a project status update
asana_delete_project_statusDelete a project status update
Sections — 6 tools
ToolDescription
asana_get_sectionGet section details
asana_create_sectionCreate a section in a project
asana_update_sectionRename a section
asana_delete_sectionDelete a section
asana_move_sectionReorder a section within a project
asana_add_task_to_sectionMove a task to a section
Tags — 9 tools
ToolDescription
asana_get_tagGet tag details
asana_get_tags_for_taskGet tags on a task
asana_get_tasks_for_tagGet tasks with a specific tag
asana_get_tags_for_workspaceList tags in a workspace
asana_create_tag_for_workspaceCreate a new tag
asana_update_tagUpdate a tag
asana_delete_tagDelete a tag
asana_add_tag_to_taskAdd a tag to a task
asana_remove_tag_from_taskRemove a tag from a task
Custom Fields — 7 tools
ToolDescription
asana_get_custom_fields_for_workspaceList all custom field definitions in a workspace
asana_get_custom_fieldGet custom field details (including enum options and GIDs)
asana_create_custom_fieldCreate a new custom field (text, number, enum, date, people)
asana_update_custom_fieldUpdate custom field name, description, or number settings
asana_delete_custom_fieldPermanently delete a custom field from the workspace
asana_create_enum_optionAdd a new option to an enum or multi_enum custom field
asana_update_enum_optionUpdate an enum option's name, color, or enabled status
Portfolios — 8 tools
ToolDescription
asana_get_portfolioGet portfolio details
asana_get_portfoliosList portfolios in a workspace
asana_create_portfolioCreate a portfolio
asana_update_portfolioUpdate a portfolio
asana_delete_portfolioDelete a portfolio
asana_get_portfolio_itemsGet projects in a portfolio
asana_add_portfolio_itemAdd a project to a portfolio
asana_remove_portfolio_itemRemove a project from a portfolio
Goals — 5 tools
ToolDescription
asana_get_goalGet goal details
asana_get_goalsList goals in a workspace
asana_create_goalCreate a goal
asana_update_goalUpdate a goal
asana_delete_goalDelete a goal
Time Tracking & Periods — 7 tools
ToolDescription
asana_get_time_periodsList time periods in a workspace (quarters, fiscal years)
asana_get_time_periodGet time period details
asana_get_time_tracking_entriesGet time entries for a task
asana_get_time_tracking_entryGet a specific time entry
asana_create_time_tracking_entryLog time on a task
asana_update_time_tracking_entryUpdate a time entry
asana_delete_time_tracking_entryDelete a time entry
Comments & Stories — 2 tools
ToolDescription
asana_get_task_storiesGet comments and activity for a task
asana_create_task_storyAdd a comment to a task (plain text or rich HTML)
Attachments — 4 tools
ToolDescription
asana_get_attachments_for_objectList all attachments on a task or project
asana_get_attachmentGet attachment details (including download URL)
asana_delete_attachmentDelete an attachment
asana_create_attachment_for_objectAttach an external URL link to a task or project
Users — 2 tools
ToolDescription
asana_get_userGet user details by GID, email, or 'me' (current user)
asana_get_users_for_workspaceList all users in a workspace (find GIDs by name or email)
Teams — 2 tools
ToolDescription
asana_get_teamGet team details
asana_get_teams_for_workspaceList all teams in a workspace
Typeahead — 1 tool
ToolDescription
asana_typeaheadFuzzy-search for tasks, projects, users, tags, teams, portfolios, or goals by partial name
Workspaces — 1 tool
ToolDescription
asana_list_workspacesList 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

Reviews

No reviews yet

Sign in to write a review