📋

Asana MCP Server

Updated June 2026Trust grade A92/100

Asana ships an official MCP server, and it is a hosted remote one: the V2 endpoint at https://mcp.asana.com/v2/mcp, documented in Asana's own developer docs. Built by roychri, it is community-built and best for Productivity.

by roychri

About

Asana ships an official MCP server, and it is a hosted remote one: the V2 endpoint at https://mcp.asana.com/v2/mcp, documented in Asana's own developer docs. There is nothing to install, but there is something to create — V2 requires OAuth 2.0 against a client ID and secret you register yourself at app.asana.com/0/my-apps, with a redirect URL that matches your client exactly (http://localhost:8080/callback for Claude Code, cursor://anysphere.cursor-mcp/oauth/callback for Cursor, http://localhost:3334/oauth/callback for most others). MCP apps in Asana do not use permission scopes: authorising grants the full tool set, and what it can actually reach is bounded only by what your Asana account can already see. Read tools include search_objects, get_task, get_tasks, get_my_tasks, get_project, get_portfolio, get_status_overview and get_workspace_agents; write tools include create_tasks and update_tasks (up to 50 per call), create_project, delete_task, add_comment and create_project_status_update; Claude and ChatGPT additionally get interactive preview tools that show a confirmation UI before committing. One documented plan limit matters: search_tasks is Premium-only, and non-Premium workspaces must use get_tasks instead. The community alternative, roychri/mcp-server-asana (npm @roychri/mcp-server-asana), runs locally on a personal access token and is the option to pick when you want READ_ONLY_MODE=true, which the official server has no equivalent of.

A
Reliable92/100
high confidence · 3 measured signals

Grade A (92/100, reliable) from 3 measured signals, based on live MCP handshakes.

What was measured

  • Live MCP handshake85/100 · weight 30

    Answered with an OAuth/Bearer challenge — the endpoint is alive and speaking MCP, it just requires credentials before it will list tools. (610 ms handshake)

  • Measured uptime100/100 · weight 20

    Answered 199 of 200 recorded checks (99.5%). A check counts as answered when the server completed the MCP handshake in any form, including an auth challenge.

  • Tool-schema stability100/100 · weight 15

    No tool-schema or protocol-version drift across 200 recorded checks. Tools an agent bound to last week are still the tools it will find today.

  • Source verification100/100 · weight 25

    The repository URL was confirmed to resolve against the live GitHub API and is not archived.

  • Provenance65/100 · weight 10

    Community-built. That is not a mark against it — most of the ecosystem is community-built — but there is no vendor accountable for keeping it working.

  • Listing ↔ repository match100/100 · weight 5

    The listing name lines up with the linked repository roychri/mcp-server-asana.

What could not be measured

These contributed nothing to the score — not a penalty, not a zero. They are why the confidence reads the way it does.

  • Repository maintenanceunknown

    No repository-freshness reading has been collected for this server yet.

Installation

npm / npx
npx -y @roychri/mcp-server-asana

@roychri/mcp-server-asana confirmed live on the npm registry — checked August 17, 2026.

Asana ships an official MCP server and it is hosted, at https://mcp.asana.com/v2/mcp — so there is nothing to install, and one thing to create. V2 will not accept a generic OAuth client: you register your own app at app.asana.com/0/my-apps, get a client ID and secret, and set a redirect URL that matches your client exactly. The other fact worth reading before you connect it is that MCP apps in Asana do not use permission scopes at all. Authorising grants the full tool set, including deletes, and the only thing bounding it is what your own Asana account can already see.

