C

MCP Server for Asana

MCP server providing Asana task, project, and workspace management tools

Overall Score64/100

Score Breakdown

Server Info

Package
@roychri/mcp-server-asana
Registry
npm
Maintainer
Community
Category
Project Management
Tags
tasksprojectscollaboration
Last Scanned
7 Apr 2026

Findings

5 issues

Authentication & Identity

HIGHNo per-request auth - requires instance-per-user

Stdio-only transport via StdioServerTransport. Auth via ASANA_ACCESS_TOKEN env var (personal access token). Token is passed directly to the Asana SDK client. No HTTP transport, no MCP OAuth. READ_ONLY_MODE env var controls whether write tools are exposed. For multi-tenant deployment, the platform must spawn a separate server instance per user.

Remediation

Add HTTP/SSE transport to accept per-request Authorization headers, or implement the MCP OAuth spec.

Tool Schema Quality

MEDIUMOnly 3 of 41 schemas have parameter constraints

Most schemas lack maxLength, enum, or pattern constraints on string parameters.

Remediation

Add constraints to string parameters, especially on write operations.

Data Exposure

MEDIUM5 list operations lack pagination

asana_get_tasks_for_project has limit (1-100) and offset params. asana_get_project_statuses has limit/offset. asana_get_tags_for_task, asana_get_tags_for_workspace, asana_get_tasks_for_tag have limit/offset. asana_search_tasks, asana_list_workspaces, asana_get_project_sections, asana_get_subtasks, asana_search_projects lack pagination. opt_fields parameter available on most tools for field selection.

Remediation

Add limit/offset or cursor-based pagination.

Maintenance & Trust

LOWCommunity-maintained by Christian Roy (roychri)

No official vendor backing.

Remediation

Seek vendor verification.

HIGH15 dependency vulnerabilities (2 critical, 7 high)

npm audit found 2 critical and 7 high severity CVEs.

Remediation

Run `npm audit fix` and update vulnerable dependencies.

Tools

41 total
NameDescriptionRisk
asana_list_workspacesList all available workspaces in Asanaread
asana_search_projectsSearch for projects in Asana using name pattern matchingread
asana_get_my_tasksGet tasks from the authenticated user's 'My Tasks' list in a workspace. Returns the user's personal task list including sections like Inbox, Today, This Week, etc.read
asana_search_tasksSearch tasks in a workspace with advanced filtering optionsread
asana_get_taskGet detailed information about a specific taskread
asana_create_taskCreate a new task in a projectwrite
asana_get_task_storiesGet comments and stories for a specific taskread
asana_update_taskUpdate an existing task's detailswrite
asana_get_projectGet detailed information about a specific projectread
asana_get_project_task_countsGet the number of tasks in a projectread
asana_get_project_sectionsGet sections in a projectread
asana_get_tasks_for_projectGet all tasks in a project. Use this instead of search_tasks when you need to list tasks in a specific project. Supports pagination and optional field selection.read
asana_create_projectCreate a new project in a workspace or teamwrite
asana_create_task_storyCreate a comment or story on a task. Either text or html_text is required.write
asana_add_task_dependenciesSet dependencies for a taskwrite
asana_add_task_dependentsSet dependents for a task (tasks that depend on this task)write
asana_create_subtaskCreate a new subtask for an existing taskwrite
asana_get_subtasksGet all subtasks of a given task. Returns a compact representation of each subtask.read
asana_get_multiple_tasks_by_gidGet detailed information about multiple tasks by their GIDs (maximum 25 tasks)read
asana_get_project_statusGet a project status updateread
asana_get_project_statusesGet all status updates for a projectread
asana_create_project_statusCreate a new status update for a projectwrite
asana_delete_project_statusDelete a project status updateadmin
asana_set_parent_for_taskSet the parent of a task and position the subtask within the other subtasks of that parentwrite
asana_get_tagGet detailed information about a specific tagread
asana_get_tags_for_taskGet a task's tagsread
asana_get_tags_for_workspaceGet tags in a workspaceread
asana_update_tagUpdate an existing tagwrite
asana_delete_tagDelete a tagadmin
asana_get_tasks_for_tagGet tasks for a specific tagread
asana_create_tag_for_workspaceCreate a new tag in a workspacewrite
asana_add_tag_to_taskAdd a tag to a taskwrite
asana_remove_tag_from_taskRemove a tag from a taskwrite
asana_add_project_to_taskAdd an existing task to a project. If no positioning arguments are given, the task will be added to the end of the project.write
asana_remove_project_from_taskRemove a task from a project. The task will still exist in the system, but it will not be in the project anymore.write
asana_delete_taskDelete a task. This permanently removes the task and cannot be undone.admin
asana_create_sectionCreate a new section in a projectwrite
asana_update_sectionUpdate a section (rename it)write
asana_delete_sectionDelete a section from a projectadmin
asana_add_task_to_sectionMove a task to a section within its projectwrite
asana_update_projectUpdate a project's details (name, description, etc.)write

Deploy MCP Server for Asana securely

CompleteFlow adds per-user authentication, permission scoping, and audit logging to any MCP server out of the box.

Deploy on CompleteFlow