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.
Trust verdict
How grades are computed →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
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.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.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.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.
shellclaude mcp add --transport http \ --client-id YOUR_CLIENT_ID \ --client-secret \ --callback-port 8080 \ asana https://mcp.asana.com/v2/mcp4.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.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.
shellclaude 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_objectsUniversal 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_tasksTasks assigned to the authenticated user. The shortcut for "what is on my plate", filterable by completion.
get_tasksFiltered 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_tasksFull-text search across names, descriptions and comments with complex filters. Premium accounts only.
get_status_overviewAggregated 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_tasksCreate or update up to 50 tasks in one call, with assignee, dates, description, dependencies, project membership and custom fields.
delete_taskPermanently deletes a task and its subtasks that are not in another project. Cannot be undone, and no scope prevents it.
create_project_status_updatePosts 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_previewInteractive. 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_agentLists 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.
Every command, environment variable, and endpoint above was read from the project’s own documentation on 2026-08-15: Asana developer docs — Using Asana's MCP Server, Asana developer docs — Connecting Coding Clients to the V2 server, Asana developer docs — MCP Tools Reference, roychri/mcp-server-asana README.
Categories
Frequently Asked Questions
Does the Asana MCP server have permission scopes?
Why does Asana search return nothing on my workspace?
Which Asana MCP endpoint and redirect URL do I use?
Do I need mcp-remote to connect?
How do I stop an agent writing to Asana?
Why can it not find my goals?
I am prompted to ask an admin to unblock the app.
What is Asana MCP Server?
Who built Asana MCP Server?
Is Asana MCP Server free?
How do I install Asana MCP Server?
What does Asana MCP Server integrate with?
Related Guides
Best MCP Servers for Productivity: Notes, Tasks & Collaboration in 2026
7 min read • Guides
Best MCP Servers for Project Management in 2026
7 min read • Guides
Best MCP Servers for Product Managers in 2026
7 min read • Guides
Notion MCP Server Setup Guide: Connect Notion to Claude, Cursor & More
7 min read • Setup Guides
Best MCP Servers for Legal Teams in 2026
7 min read • Guides
Live Status
- Latency
- 610 ms
OAuth-gated (HTTP 401): SSE error: Non-200 status code (401)
Quick Info
- Install Type
- npm
- Author
- roychri
- Categories
- 1
- Integrations
- 5
Related Servers
Time
Time and timezone conversion capabilities for AI assistants.
21st.dev Magic
Create crafted UI components inspired by the best 21st.dev design engineers.
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.
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.
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.
Sponsored
Gamma
Free PlanAI-native presentation and document builder. Instantly transform your agent's content into shareable slides, docs, or webpages.
Try Gamma free →