Asana MCP server
Manage tasks, projects, portfolios, and team workflows
31 stars154 downloads/wk
Reviews
Write oneNobody has reviewed Asana yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Asana tools (100, 46 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_custom_field_to_goalAssociates a custom field with a goal by creating a custom field setting, allowing the field to appear and be tracked on the specified goal.
add_custom_field_to_portfolioAssociates a custom field with a portfolio by creating a custom field setting, allowing the field to appear and be tracked within the portfolio. Optionally controls the display prominence and ordering of the field relative to other custom field settings on the portfolio.
add_goal_followersAdds one or more followers (collaborators) to a specified goal. Returns the complete updated goal record reflecting the new followers.
add_goal_supporting_relationshipLinks a supporting resource (goal, project, task, or portfolio) to a parent goal, establishing a progress relationship between them. Returns the newly created goal relationship record.
add_portfolio_itemAdds a project or item to a specified portfolio, optionally controlling its position relative to an existing item. Returns an empty data block on success.
add_portfolio_membersAdds one or more users as members of the specified portfolio, granting them access to view and collaborate on it. Returns the updated portfolio record.
approve_access_requestApproves a pending access request, granting the requester access to the associated target object. Use this to fulfill access requests that have been reviewed and authorized.
create_allocationwrite actionCreates a new allocation and returns the full record of the newly created allocation.
create_budgetwrite actionCreates a new budget with the specified configuration. Use this to define spending limits and tracking parameters for a project, team, or time period.
create_custom_fieldwrite actionCreates a new custom field within a specified workspace, supporting types such as text, enum, multi_enum, number, date, or people. The field name must be unique within the workspace and cannot conflict with existing task property names.
create_enum_optionwrite actionCreates a new enum option and appends it to the specified custom field's list of selectable values. A custom field supports up to 500 enum options (including disabled ones); locked fields can only be modified by the user who locked them.
create_goalwrite actionCreates a new goal within a specified workspace or team. Returns the full record of the newly created goal.
create_membershipwrite actionCreates a new membership linking a Team or User to a goal, project, portfolio, custom type, or custom field. Returns the full record of the newly created membership.
create_organization_exportwrite actionInitiates an export request for an entire Asana organization. Asana processes and completes the export asynchronously after the request is submitted.
create_portfoliowrite actionCreates a new portfolio in a specified workspace with a given name. Note that portfolios created via the API will not include default UI state (such as the 'Priority' custom field) to allow integrations to define their own initial configuration.
create_projectwrite actionCreates a new project within a specified workspace or organization, optionally associating it with a team. Returns the full record of the newly created project.
create_project_briefwrite actionCreates a new project brief for the specified project, returning the full record of the newly created brief. Project briefs provide a structured summary of project goals, context, and key information.
create_project_from_templatewrite actionInstantiates a new project from an existing project template, returning an asynchronous job that handles the creation process. Supports mapping template date variables and roles to specific calendar dates and users at instantiation time.
create_project_statuswrite actionCreates a new status update on a specified project and returns the full record of the newly created status. Note: this endpoint is deprecated; new integrations should use the `/status_updates` route instead.
create_resource_exportwrite actionInitiates an asynchronous bulk export of workspace resources (tasks, teams, or messages) in gzip-compressed JSON Lines format. Export progress can be monitored via the jobs endpoint, and the resulting file is accessible for 30 days after completion.
delete_allocationwrite actionPermanently deletes an existing allocation by its unique identifier. Returns an empty data record upon successful deletion.
delete_attachmentwrite actionPermanently deletes a specific attachment by its unique identifier. Returns an empty data record upon successful deletion.
delete_budgetwrite actionPermanently deletes an existing budget by its unique identifier. Returns an empty data record upon successful deletion.
delete_custom_fieldwrite actionPermanently deletes an existing custom field by its unique identifier. Note that locked custom fields can only be deleted by the user who originally locked the field.
delete_goalwrite actionPermanently deletes an existing goal by its unique identifier. Returns an empty data record upon successful deletion.
delete_membershipwrite actionPermanently removes an existing membership from a goal, project, portfolio, custom type, or custom field. Returns an empty data record upon successful deletion.
delete_portfoliowrite actionPermanently deletes an existing portfolio by its unique identifier. Returns an empty data record upon successful deletion.
delete_projectwrite actionPermanently deletes an existing project by its unique identifier. This action is irreversible and returns an empty data record upon success.
delete_project_briefwrite actionPermanently deletes an existing project brief by its unique identifier. Returns an empty data record upon successful deletion.
delete_project_statuswrite actionPermanently deletes a specific project status update by its unique identifier. Note: this endpoint is deprecated; new integrations should use the status updates route instead.
delete_project_templatewrite actionPermanently deletes an existing project template by its unique identifier. This action is irreversible and returns an empty data record upon success.
duplicate_portfoliowrite actionCreates a duplicate of an existing portfolio and returns an asynchronous job that handles the duplication process. Custom field settings and views are always copied; additional elements such as members, rules, and child projects can be optionally included.
export_graphInitiates an asynchronous graph export job for a goal, team, portfolio, or project. Use the jobs endpoint to monitor progress; exports exceeding 1,000 tasks are cached for 4 hours, with subsequent requests returning the cached result.
get_allocationRetrieves the complete record for a single allocation, including all associated details and metadata. Use this to fetch full information about a specific allocation by its unique identifier.
get_attachmentRetrieves the full record for a single attachment, including its metadata and download URL. Requires the attachments:read scope.
get_budgetRetrieves the complete record for a single budget, including all associated details and metadata. Use this to inspect a specific budget by its unique identifier.
get_custom_fieldRetrieves the complete metadata definition for a specific custom field, including type-specific properties such as enum options, validation rules, and display settings.
get_custom_typeRetrieves the complete record for a single custom type by its unique identifier. Use this to inspect the full definition and configuration of a specific custom type.
get_goalRetrieves the complete record for a single goal, including all associated fields and metadata. Requires the goals:read scope, with additional time_periods:read scope needed to access the time_period field.
get_goal_relationshipRetrieves the complete record for a single goal relationship, including details about how two goals are linked. Use this to inspect the nature and status of a specific goal-to-goal connection.
get_jobRetrieves the full record for a specific asynchronous job by its unique identifier. Useful for polling job status and accessing output resources such as new tasks, projects, portfolios, or templates created by the job.
get_membershipRetrieves a single membership record by its unique identifier, returning details for any supported membership type including project, goal, portfolio, custom type, or custom field memberships.
get_organization_exportRetrieves the current status and details of a previously requested organization export. Use this to check export progress or access the resulting download URL once complete.
get_portfolioRetrieves the complete record for a single portfolio, including all associated metadata. Requires the portfolios:read scope.
get_portfolio_membershipRetrieves the complete details of a single portfolio membership record. Use this to inspect a specific user's membership relationship within a portfolio.
get_projectRetrieves the complete record for a single project, including all available fields and metadata. Requires the `projects:read` scope; accessing the `team` field additionally requires `teams:read`.
get_project_briefRetrieves the full record for a specific project brief, including its title, description, and associated project details.
get_project_membershipRetrieves the complete details of a single project membership record, including the member's role and access level within the project.
get_project_portfolio_settingRetrieves the complete record for a single project portfolio setting. Requires the `project_portfolio_settings:read` scope.
get_project_statusRetrieves the complete record for a single project status update by its unique identifier. Note: this endpoint is deprecated; new integrations should use the `/status_updates/{status_gid}` route instead.
get_project_templateRetrieves the complete record for a single project template, including all its configuration and metadata. Requires the project_templates:read scope.
list_access_requestsRetrieves pending access requests for a specified target object, optionally filtered to a specific user. Useful for reviewing who is awaiting permission to access a resource.
list_allocationsRetrieves a list of allocations, optionally filtered by project, assignee, or workspace. Useful for reviewing how resources are distributed across tasks and team members.
list_attachmentsRetrieves all attachments associated with a specified project, project brief, or task. For projects, this returns files in the 'Key resources' section; for tasks, this includes all associated files including inline images.
list_audit_log_eventsRetrieve a paginated list of audit log events captured in a workspace or organization, sorted by creation time in ascending order. Supports filtering by time range, event type, actor, and resource, and can be polled continuously to stream new events as they are captured.
list_budgetsRetrieves all budgets associated with a given parent object. Returns at most one budget per parent, which must be a project.
list_custom_typesRetrieves all custom types associated with a specified project. Use `opt_fields` to request additional fields beyond the default compact representation.
list_goal_custom_field_settingsRetrieves all custom field settings associated with a specific goal in compact form. Use opt_fields to request additional fields beyond the default compact representation.
list_goal_relationshipsRetrieves compact goal relationship records for a specified supported goal, allowing you to explore how goals are connected within your workspace.
list_goalsRetrieves a list of compact goal records, optionally filtered by workspace, team, portfolio, project, task, or time period. Requires the goals:read scope.
list_membershipsRetrieves compact membership records for a given parent resource (goal, project, portfolio, custom type, or custom field), optionally filtered by a specific member. Alternatively, when no parent is specified, returns all memberships of a given subtype for a specific member by combining the member and resource_subtype parameters.
list_parent_goalsRetrieves a compact list of all parent goals associated with a specified goal. Useful for traversing goal hierarchies and understanding how a goal rolls up into broader objectives.
list_portfolio_custom_field_settingsRetrieves all custom field settings configured on a specific portfolio, returned in compact form. Requires the portfolios:read scope.
list_portfolio_itemsRetrieves a paginated list of items within a specified portfolio in compact form. Useful for inspecting the contents of a portfolio, such as projects or other resources it contains.
list_portfolio_membershipsRetrieves a list of portfolio memberships in compact representation. You must provide either a portfolio ID, a portfolio and user combination, or a workspace and user combination to filter results.
list_portfolio_memberships_for_portfolioRetrieves all membership records for a specified portfolio, returning compact representations of each member. Optionally filter results by a specific user.
list_portfoliosRetrieves a compact list of portfolios owned by the current API user within a specified workspace. Service Accounts can optionally filter by owner or retrieve all portfolios across the workspace.
list_project_custom_field_settingsRetrieves all custom field settings configured on a specific project, returned in compact form. Use opt_fields to request additional field data beyond the default compact representation.
list_project_membershipsRetrieves all membership records for a specified project, showing which users belong to it. Optionally filter results to a single user and control pagination with a per-page limit.
list_project_portfolio_settingsRetrieves all project portfolio settings associated with a specific project, returned as a compact representation. Requires the project_portfolio_settings:read scope.
list_project_statusesRetrieves all compact project status update records for a given project. Note: this endpoint is deprecated — new integrations should use the `/status_updates` route instead.
list_project_templatesRetrieves compact records for all project templates available in a given team or workspace. Requires the project_templates:read scope.
list_projectsRetrieves a filtered list of compact project records accessible to the authenticated user. Use the available filters to narrow results — filtering by workspace is strongly recommended to avoid timeouts on large domains.
list_resource_eventsRetrieves all events that have occurred on a resource (task, project, or goal) since a given sync token was created. Returns up to 100 events per request, with a new sync token to paginate forward through additional events.
list_team_custom_field_settingsRetrieves all custom field settings associated with a specific team, returned in compact form. Use opt_fields to request additional field data beyond the default compact representation.
list_team_project_templatesRetrieves all project templates belonging to a specified team, returning compact template records. Useful for discovering reusable project structures available within a team.
list_workspace_custom_fieldsRetrieves a list of all custom fields defined in a given workspace or organization. Returns compact representations suitable for discovery and reference.
reject_access_requestRejects a pending access request for a target object, denying the requester permission to access the resource. Use this to explicitly decline access requests that should not be granted.
remove_custom_field_from_goalwrite actionRemoves a custom field setting from a specified goal, detaching the custom field and its associated data from the goal. Requires the goals:write scope.
remove_goal_followerswrite actionRemoves one or more followers (collaborators) from a specified goal. Returns the complete updated goal record reflecting the removed followers.
remove_goal_supporting_relationshipwrite actionRemoves a supporting relationship between a child resource and a parent goal, unlinking a goal, project, task, or portfolio that was previously set as a supporting resource.
remove_portfolio_custom_fieldwrite actionRemoves a custom field setting from a portfolio, detaching it so the field no longer appears or collects data for that portfolio. Requires portfolios:write scope.
remove_portfolio_itemwrite actionRemoves a specific item from a portfolio, unlinking it from the portfolio's collection. Returns an empty data block upon success.
remove_portfolio_memberswrite actionRemoves one or more users from the membership list of a specified portfolio. Returns the updated portfolio record reflecting the changes.
reorder_enum_optionRepositions a specific enum option within a custom field's ordered list by placing it before or after another existing enum option. Locked custom fields can only be reordered by the user who locked the field.
request_accesswrite actionSubmits an access request for a private project or portfolio, notifying the owner so they can grant or deny access.
set_goal_metricwrite actionCreates and attaches a progress metric to a specified goal, defining how goal completion is measured and tracked. If a metric already exists on the goal, it will be replaced entirely.
update_allocationwrite actionUpdates an existing allocation by replacing only the fields provided in the request body, leaving all unspecified fields unchanged. Returns the complete updated allocation record.
update_budgetwrite actionUpdates an existing budget by replacing only the fields provided in the request body, leaving all unspecified fields unchanged.
update_custom_fieldwrite actionUpdates an existing custom field by its unique identifier, applying only the fields provided in the request body while leaving unspecified fields unchanged. Note that a custom field's type cannot be changed, enum options must be managed separately, and locked fields can only be updated by the user who locked them.
update_enum_optionwrite actionUpdates an existing enum option on a custom field, allowing changes to its name, color, or enabled state. Locked custom fields can only be modified by the user who locked them, and at least one enabled enum option must remain on the field.
update_goalwrite actionUpdates an existing goal by replacing only the fields provided in the request body, leaving all other fields unchanged. Returns the complete updated goal record.
update_goal_metric_valuewrite actionUpdates the current numeric value of an existing goal metric, allowing progress tracking against a defined target. Requires the goal to already have a numeric metric configured; returns the complete updated goal metric record.
update_goal_relationshipwrite actionUpdates an existing goal relationship by replacing only the fields provided in the request body, leaving all other fields unchanged. Returns the complete updated goal relationship record.
update_membershipwrite actionUpdates an existing membership by replacing only the fields provided in the request body, leaving all other fields unchanged. Supports memberships on goals, projects, portfolios, custom types, and custom fields.
update_portfoliowrite actionUpdates an existing portfolio by replacing only the fields provided in the request body, leaving all other fields unchanged. Returns the complete updated portfolio record.
update_projectwrite actionUpdates an existing project by its unique identifier, applying only the fields provided in the request body while leaving unspecified fields unchanged. Returns the complete updated project record.
update_project_briefwrite actionUpdates an existing project brief by replacing only the fields provided in the request body, leaving all other fields unchanged. Returns the complete updated project brief record.
update_project_portfolio_settingwrite actionUpdates an existing project portfolio setting by replacing only the fields provided in the request body, leaving all other fields unchanged. Returns the complete updated project portfolio setting record.
upload_attachmentwrite actionUpload a file or link an external resource as an attachment to a task, project, or project brief in Asana. Supports direct file uploads (up to 100MB) or external URL attachments; multipart/form-data encoding is required for file uploads.
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan5 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 138 days ago8/15
- Maintainer identityregistry namespace matches repository owner7/10
How Asana compares
Against every graded Productivity MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 80/100
- higher than 53% of 1,299 Productivity servers
- Tools
- 100
- the typical Productivity server has 7
- Tools that change things
- 46%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 31
- more than 86% of 854 Productivity servers
- Downloads a week
- 154
- more than 66% of 427 Productivity servers with a package
What its tools let an agent do: 47 read · 20 create · 16 change · 17 delete
Install Asana in Claude Code, Cursor or VS Code
claude mcp add asana -- uvx mcparmory-asana
What the publisher says
From the Asana repository's README, as published. We do not edit it. Read it on GitHub
MCP Armory Registry
Production-ready MCP servers for popular APIs, generated by MCP Blacksmith.
Servers · Install & Usage · Features · How it works · License
MCP servers that connect AI agents to real-world APIs. Each server is a standalone Python package — generated from the upstream OpenAPI spec using MCP Blacksmith and tested against the live API before release. Hosted on MCP Armory or run independently.
<!-- SERVERS:BEGIN -->
Servers
🧠 AI & Machine Learning   ElevenLabs · Linkup · Parallel · Perplexity AI · Ragie · Replicate
📊 Analytics   Ahrefs · Datadog · Google Analytics · Google Search Console · Linkly · Mixpanel · PostHog
⛓️ Blockchain & Crypto   Alchemy NFT
💼 CRM & Sales   Apollo
💬 Communication   Atlassian Confluence · Google Gmail · MailerSend · Mailtrap · Postmark · Resend · Slack
🗄️ Data & Databases   Enigma · Pinecone
🛠️ Developer Tools   AgentQL · Apify · Bitbucket · Bright Data · Browserbase · BuiltWith · Canvas · CircleCI · Codacy · Contentful Management · ConvertAPI · E2B · Firecrawl · GitHub · GitLab · LaunchDarkly · Postman · Scrapingant · Semrush AppCenter · Sentry
📄 Documents & Printing   PDF.co
🛒 E-commerce   Shopify Admin
💰 Finance   Alpha Vantage · Polygon · Ramp
👥 HR & Recruiting   BambooHR
☁️ Infrastructure   Globalping · Grafana · PagerDuty · Rootly · Runpod
⚖️ Legal & Compliance   NetLicensing
🗺️ Maps & Location   Google Maps Platform · IP2Location.io IP Geolocation · OpenCage Geocoding
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Asana: common questions
- Is Asana MCP server safe?
- Mostly: it is graded B (80/100). Read the Asana safety report
- How do I install Asana?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Asana need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Asana maintained?
- The last commit was 176 days ago (2026-05-12). The latest release is v1.0.5.
- What can I use instead of Asana?
- Servers from other publishers that do the same job: Joxo MCP server, Orbit MCP server and Workfile MCP server.
- How does Asana compare with other Productivity MCP servers?
- safety score 80/100 (higher than 53% of 1,299 Productivity servers); tools 100 (the typical Productivity server has 7); tools that change things 46% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Asana
Same job from other publishers: the closest match first, then the best rated.
- JoxoOne shared project for a team's coding agents: decisions, a task board and handoffs.not reviewedGrowingA
OrbitTask management for people and AI agents, with scoped OAuth access to issues, projects, and docs.not reviewedGrowingA- WorkfileRepository-native protocol and local MCP server for Work, Docs, History and durable project Memory.not reviewedGrowingA