Labsco
MCP SERVER

Work an Asana workspace from the agent — projects and sections, task search with real filters, dependencies and subtasks, comments, tags and attachments, and a whole project hierarchy in one call.

Project & Task ManagementVerified
Summary
asana_get_project_hierarchy is the reason to pick this client: sections, tasks and subtasks in one request rather than a walk down the tree.

Reading an Asana project through the API is normally a fan-out — project, then sections, then tasks per section, then subtasks per task. This server collapses that into a single call with automatic pagination, a maximum subtask depth and switches for whether completed items come along, and its own description advises requesting only the fields you need on large projects. Around it, asana_search_tasks exposes an unusually complete filter set including the negative forms and the blocked and blocking states, and asana_get_multiple_tasks_by_gid batches up to 25 lookups. DEFAULT_WORKSPACE_ID is worth noticing before you set it, because it changes what a listing returns rather than only what a write targets.

What it is

An Asana client with 41 tools covering workspaces, projects with sections and status updates, task search and creation, subtasks and dependencies, comments and followers, tags, teams and users, and attachments.

What you get
  • Projects with structure: asana_search_projects matches by name pattern, asana_create_project and asana_update_project cover the record, asana_get_project_sections and asana_create_section_for_project shape the columns, asana_reorder_sections positions one relative to another, and asana_get_project_task_counts answers how large it has become.
  • Status updates as their own object: asana_create_project_status, asana_get_project_status, asana_get_project_statuses and asana_delete_project_status.
  • Task search with the filters Asana actually offers: asana_search_tasks takes assignee, creator, follower and commenter filters in positive and negative form, created, modified, due, start and completed date ranges, project, section, tag, team and portfolio membership, custom fields, blocked and blocking states, subtask status and attachment presence.
  • Tasks and their tree: asana_create_task, asana_update_task, asana_create_subtask, asana_get_subtasks_for_task, asana_set_parent_for_task which also positions the subtask among its siblings, and asana_get_multiple_tasks_by_gid for up to 25 tasks in one call.
  • A whole project in one request: asana_get_project_hierarchy returns sections, tasks and subtasks together, with automatic pagination or manual next_offset tokens, a maximum subtask depth, and flags for whether completed tasks and subtasks are included.
  • Dependencies and attention: asana_add_task_dependencies and asana_add_task_dependents set what blocks what, and asana_add_followers_to_task and asana_add_followers_for_project bring the right people onto it.
  • Conversation: asana_get_task_stories returns a task's comments and stories, and asana_create_task_story adds one.
  • Organising and people: asana_add_tags_to_task, asana_get_tags_for_workspace and asana_get_tasks_for_tag for tagging, and asana_get_teams_for_user, asana_get_teams_for_workspace, asana_add_members_for_project and asana_list_workspace_users for people.
  • Files: asana_get_attachments_for_object lists them, asana_upload_attachment_for_object uploads a local file to a task or project, and asana_download_attachment saves one into a directory.
Requirements

An Asana access token, supplied as ASANA_ACCESS_TOKEN, and a DEFAULT_WORKSPACE_ID — when it is set, asana_list_workspaces returns only that workspace.

Setup effort

One command plus a key — npx -y @cristip73/mcp-server-asana, then supply credentials