Connecting to the Asana V2 MCP server

  1. 1.Create an Asana MCP app

    Go to app.asana.com/0/my-apps and create an app. You get a client ID and a client secret. Asana recommends unique credentials per developer rather than a shared pair, and warns against committing them — the secret is a long-lived credential for your whole work graph.

  2. 2.Set the redirect URL to match your client exactly

    This is the step that fails. Each client has its own callback and Asana requires an exact match: Claude Code is http://localhost:8080/callback, Cursor is cursor://anysphere.cursor-mcp/oauth/callback, VS Code needs both http://127.0.0.1:33418/ and https://vscode.dev/redirect, and most others — Windsurf, Kiro, Codex — use http://localhost:3334/oauth/callback.

  3. 3.Add the server (Claude Code)

    Claude Code supports pre-registered OAuth credentials natively, which is why Asana recommends it over the mcp-remote bridge. Run the command, then paste the client secret at the prompt — it is hidden as you type and stored in your system keychain, not in ~/.claude.json.

    shell
    claude mcp add --transport http \
      --client-id YOUR_CLIENT_ID \
      --client-secret \
      --callback-port 8080 \
      asana https://mcp.asana.com/v2/mcp
  4. 4.Authorise in the browser

    The command opens a browser, you sign in to Asana, review the request and allow access. If your workspace blocks the app under Asana app management, you will instead be prompted to send an unblock request to an admin — that is a workspace policy, not a setup error.

  5. 5.Prefer the community server if you need read-only

    The official server has no read-only mode. roychri/mcp-server-asana does: a local npm server on a personal access token from app.asana.com/0/my-apps, with READ_ONLY_MODE=true disabling every create, update and delete tool as well as the create-task prompt.

    shell
    claude mcp add asana -e ASANA_ACCESS_TOKEN=<TOKEN> -- npx -y @roychri/mcp-server-asana

What the V2 server exposes

Asana states this list changes over time and to run tools/list for current schemas. Read tools return data; write tools change it; interactive tools render a confirmation UI and exist only in Claude and ChatGPT.

search_objects

Universal search across tasks, projects, portfolios, goals, teams, users, tags, custom fields and AI Teammates. The first call when you do not know a GID — and the only way to find goals, since V2 has no dedicated goals tool.

get_my_tasks

Tasks assigned to the authenticated user. The shortcut for "what is on my plate", filterable by completion.

get_tasks

Filtered task list by project, section, tag, user task list or assignee. Requires at least one filter — and it is the fallback for workspaces where search_tasks is unavailable.

search_tasks

Full-text search across names, descriptions and comments with complex filters. Premium accounts only.

get_status_overview

Aggregated status report across projects or portfolios, including status updates and flagged blockers. It searches internally, so do not chain a search tool before it.

create_tasks / update_tasks

Create or update up to 50 tasks in one call, with assignee, dates, description, dependencies, project membership and custom fields.

delete_task

Permanently deletes a task and its subtasks that are not in another project. Cannot be undone, and no scope prevents it.

create_project_status_update

Posts a status update to a project or portfolio. Needs a title, body and a colour: green, yellow, red, blue or complete.

create_task_preview / create_project_preview / search_tasks_preview

Interactive. Draft the change and show it for review before committing. Claude and ChatGPT only — every other client goes straight to the write tools.

get_workspace_agents / get_agent

Lists and describes AI Teammates in the workspace. search_objects with resource_type: actor covers humans and agents together.

What people use it for

A status report that reads the blockers, not just the task list

Give me a status overview of the Q3 Rebrand initiative, including any flagged blockers.

get_status_overview aggregates project details, current status updates and blockers in one call and does its own searching — a prompt that chains search first usually gets a worse answer.

Bulk-create a project plan from a document

Create a project for the Q4 launch with Backlog, In Progress and Done sections, and add these twelve tasks with the owners and dates listed above.

create_project takes sections and tasks in a single operation, and create_tasks handles 50 at a time. In Claude or ChatGPT, ask for the preview first and you get a confirmation UI before anything is written.

Find work by what it is, not by where it lives

Find every incomplete task across the workspace tagged "security" that is blocking something else.

search_tasks carries is_blocking and tag filters — on Premium. On a non-Premium workspace this has to be reframed as get_tasks against specific projects, which is the most common way an Asana MCP session quietly under-answers.

Which one should you use?

Official versus community here is a straight trade between coverage and restraint.

roychri/mcp-server-asana

When you want a read-only guarantee, a personal access token instead of a registered OAuth app, or a local process. 146 stars, MIT, npm 1.8.0. It also ships MCP prompts — task-summary, task-completeness, create-task — which the hosted server has no equivalent of.

Linear MCP

The closest comparison in this catalog, and the instructive one: Linear is also first-party and hosted, but exposes a dedicated /mcp/readonly endpoint and a read OAuth scope. Same shape of product, opposite answer on scoping.

