mcp-server-asana
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| READ_ONLY_MODE | No | Set to 'true' to disable all write operations | false |
| ASANA_ACCESS_TOKEN | Yes | Your Asana personal access token ([generate one here](https://app.asana.com/0/my-apps)) |
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
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| asana_list_workspacesB | List all available workspaces in Asana |
| asana_search_projectsA | Search for projects in Asana using name pattern matching |
| asana_search_tasksB | 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_get_task_storiesB | Get comments and stories for a specific task |
| asana_update_taskC | Update an existing task's details |
| 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_projectC | Create a new project in a workspace or team |
| asana_create_task_storyA | Create a comment or story on a task. Either text or html_text is required. |
| 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_create_subtaskB | 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_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_set_parent_for_taskA | Set the parent of a task and position the subtask within the other subtasks of that parent |
| asana_get_tagC | Get detailed information about a specific tag |
| asana_get_tags_for_taskC | Get a task's tags |
| asana_get_tags_for_workspaceA | Get tags in a workspace |
| asana_update_tagC | Update an existing tag |
| asana_delete_tagC | Delete a tag |
| asana_get_tasks_for_tagC | Get tasks for a specific tag |
| asana_create_tag_for_workspaceC | Create a new tag in a workspace |
| asana_add_tag_to_taskC | Add a tag to a task |
| asana_remove_tag_from_taskC | Remove a tag from a task |
| asana_add_project_to_taskB | Add an existing task to a project. If no positioning arguments are given, the task will be added to the end of the project. |
| asana_remove_project_from_taskA | Remove a task from a project. The task will still exist in the system, but it will not be in the project anymore. |
| asana_delete_taskB | Delete a task. This permanently removes the task and cannot be undone. |
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 |
| task-completeness | Analyze if a task description contains all necessary details for completion |
| create-task | Create a new task with specified details |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 33 tools
Most tools target a distinct resource+action, but there are a few confusable pairs: asana_add_task_dependencies vs asana_add_task_dependents, and the singular/plural asana_get_project_status vs asana_get_project_statuses. asana_set_parent_for_task and asana_create_subtask also overlap conceptually around parent/subtask relationships, though descriptions help distinguish them.
Every tool follows a consistent asana_verb_noun pattern (e.g. asana_get_task, asana_create_tag_for_workspace, asana_add_tag_to_task). Prefix, verb style, and snake_case are uniform throughout, making the surface highly predictable.
33 tools is on the heavy end, exceeding the comfortable 3-15 range and bordering on the 25+ 'too many' threshold. Asana is a broad domain that justifies much of this breadth, but some consolidation (e.g. tags/stories) would reduce surface area.
Strong lifecycle coverage: task CRUD plus stories, subtasks, dependencies, project associations, tags, and project statuses. Minor gaps exist (no update_project, no delete_project, no update_project_status), but core workflows are well supported.