Asana MCP Server
Provides tools for managing tasks, projects, sections, tags, custom fields, portfolios, goals, time tracking, comments, attachments, users, teams, and workspaces in Asana, with full CRUD operations and AI-powered prompt templates for task creation, project management, and personal productivity.
Enables fetching Confluence pages and converting them into Asana tasks as part of sprint planning workflows.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Asana MCP ServerShow me all my incomplete tasks in the Marketing project."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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-serverAny 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-serverInstall from source (alternative)
git clone https://github.com/BLZvi/asana-mcp-server.git
cd asana-mcp-server
npm installThen 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 |
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 |
| Pre-fetches task details + comments, generates a status summary |
| Scores how well-defined a task is (0-100) with per-dimension breakdown |
| Fetches a task, identifies gaps, asks clarifying questions, updates the description |
| Breaks a complex task into well-scoped subtasks |
| Retro-log work done outside Asana — creates a task and marks it complete |
Project-level
Prompt | Description |
| Full project status report with task counts, statuses, and open tasks |
| Polished stakeholder status update (email/Slack-ready) |
| Scans for risk signals (overdue, unassigned, empty descriptions) and produces a risk register |
| "Getting up to speed" brief for someone new to a project |
| Triages overdue tasks: do now, reschedule, reassign, or drop |
| Guides prioritization of incomplete tasks by section |
| Analyzes task distribution across team members to spot imbalances |
Personal productivity
Prompt | Description |
| Fetches your incomplete tasks and generates a prioritized daily plan |
| Done/doing/blockers summary from your recent task activity |
| Weekly reflection + plan from completed and open tasks |
Planning & creation
Prompt | Description |
| Plans a sprint from a project's backlog based on team capacity |
| Fetches a Confluence page and creates corresponding Asana tasks |
| Guided task creation with clarifying questions |
Browsable Resources
Expose Asana data as MCP resources that clients can browse directly:
URI Pattern | Description |
| Workspace details, org info, email domains |
| Project details, sections, custom fields, dates |
| Task details, subtasks, custom fields, recent comments |
Configuration
Variable | Required | Description |
| Yes | |
| No | Default workspace GID — tools use this when no workspace is specified |
| No | Set to |
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 |
| Search tasks with advanced filtering (assignee, project, tags, custom fields, etc.) |
| Get detailed information about a task |
| Get details for up to 25 tasks at once |
| Create a task in a project (supports section placement via |
| Update task details (name, assignee, due date, custom fields, etc.) |
| Permanently delete a task |
| List all tasks in a project |
| List all tasks in a section |
| Create a subtask under a parent task |
| Get all subtasks of a task |
| Add a task to a project |
| Remove a task from a project |
Tool | Description |
| Set tasks that a task depends on |
| Set tasks that depend on a task |
| Set/change a task's parent and position |
Tool | Description |
| Search projects by name pattern |
| Get project details |
| Create a new project |
| Update project details |
| Delete a project |
| Get task count breakdown for a project |
| Get sections in a project |
Tool | Description |
| Get all status updates for a project |
| Get a specific project status |
| Create a project status update |
| Delete a project status update |
Tool | Description |
| Get section details |
| Create a section in a project |
| Rename a section |
| Delete a section |
| Reorder a section within a project |
| Move a task to a section |
Tool | Description |
| Get tag details |
| Get tags on a task |
| Get tasks with a specific tag |
| List tags in a workspace |
| Create a new tag |
| Update a tag |
| Delete a tag |
| Add a tag to a task |
| Remove a tag from a task |
Tool | Description |
| List all custom field definitions in a workspace |
| Get custom field details (including enum options and GIDs) |
| Create a new custom field (text, number, enum, date, people) |
| Update custom field name, description, or number settings |
| Permanently delete a custom field from the workspace |
| Add a new option to an enum or multi_enum custom field |
| Update an enum option's name, color, or enabled status |
Tool | Description |
| Get portfolio details |
| List portfolios in a workspace |
| Create a portfolio |
| Update a portfolio |
| Delete a portfolio |
| Get projects in a portfolio |
| Add a project to a portfolio |
| Remove a project from a portfolio |
Tool | Description |
| Get goal details |
| List goals in a workspace |
| Create a goal |
| Update a goal |
| Delete a goal |
Tool | Description |
| List time periods in a workspace (quarters, fiscal years) |
| Get time period details |
| Get time entries for a task |
| Get a specific time entry |
| Log time on a task |
| Update a time entry |
| Delete a time entry |
Tool | Description |
| Get comments and activity for a task |
| Add a comment to a task (plain text or rich HTML) |
Tool | Description |
| List all attachments on a task or project |
| Get attachment details (including download URL) |
| Delete an attachment |
| Attach an external URL link to a task or project |
Tool | Description |
| Get user details by GID, email, or |
| List all users in a workspace (find GIDs by name or email) |
Tool | Description |
| Get team details |
| List all teams in a workspace |
Tool | Description |
| Fuzzy-search for tasks, projects, users, tags, teams, portfolios, or goals by partial name |
Tool | Description |
| List all available workspaces |
Requirements
Node.js 22+
Contributing
git clone https://github.com/BLZvi/asana-mcp-server.git
cd asana-mcp-server
npm install
npm run devTest with the MCP Inspector:
npm run inspectorLicense
MIT
This server cannot be installed
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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