Jira MCP

If the tracker is Atlassian. One connection there covers Jira, Confluence, Bitbucket and Compass, and admin consent is a real gate rather than an occasional app-management block.

Frequently Asked Questions

Does the Asana MCP server have permission scopes?
No. Asana documents this directly: MCP apps do not use permission scopes, and authorising a client requests full access to all available tools. The only boundary is your own account — a tool cannot reach a project, task or portfolio you could not already open in Asana. That includes delete_task, which is permanent and has no separate consent.
Why does Asana search return nothing on my workspace?
search_tasks is a Premium feature. On a non-Premium workspace it is unavailable and get_tasks is the documented substitute, which means filtering by project, section, tag, user task list or assignee instead of by free text. A model that reaches for search_tasks first will look like it found nothing rather than like it hit a plan limit.
Which Asana MCP endpoint and redirect URL do I use?
The endpoint is https://mcp.asana.com/v2/mcp. The redirect URL depends on the client and must match exactly on both sides: http://localhost:8080/callback for Claude Code, cursor://anysphere.cursor-mcp/oauth/callback for Cursor, both http://127.0.0.1:33418/ and https://vscode.dev/redirect for VS Code, and http://localhost:3334/oauth/callback for Windsurf, Kiro and Codex.
Do I need mcp-remote to connect?
Most clients do, because V2 is an HTTP server behind OAuth. Asana strongly recommends Claude Code specifically because it supports pre-configured OAuth credentials natively and skips the bridge — and its own docs tell you to review the mcp-remote source yourself and accept responsibility if you use it.
How do I stop an agent writing to Asana?
Not on the official server — there is no read-only mode and no scope to withhold. Use roychri/mcp-server-asana with READ_ONLY_MODE=true, which disables every create, update and delete tool plus the create-task prompt. In Claude or ChatGPT the interactive preview tools are a weaker version of the same idea: a confirmation step, not a guarantee.
Why can it not find my goals?
V2 has no dedicated goals tool. Goals are reachable through search_objects with resource_type: goal. The same tool covers portfolios, teams, tags, custom fields and AI Teammates, and resource_type: actor searches humans and agents together.
I am prompted to ask an admin to unblock the app.
Your workspace blocks the client, or the Asana MCP app, under Asana app management. That is a domain policy rather than a misconfiguration, and the prompt sends the request for you. Until an admin clears it, authorisation cannot complete.
What is Asana MCP Server?
Asana is an MCP server built by roychri. Asana ships an official MCP server, and it is a hosted remote one: the V2 endpoint at https://mcp.asana.com/v2/mcp, documented in Asana's own developer docs. There is nothing to install, but there is something to create — V2 requires OAuth 2.0 against a client ID and secret you register yourself at app.asana.com/0/my-apps, with a redirect URL that matches your client exactly (http://localhost:8080/callback for Claude Code, cursor://anysphere.cursor-mcp/oauth/callback for Cursor, http://localhost:3334/oauth/callback for most others). MCP apps in Asana do not use permission scopes: authorising grants the full tool set, and what it can actually reach is bounded only by what your Asana account can already see. Read tools include search_objects, get_task, get_tasks, get_my_tasks, get_project, get_portfolio, get_status_overview and get_workspace_agents; write tools include create_tasks and update_tasks (up to 50 per call), create_project, delete_task, add_comment and create_project_status_update; Claude and ChatGPT additionally get interactive preview tools that show a confirmation UI before committing. One documented plan limit matters: search_tasks is Premium-only, and non-Premium workspaces must use get_tasks instead. The community alternative, roychri/mcp-server-asana (npm @roychri/mcp-server-asana), runs locally on a personal access token and is the option to pick when you want READ_ONLY_MODE=true, which the official server has no equivalent of.
Who built Asana MCP Server?
Asana MCP Server was built by roychri.
Is Asana MCP Server free?
Yes, Asana MCP Server has a free option. The MCP server is free and open-source. Asana: Personal (free, up to 10 users). Starter: $10.99/user/mo. Advanced: $24.99/user/mo. Enterprise: Custom.
How do I install Asana MCP Server?
Install Asana MCP Server with npm: npx -y @roychri/mcp-server-asana
What does Asana MCP Server integrate with?
Asana MCP Server integrates with Claude Desktop, Cursor, VS Code, Windsurf, Cline.

