Asana MCP server for Claude, ChatGPT, Claude Code and Cursor
Access/manage tasks, projects, portfolios, goals, and team collaboration data in Asana.
Examples of what your AI apps can do in Asana. You'll see the exact list of tools after you connect it.
delete_attachment
ToolTool to delete an attachment by its globally unique identifier. use when you need to remove an existing attachment from asana.
submit_parallel_requests
ToolTool to submit multiple asana api requests in parallel using the batch api. use when you need to perform several operations efficiently, such as fetching multiple tasks or creating multiple subtasks at once.
create_custom_field
ToolTool to create a new custom field in a workspace. use when you need to define a new field for tracking specific information within asana tasks.
update_custom_field
ToolTool to update a custom field by its globally unique identifier. use when you need to modify properties of an existing custom field in asana.
delete_custom_field
ToolTool to delete a custom field by its globally unique identifier. use when you need to remove an existing custom field from asana.
update_enum_option
ToolTool to update an enum option for a custom field. use when you need to modify the name, color, or enabled status of an existing enum option.
update_project
ToolUpdate a project.
delete_project
ToolDelete a project.
duplicate_project
ToolDuplicate a project.
get_project_brief
ToolTool to retrieve a project's brief. use when you need to get the detailed explanation (what and why) of a project.
create_section_in_project
ToolCreates a new section in a project, optionally positioned relative to an existing section in the same project, and returns the full record of the new section.
add_task_to_section
ToolAdds an existing task to a section, optionally positioning it before or after another task in that section; if no position is specified, the task is added to the end.
update_tag
ToolTool to update an existing tag by its globally unique identifier. use when you need to change the name or color of a tag.
delete_tag
ToolTool to delete a specific tag by its gid. use when you need to remove an existing tag from asana.
delete_task
ToolDelete a task.
duplicate_task
ToolDuplicate a task
create_subtask
ToolCreates a new asana subtask under an existing parent task (`task gid`); `due on` and `due at` are mutually exclusive and cannot be set simultaneously.
add_followers_to_task
ToolTool to add followers to a task in asana. use this tool when you need to add one or more users as followers to a specific task. this will notify them of updates to the task.
create_team
ToolTool to create a new team in an asana workspace. use when you need to establish a new team for collaboration.
update_team
ToolTool to update details of an existing team. use when you need to change a team's name, description, or organization.
add_supporting_relationship
ToolTool to add a supporting goal relationship to a goal. use when you want to link a project, task, portfolio, or another goal as a supporting resource to a specific goal in asana.
create_allocation
ToolCreates a new allocation. use when you need to schedule or assign a specific amount of a user's time per week to a task or project within a defined period.
create_attachment_for_task
ToolTool to upload an attachment to a task. use when you need to attach a file to a specific task in asana.
create_enum_option_for_custom_field
ToolTool to create a new enum option for a custom field in asana. use this when you need to add a new selectable option to an existing custom field.
create_project_status_update
ToolTool to create a new status update on a project. use when you need to communicate the current status, progress, or any blockers related to a specific project.
create_task_comment
ToolAdds a new text comment (story) to an existing asana task, appearing in its activity feed.
delete_allocation
ToolTool to delete an allocation by its id. use this when you need to remove a specific resource allocation in asana.
get_allocation
ToolGet an allocation by id. use when you need to retrieve the details of a specific allocation.
get_allocations
ToolTool to get multiple allocations. use when you need to retrieve a list of allocations, optionally filtered by project, user, or workspace.
get_a_project
ToolRetrieves a specific asana project by its `project gid`, with an option to include additional fields for comprehensive details using `opt fields`; this action does not return tasks within the project.
get_a_task
ToolRetrieves full details for a specified task gid accessible by the user; use `opt fields` to customize returned data.
get_attachment
ToolTool to get a single attachment by its globally unique identifier. use when you need to retrieve details about a specific file attached to a task or project.
get_audit_log_events
ToolTool to get audit log events for a workspace. use when you need to retrieve a log of actions performed within a specific asana workspace.
get_current_user
ToolRetrieves the authenticated user's full record, including accessible workspaces, often used as an initial call to establish user context for subsequent operations.
get_custom_field
ToolTool to get a single custom field by its globally unique identifier. use when you need to retrieve the complete metadata and properties of a specific custom field in asana.
get_custom_fields_for_workspace
ToolTool to get all custom fields in a workspace. use when you need to retrieve a list of custom fields associated with a specific workspace.
get_events
ToolRetrieve events on a resource to monitor changes. use when you need to track activity or changes related to a specific asana resource like a task, project, or tag.
get_goal
ToolRetrieve the full record for a single goal by its gid.
get_goal_relationships
ToolTool to retrieve goal relationships. use when you need to get the relationships associated with a specific goal in asana.
get_goals
ToolTool to retrieve multiple goals. use when you need to get a list of goals, optionally filtered by workspace, team, portfolio, project, time period, or archived status.
get_memberships
ToolTool to retrieve memberships for goals, projects, portfolios, or custom fields. use this to find out who has access to a specific asana resource or what resources a specific user/team has access to.
get_portfolio
ToolRetrieve the full record for a single portfolio by its gid. use this when you need to get detailed information about a specific portfolio.
get_portfolio_items
ToolRetrieve items in a portfolio. use this to get a list of projects or other portfolios contained within a specific portfolio.
get_portfolio_memberships
ToolTool to retrieve multiple portfolio memberships. use this tool when you need to list memberships for a specific portfolio, a user within a portfolio, or a user across all portfolios in a workspace.
get_portfolios
ToolRetrieve multiple portfolios. use when you need to list portfolios within a specific workspace, optionally filtered by owner.
get_project_memberships
ToolTool to retrieve memberships from a project. it can also be used to get memberships for a user across multiple projects or all projects in a workspace.
get_projects_for_team
ToolTool to get a list of projects for a specific team in asana. use when you need to retrieve project details associated with a team.
get_project_status
ToolTool to retrieve the full record for a single project status by its gid. use when you need to get the details of a specific project status update.
get_project_status_updates
ToolTool to get status updates for a specific project. use when you need to retrieve the latest or historical status reports associated with an asana project.
get_project_templates
ToolTool to retrieve multiple project templates. use when you need to list available project templates in a workspace or team.
get_section
ToolRetrieve the full record for a single section by its gid. use this when you need to get details about a specific section within a project.
get_sections_in_project
ToolReturns compact records for all sections (used to group tasks) in a specified project.
get_status_updates
ToolRetrieve status updates from an object. use when you need to get the latest or historical status updates for a specific project, portfolio, or goal.
get_stories_for_task
ToolTool to get stories (comments, status updates, etc.) for a task. use when you need to retrieve the history or discussion associated with a specific task.
get_story
ToolTool to retrieve a story. use when you need to get the complete record for a single story.
get_tag
ToolTool to get a single tag by its globally unique identifier. use when you need to retrieve detailed information about a specific tag.
get_tags
ToolGet multiple tags in a workspace.
get_task_attachments
ToolTool to get the list of attachments for a given task, project, or project brief. use when you need to retrieve files attached to a specific asana object.
get_tasks_from_a_project
ToolRetrieves tasks from a specified asana project, allowing filtering by completion status and selection of optional fields for detailed responses.
get_task_subtasks
ToolTool to retrieve multiple task subtasks from a workspace. use when you need to list or find available task subtasks.
get_task_templates
ToolTool to retrieve multiple task templates from a workspace. use when you need to list or find available task templates.
get_team_memberships
ToolTool to retrieve compact team membership records. use when you need to list members of a team, teams a user belongs to, or all team memberships in a workspace.
get_teams_in_workspace
ToolReturns the compact records for all teams in the workspace visible to the authorized user.
get_time_periods
ToolTool to retrieve compact or full representations of time periods. use this when you need to fetch information about specific time periods, such as their start and end dates, display names, and parent periods.
get_typeahead_objects
ToolTool to retrieve objects in a workspace via a typeahead search algorithm. use when you need to quickly find objects like tasks, projects, users, etc., based on a search string. this is useful for implementing auto-completion features.
get_user
ToolGet a user by their id.
get_users_for_team
ToolGet users in a team.
get_users_for_workspace
ToolGet users in a workspace or organization.
get_workspace_memberships
ToolTool to retrieve the workspace memberships for a specific workspace. use when you need to list members of a workspace.
get_workspace_projects
ToolTool to retrieve the projects associated with a specific workspace. use when you need to list all projects within a given asana workspace.
insert_enum_option_for_custom_field
ToolTool to reorder an existing enum option or insert a new enum option for a custom field at a specific position. use when you need to manage the order of options in an enum custom field or add a new option at a defined place.
remove_follower_from_task
ToolTool to remove one or more followers from a task. use when you need to update the list of users following a specific task.
update_allocation
ToolTool to update an existing allocation by its id. use this when you need to modify details like the start date, end date, effort, or assignee for an allocation.
create_a_project
ToolCreates a new asana project, requiring either a `workspace` or `team` gid for association, and returns the full project details.
create_a_tag_in_a_workspace
ToolCreates a new tag, with properties like name and color defined in the request body, within a specific asana workspace (using `workspace gid`); this tag helps categorize tasks, is confined to the workspace, and is not automatically applied to tasks.
create_a_task
ToolCreates a new asana task; requires 'workspace', 'parent', or 'projects' for association, and 'followers', 'projects', 'tags' are set only at creation.
get_a_user_task_list
ToolRetrieves a specific user's task list from asana by its `user task list gid`, optionally returning extended details like name, owner, and workspace if specified in `opt fields`.
get_multiple_projects
ToolReturns a list of projects, optionally filtered by workspace, team, or archived status, supporting pagination for large datasets.
get_multiple_tasks
ToolRetrieves a list of tasks, allowing filtering by assignee (requires `workspace`), project, section, `completed since`, and `modified since`; `workspace` also requires `assignee`.
get_multiple_users
ToolReturns a list of users in an asana workspace or organization, optionally filtered by workspace or team gid, with support for pagination and specifying optional fields.
get_multiple_workspaces
ToolRetrieves all workspaces accessible by the authenticated user, returning an empty list if the user has no accessible workspaces.
get_team
ToolTool to retrieve details of a specific team by its gid. use when you need to fetch information about a particular team in asana.
get_workspace
ToolTool to retrieve details of a specific workspace by its gid. use when you need to get information about a particular asana workspace.
update_a_task
ToolUpdates attributes of an existing asana task identified by its task gid.
Free. No card needed.
How to connect Asana
- 1Create your free ContextGate account.
- 2Go to Connections → Add Connection, search for Asana and sign in to Asana.
- 3Add ContextGate to Claude, Cursor or ChatGPT (the Setup page shows you how), then ask it to use Asana.
What you get with Asana and ContextGate
- Your AI apps can use Asana Claude, Cursor, ChatGPT and other AI apps reach Asana through the one ContextGate connection you add to them.
- You choose which tools they can use Switch off any Asana tool you don't want used. It's hidden from your AI apps and refused if called.
- Every call is checked and recorded Your policies check each call (for example, personal data is hidden and secrets are blocked), and Activity keeps a record of it.
ContextGate sees only the tool calls that go through it, not your AI app's built-in tools or your chats.
Select a tool on the left to see its parameters
What you get with Asana and ContextGate
- Your AI apps can use Asana: Claude, Cursor, ChatGPT and other AI apps reach Asana through the one ContextGate connection you add to them.
- You choose which tools they can use: Switch off any Asana tool you don't want used. It's hidden from your AI apps and refused if called.
- Every call is checked and recorded: Your policies check each call (for example, personal data is hidden and secrets are blocked), and Activity keeps a record of it.
ContextGate sees only the tool calls that go through it, not your AI app's built-in tools or your chats.
Free. No card needed.
How to connect Asana
- Create your free ContextGate account.
- Go to Connections → Add Connection, search for Asana and sign in to Asana.
- Add ContextGate to Claude, Cursor or ChatGPT (the Setup page shows you how), then ask it to use Asana.