MCP Server for Asana
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ASANA_ACCESS_TOKEN | Yes | Your personal access token from the Asana developer console | |
| DEFAULT_WORKSPACE_ID | No | Optional default workspace ID to use for API calls that require a workspace |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| asana_list_workspacesA | List all available workspaces in Asana. If DEFAULT_WORKSPACE_ID is set, only returns that workspace. |
| asana_search_projectsC | Search for projects in Asana using name pattern matching |
| asana_get_projectC | Get detailed information about a specific project |
| asana_get_project_task_countsB | Get the number of tasks in a project |
| asana_get_project_sectionsB | Get sections in a project |
| asana_create_section_for_projectC | Create a new section in a project |
| asana_create_projectC | Create a new project in a workspace |
| asana_update_projectC | Update details of an existing project |
| asana_reorder_sectionsC | Reorder a section within a project by specifying its position relative to another section |
| asana_get_project_statusC | Get a project status update |
| asana_get_project_statusesB | Get all status updates for a project |
| asana_create_project_statusB | Create a new status update for a project |
| asana_delete_project_statusA | Delete a project status update |
| asana_search_tasksC | Search tasks in a workspace with advanced filtering options |
| asana_get_taskB | Get detailed information about a specific task |
| asana_create_taskB | Create a new task in a project |
| asana_update_taskC | Update an existing task's details |
| asana_create_subtaskC | Create a new subtask for an existing task |
| asana_get_multiple_tasks_by_gidA | Get detailed information about multiple tasks by their GIDs (maximum 25 tasks) |
| asana_add_task_to_sectionC | Add a task to a specific section in a project |
| asana_get_tasks_for_sectionC | Get all tasks from a specific section in a project |
| asana_get_project_hierarchyA | Get the complete hierarchical structure of an Asana project, including its sections, tasks, and subtasks. Supports both manual and automatic pagination. PAGINATION GUIDE:
EXAMPLES:
|
| asana_get_subtasks_for_taskC | Get the list of subtasks for a specific task |
| asana_get_tasks_for_projectB | Get all tasks from a specific project with pagination support |
| asana_get_tasks_for_tagC | Get tasks for a specific tag |
| asana_get_tags_for_workspaceC | Get tags in a workspace |
| asana_add_tags_to_taskB | Add one or more tags to a task for categorization purposes |
| asana_add_task_dependenciesC | Set dependencies for a task |
| asana_add_task_dependentsB | Set dependents for a task (tasks that depend on this task) |
| asana_set_parent_for_taskA | Set the parent of a task and position the subtask within the other subtasks of that parent |
| asana_add_followers_to_taskC | Add followers to a task |
| asana_get_task_storiesB | Get comments and stories for a specific task |
| asana_create_task_storyC | Create a comment or story on a task |
| asana_get_teams_for_userC | Get teams to which the user has access |
| asana_get_teams_for_workspaceC | Get teams in a workspace |
| asana_add_members_for_projectC | Add members to a project |
| asana_add_followers_for_projectC | Add followers to a project |
| asana_list_workspace_usersC | Get users in a workspace |
| asana_get_attachments_for_objectC | List attachments for an object (task, project, etc) |
| asana_upload_attachment_for_objectC | Upload a local file as attachment to an object |
| asana_download_attachmentC | Download an attachment locally |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| task-summary | Get a summary and status update for a task based on its notes, custom fields and comments |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 41 tools
Most tools have distinct purposes targeting specific Asana resources and actions, such as 'asana_create_task' vs. 'asana_update_task' or 'asana_get_project' vs. 'asana_search_projects'. However, there is some potential overlap between 'asana_get_tasks_for_project' and 'asana_get_project_hierarchy' (which includes tasks), and between 'asana_get_project_status' and 'asana_get_project_statuses', which could cause minor confusion in selection.
All tools follow a consistent 'asana_verb_noun' pattern with snake_case throughout, such as 'asana_create_project', 'asana_get_task', and 'asana_update_task'. The naming is predictable and uniform, making it easy for agents to understand and use the toolset without ambiguity in formatting.
With 41 tools, the count is excessive for a typical MCP server, making it heavy and potentially overwhelming for agents to navigate. While Asana's API is feature-rich, this many tools suggests over-fragmentation of operations that could have been consolidated, such as separate tools for adding followers to projects vs. tasks, which might be better handled with parameters.
The toolset provides comprehensive coverage of Asana's core functionalities, including CRUD operations for tasks, projects, sections, and attachments, as well as advanced features like dependencies, stories, statuses, and searches. There are no obvious gaps; agents can perform full lifecycle management and complex workflows without dead ends.