MCP.Market

Asana MCP server

by mcparmory.com·com.mcparmory/asana·v1.0.5·31 stars

Manage tasks, projects, portfolios, and team workflows

B80/100grade B
What users say
No reviews yet
Be the first
Safety scan
B80/100

full report

Adoption
Growing

31 stars154 downloads/wk

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • add_custom_field_to_goal

    Associates 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_portfolio

    Associates 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_followers

    Adds one or more followers (collaborators) to a specified goal. Returns the complete updated goal record reflecting the new followers.

  • add_goal_supporting_relationship

    Links 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_item

    Adds 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_members

    Adds 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_request

    Approves 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 action

    Creates a new allocation and returns the full record of the newly created allocation.

  • create_budgetwrite action

    Creates 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 action

    Creates 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 action

    Creates 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 action

    Creates a new goal within a specified workspace or team. Returns the full record of the newly created goal.

  • create_membershipwrite action

    Creates 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 action

    Initiates an export request for an entire Asana organization. Asana processes and completes the export asynchronously after the request is submitted.

  • create_portfoliowrite action

    Creates 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 action

    Creates 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 action

    Creates 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 action

    Instantiates 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 action

    Creates 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 action

    Initiates 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 action

    Permanently deletes an existing allocation by its unique identifier. Returns an empty data record upon successful deletion.

  • delete_attachmentwrite action

    Permanently deletes a specific attachment by its unique identifier. Returns an empty data record upon successful deletion.

  • delete_budgetwrite action

    Permanently deletes an existing budget by its unique identifier. Returns an empty data record upon successful deletion.

  • delete_custom_fieldwrite action

    Permanently 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 action

    Permanently deletes an existing goal by its unique identifier. Returns an empty data record upon successful deletion.

  • delete_membershipwrite action

    Permanently removes an existing membership from a goal, project, portfolio, custom type, or custom field. Returns an empty data record upon successful deletion.

  • delete_portfoliowrite action

    Permanently deletes an existing portfolio by its unique identifier. Returns an empty data record upon successful deletion.

  • delete_projectwrite action

    Permanently deletes an existing project by its unique identifier. This action is irreversible and returns an empty data record upon success.

  • delete_project_briefwrite action

    Permanently deletes an existing project brief by its unique identifier. Returns an empty data record upon successful deletion.

  • delete_project_statuswrite action

    Permanently 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 action

    Permanently deletes an existing project template by its unique identifier. This action is irreversible and returns an empty data record upon success.

  • duplicate_portfoliowrite action

    Creates 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_graph

    Initiates 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_allocation

    Retrieves 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_attachment

    Retrieves the full record for a single attachment, including its metadata and download URL. Requires the attachments:read scope.

  • get_budget

    Retrieves 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_field

    Retrieves the complete metadata definition for a specific custom field, including type-specific properties such as enum options, validation rules, and display settings.

  • get_custom_type

    Retrieves 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_goal

    Retrieves 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_relationship

    Retrieves 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_job

    Retrieves 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_membership

    Retrieves 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_export

    Retrieves 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_portfolio

    Retrieves the complete record for a single portfolio, including all associated metadata. Requires the portfolios:read scope.

  • get_portfolio_membership

    Retrieves the complete details of a single portfolio membership record. Use this to inspect a specific user's membership relationship within a portfolio.

  • get_project

    Retrieves 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_brief

    Retrieves the full record for a specific project brief, including its title, description, and associated project details.

  • get_project_membership

    Retrieves the complete details of a single project membership record, including the member's role and access level within the project.

  • get_project_portfolio_setting

    Retrieves the complete record for a single project portfolio setting. Requires the `project_portfolio_settings:read` scope.

  • get_project_status

    Retrieves 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_template

    Retrieves the complete record for a single project template, including all its configuration and metadata. Requires the project_templates:read scope.

  • list_access_requests

    Retrieves 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_allocations

    Retrieves a list of allocations, optionally filtered by project, assignee, or workspace. Useful for reviewing how resources are distributed across tasks and team members.

  • list_attachments

    Retrieves 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_events

    Retrieve 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_budgets

    Retrieves all budgets associated with a given parent object. Returns at most one budget per parent, which must be a project.

  • list_custom_types

    Retrieves all custom types associated with a specified project. Use `opt_fields` to request additional fields beyond the default compact representation.

  • list_goal_custom_field_settings

    Retrieves 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_relationships

    Retrieves compact goal relationship records for a specified supported goal, allowing you to explore how goals are connected within your workspace.

  • list_goals

    Retrieves a list of compact goal records, optionally filtered by workspace, team, portfolio, project, task, or time period. Requires the goals:read scope.

  • list_memberships

    Retrieves 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_goals

    Retrieves 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_settings

    Retrieves all custom field settings configured on a specific portfolio, returned in compact form. Requires the portfolios:read scope.

  • list_portfolio_items

    Retrieves 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_memberships

    Retrieves 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_portfolio

    Retrieves all membership records for a specified portfolio, returning compact representations of each member. Optionally filter results by a specific user.

  • list_portfolios

    Retrieves 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_settings

    Retrieves 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_memberships

    Retrieves 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_settings

    Retrieves all project portfolio settings associated with a specific project, returned as a compact representation. Requires the project_portfolio_settings:read scope.

  • list_project_statuses

    Retrieves 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_templates

    Retrieves compact records for all project templates available in a given team or workspace. Requires the project_templates:read scope.

  • list_projects

    Retrieves 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_events

    Retrieves 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_settings

    Retrieves 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_templates

    Retrieves 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_fields

    Retrieves a list of all custom fields defined in a given workspace or organization. Returns compact representations suitable for discovery and reference.

  • reject_access_request

    Rejects 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 action

    Removes 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 action

    Removes one or more followers (collaborators) from a specified goal. Returns the complete updated goal record reflecting the removed followers.

  • remove_goal_supporting_relationshipwrite action

    Removes 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 action

    Removes 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 action

    Removes a specific item from a portfolio, unlinking it from the portfolio's collection. Returns an empty data block upon success.

  • remove_portfolio_memberswrite action

    Removes one or more users from the membership list of a specified portfolio. Returns the updated portfolio record reflecting the changes.

  • reorder_enum_option

    Repositions 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 action

    Submits an access request for a private project or portfolio, notifying the owner so they can grant or deny access.

  • set_goal_metricwrite action

    Creates 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 action

    Updates 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 action

    Updates an existing budget by replacing only the fields provided in the request body, leaving all unspecified fields unchanged.

  • update_custom_fieldwrite action

    Updates 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 action

    Updates 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 action

    Updates 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 action

    Updates 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 action

    Updates 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 action

    Updates 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 action

    Updates 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 action

    Updates 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 action

    Updates 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 action

    Updates 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 action

    Upload 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