Live Status

Auth requiredChecked 1m ago
Latency
610 ms

OAuth-gated (HTTP 401): SSE error: Non-200 status code (401)

Uptime 0% over the last 30 checksRecent uptime

Quick Info

Install Type
npm
Author
roychri
Categories
1
Integrations
5

Related Servers

📋

Time

Time and timezone conversion capabilities for AI assistants.

Local
💻

21st.dev Magic

Create crafted UI components inspired by the best 21st.dev design engineers.

Local
📋

Notion MCP Server

The Notion MCP Server is the official integration from Notion that connects AI assistants directly to your Notion workspace via the Notion REST API. With 4,580+ GitHub stars, it is the canonical MCP tool for bringing Notion's knowledge management capabilities into Claude Desktop, Cursor, Windsurf, and any MCP-compatible client. The server exposes a rich set of tools: search your entire workspace by keyword and return matching pages and databases; retrieve full page content and block trees; create new pages inside any parent page or workspace section; update, append, or delete block content on existing pages; list all databases your integration has access to; query database entries with filter and sort parameters; retrieve individual blocks or nested children by block ID; and add comments to pages. Authentication uses a Notion integration token — create an internal integration at notion.so/my-integrations, share specific pages or databases with it, and set NOTION_TOKEN in your environment (the older OPENAPI_MCP_HEADERS form still works). Install with a single npx command. The Notion MCP Server is especially powerful for AI workflows that span documentation retrieval, project planning, and knowledge capture — Claude can read product specs from Notion, draft new pages from conversation output, log structured data into databases, and search across thousands of notes without any manual copy-paste.

Auth required📘
📋

Linear MCP Server

The Linear MCP server connects your AI assistant directly to Linear's project management platform via an officially hosted remote endpoint at mcp.linear.app — no local installation required. This is Linear's own first-party server, authenticated with OAuth 2.1 and centrally managed so you always run the latest version without updates. Available tools let you search issues by keyword, team, cycle, or filter; create new issues with title, description, and assignee; update status, priority, labels, and comments; and navigate Linear's project and cycle structure. In Claude Code, add it with: `claude mcp add --transport http linear-server https://mcp.linear.app/mcp`, then run /mcp to complete the OAuth flow. For older clients, use the mcp-remote bridge for backwards compatibility. Claude Desktop and Claude.ai users can connect via Settings > Connectors. Cursor and Codex have native support via their MCP config. Linear is used by thousands of engineering and product teams to plan, track, and ship software — the Linear MCP server brings that data into every AI-powered workflow without copy-paste or context-switching.

Auth required📘
🌐

HubSpot MCP Server

The HubSpot MCP Server is HubSpot's hosted, official Model Context Protocol endpoint for Smart CRM data, reachable at https://mcp.hubspot.com and authorised with OAuth 2.0 — there is no package to install and no token to paste into a config file. Access is scoped by a HubSpot user-level app: you create one with read (and optionally write) scopes for the CRM objects you want an assistant to reach, then complete the OAuth flow from inside your client. Read and write coverage spans contacts, companies, deals, tickets, carts, products, orders, line items, invoices, quotes, subscriptions and lists, plus engagements — calls, emails, meetings, notes and tasks — and the associations between them. Organisational context (users, teams, reporting structures, owners, roles, seats) and marketing content (campaigns and their metrics, landing pages, website pages, blog posts) are read-only. Custom Sensitive Data Properties and Personal Health Information are excluded regardless of scopes. Two other things share the name and are commonly confused with this one: the Developer MCP server, installed locally with `hs mcp setup` from the HubSpot CLI and aimed at building HubSpot apps rather than querying CRM records, which requires Developer Platform v2025.2; and the original May 2025 public beta, an npm package configured with a private-app access token, which is what most third-party setup guides still describe. The server remains in beta and HubSpot advises experimenting in a developer sandbox and reviewing every write confirmation, since an LLM will occasionally propose a change to a system of record that it should not.

Auth required📘

Sponsored

Gamma

Free Plan

AI-native presentation and document builder. Instantly transform your agent's content into shareable slides, docs, or webpages.

Try Gamma free →