no findings
  • 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
Overall 80/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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 &ensp; ElevenLabs · Linkup · Parallel · Perplexity AI · Ragie · Replicate

📊 Analytics &ensp; Ahrefs · Datadog · Google Analytics · Google Search Console · Linkly · Mixpanel · PostHog

⛓️ Blockchain & Crypto &ensp; Alchemy NFT

💼 CRM & Sales &ensp; Apollo

💬 Communication &ensp; Atlassian Confluence · Google Gmail · MailerSend · Mailtrap · Postmark · Resend · Slack

🗄️ Data & Databases &ensp; Enigma · Pinecone

🛠️ Developer Tools &ensp; 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 &ensp; PDF.co

🛒 E-commerce &ensp; Shopify Admin

💰 Finance &ensp; Alpha Vantage · Polygon · Ramp

👥 HR & Recruiting &ensp; BambooHR

☁️ Infrastructure &ensp; Globalping · Grafana · PagerDuty · Rootly · Runpod

⚖️ Legal & Compliance &ensp; NetLicensing

🗺️ Maps & Location &ensp; 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.

  • Joxo
    One shared project for a team's coding agents: decisions, a task board and handoffs.
    A
  • Orbit
    Task management for people and AI agents, with scoped OAuth access to issues, projects, and docs.
    A
  • Workfile
    Repository-native protocol and local MCP server for Work, Docs, History and durable project Memory.
    A

More from mcparmory.com →