MCP server

Asana MCP Server: Setup, Tools and Auth

Checked 2026-10-31

Install

Claude Code
claude mcp add --transport http --client-id YOUR_CLIENT_ID --client-secret --callback-port 8080 asana https://mcp.asana.com/v2/mcp

Hosted endpoint: https://mcp.asana.com/v2/mcp

Commands come from the project's own docs or registry entry. Check them against the source before you run them.

Loading poll...

Asana runs its own hosted MCP server at https://mcp.asana.com/v2/mcp. An agent that connects can search tasks and projects, read status updates, create and update tasks in batches, comment and post project status updates. Sign-in is OAuth, and for coding agents you first register an MCP app and get a client ID and secret. We checked the docs on 31 October 2026.

Quick facts

Maintainer

Asana, hosted by Asana

Source

No public repository found. Documentation on developers.asana.com

License

Not applicable to a hosted service; governed by Asana's terms. The MCP guide states no separate MCP terms.

Server URL

https://mcp.asana.com/v2/mcp

Transport

Streamable HTTP

Auth

OAuth 2.0 with a registered client ID and client secret

Scopes

None. Authorizing a client grants all available tools

Scope of a session

One workspace, chosen at authorization

Older server

https://mcp.asana.com/sse (V1 beta), deprecated, listed shutdown date 05/11/2026

Related server

Command MCP server at https://mcp.asana.com/v2/command/mcp

Tool count

About 33 in the reference page: 20 read, 10 write and 3 interactive, by our count

Do not confuse this with community servers on GitHub. Asana's own page describes this one as "the official Asana MCP server". If you see a package called asana-mcp-server on npm, check who published it before you give it a token.

What it does

Asana says the server allows AI assistants "to access the Asana Work Graph". In practice you get natural-language access to the things you would click through: your tasks, projects, portfolios, goals, notifications and status reports. Asana's own example requests are good indicators of the intended use:

  • "Find all my incomplete tasks due this week"
  • "Create a new task in the Marketing project assigned to me"
  • "List all sections in the Product Launch project"
  • "Show me the status of the Q2 Planning project"

For a coding agent the most useful jobs are a little different. An agent finishing a feature can find the matching task, add a comment with the pull request link, mark it complete and post a status update. An agent planning a sprint can read a project and create tasks with subtasks and dependencies. Those need writes, so read the security section before you allow them.

The tools

Asana's reference page groups tools into read, write and interactive. It also warns that the list changes, and tells you to call tools/list in your client for current schemas. Treat the tables as a snapshot.

Read tools

Tool

What it does

search_objects

Search tasks, projects, templates, portfolios, goals, teams, users, tags, custom fields and AI Teammates by name

get_task

Task details: assignee, dates, custom fields, projects, dependencies, followers, sections

get_task_stories

Activity feed for one or several tasks, including comments and system events

get_tasks

List tasks by project, section, tag, user task list or workspace and assignee

get_my_tasks

Tasks assigned to the signed-in user

search_tasks

Advanced search across names, descriptions and comments, with many filters

get_notifications

Inbox notifications for the signed-in user

get_project, get_projects

Project details and lists, with task counts

get_portfolio, get_portfolios, get_items_for_portfolio

Portfolios and what they contain

get_status_overview

Aggregated status for projects or portfolios, found by keyword

get_attachments

Attachments for a task, project or project brief, with download URLs

get_user, get_me, get_users, get_teams

People and teams

get_agent, get_workspace_agents

AI Teammate agents configured in the workspace

Write tools

Tool

What it does

create_tasks

Create up to 50 tasks per call

update_tasks

Update up to 50 tasks per call: names, assignees, dates, completion, parents, dependencies

create_project

Create a project, optionally with sections and tasks

update_project

Change details, owner, privacy, archive status, sections and members

create_task_from_template, create_project_from_template

Start work from templates

add_comment

Add a task comment, with mentions and pinned comments

create_project_status_update

Post a status update with a color and text

update_notifications

Mark Inbox notifications read or unread

delete_task

Delete a task and subtasks not shared with another project

Interactive tools

create_task_preview, create_project_preview and search_tasks_preview show a draft or results in an interactive view, in clients that support interactive apps. Coding agents mostly will not. For clients that differ on features such as this, see MCP clients.

Batch behavior

Asana warns that task creation, task updates, project creation and project updates can partly succeed. Ask your agent to read the result and list failures before it retries, or it may repeat changes that already went through.

What it costs

We found no separate charge for MCP use on the pages we read. You pay for whatever Asana plan you already have. Two plan facts do show up:

  • Asana's Enterprise+ and Legacy Enterprise tiers can allow or block MCP clients through app management, per client for V2.
  • Other tiers have to ask Asana Support to block the beta V1 app, and the request must come from a super admin.

The MCP guide names no plan requirement. It says Enterprise+ and Legacy Enterprise customers can allow or block MCP clients through app management. The Command MCP server is different. It needs a Command license for each user, according to its docs.

Set it up

The V2 server does not support dynamic client registration, which is why a pre-registered app is needed. Asana's steps:

  1. Open the developer console at app.asana.com/0/my-apps.
  2. Create a new app and choose MCP app as the type.
  3. In the OAuth section, add the redirect URL your client needs. It must match exactly.
  4. In Manage distribution, allow the workspace where the app will run.
  5. Copy the client ID and client secret.
  6. Put them in environment variables, ASANA_CLIENT_ID and ASANA_CLIENT_SECRET, or in your client's secret store.

Redirect URLs by client, from Asana's guide:

Client

Redirect URL

Claude Code

http://localhost:8080/callback

Cursor

cursor://anysphere.cursor-mcp/oauth/callback

VS Code

http://127.0.0.1:33418/ (with trailing slash) and https://vscode.dev/redirect

Windsurf, Kiro, Codex

http://localhost:3334/oauth/callback

Asana advises a separate set of credentials per developer, regular rotation, never committing them, and a secrets manager for sensitive environments.

If you only use Claude or ChatGPT as an end user, you can skip all that. Asana has an app in each, with setup in its Help Center, and the developer page links to both.

Install it in each agent

Asana documents Claude Code, Cursor, VS Code, Codex, Windsurf and Kiro. Antigravity and OpenCode are not on its list, so those lines are our adaptation.

Claude Code

From Asana's guide:

claude mcp add --transport http \
  --client-id YOUR_CLIENT_ID \
  --client-secret \
  --callback-port 8080 \
  asana https://mcp.asana.com/v2/mcp

Claude Code then prompts for the secret, stores it in the system keychain and opens your browser to approve. Asana says it "strongly recommends" Claude Code because it supports pre-configured OAuth credentials natively, with no third-party helper. The config files hold only the URL, transport and client ID, not the secret.

Cursor

From Asana's guide, in Cursor's MCP settings:

{
  "mcpServers": {
    "asana": {
      "url": "https://mcp.asana.com/v2/mcp",
      "auth": {
        "CLIENT_ID": "${env:ASANA_CLIENT_ID}",
        "CLIENT_SECRET": "${env:ASANA_CLIENT_SECRET}"
      }
    }
  }
}

Then click Connect next to the server in settings to start OAuth.

Codex

Asana's route uses the community mcp-remote proxy. Create a credentials file such as ~/.asana/mcp_oauth_client.json with client_id and client_secret, restrict it with chmod 600, then add this to ~/.codex/config.toml, with an absolute path:

[mcp_servers.asana]
command = "npx"
args = [
  "-y", "mcp-remote@latest",
  "https://mcp.asana.com/v2/mcp", "3334",
  "--static-oauth-client-info",
  "@/Users/YOU/.asana/mcp_oauth_client.json",
  "--resource", "https://mcp.asana.com/v2"
]

Asana calls mcp-remote experimental and unsupported by Asana, and says to review its source yourself. Codex's own MCP docs now support pre-registered OAuth clients for HTTP servers (codex mcp add <name> --url <url> --oauth-client-id <id>, plus --oauth-client-secret for confidential clients), so you can try that route before the proxy.

VS Code

Run MCP: Add Server from the Command Palette, choose HTTP, enter the URL and a name, then supply the client ID and secret when VS Code says the server has no dynamic registration. Asana flags that the copied localhost redirect may lack its trailing slash, so check it.

Antigravity

Our adaptation. Antigravity reads ~/.gemini/config/mcp_config.json with an mcpServers key and uses serverUrl for Streamable HTTP. For servers without dynamic registration, Antigravity's docs let you add clientId and an optional clientSecret in an oauth object and register https://antigravity.google/oauth-callback as the redirect URI. We did not test that against Asana. Gemini CLI is now Code Assist enterprise only, so we skip it.

OpenCode

Our adaptation. OpenCode's mcp key accepts a remote entry with url and an oauth block, so a starting point is:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "asana": {
      "type": "remote",
      "url": "https://mcp.asana.com/v2/mcp",
      "oauth": {
        "clientId": "{env:ASANA_CLIENT_ID}",
        "clientSecret": "{env:ASANA_CLIENT_SECRET}"
      }
    }
  }
}

OpenCode's docs list clientId, clientSecret and scope as the oauth fields, and opencode mcp auth asana starts the browser sign-in. See MCP clients for how these agents differ.

The Command MCP server

Asana also runs a second server, https://mcp.asana.com/v2/command/mcp, for Command by Asana. It handles Teamspaces, tickets and releases: search, create and update tickets, add comments, manage blocking dependencies and read release status. Each user needs a Command license and access to the Teamspace. It uses the same MCP app route and OAuth. We only cover it briefly because it is a separate product.

Security notes

  • No scopes. Asana's reference states MCP apps do not use permission scopes. Authorizing a client requests full access to every tool, including delete_task. Your only fine-grained control is which workspace you pick and which apps your admin allows.
  • Prompt injection. Task names, descriptions and comments can be written by other people. A hostile comment could try to steer your agent. Do not run an agent with write tools over untrusted projects without confirmation prompts.
  • Deletes. Turn on approval prompts for delete_task and for batch updates in your agent's settings.
  • Secrets. Keep the client secret in a keychain or secrets manager. Never commit it. Asana's guide says the same.
  • Proxy risk. mcp-remote sits between your agent and Asana and handles tokens. Asana says it cannot support it.
  • Workspace scope. One session is tied to one workspace. To work in another, authorize again.
  • MCP tokens are MCP only. They do not work with the Asana REST API.
  • Admin control. Enterprise+ admins can block individual clients through app management.

Limits and known issues

  • Clients without OAuth pre-registration, such as Replit and JetBrains at the time of Asana's note, cannot use V2 yet and rely on V1 until it shuts down.
  • The V1 beta server at /sse is deprecated. Asana writes the shutdown date as 05/11/2026 and does not say whether that is 5 November or 11 May, so check Asana's note before you rely on V1.
  • The tool list changes. Use tools/list.
  • Batch calls can partly succeed.
  • "Client not found" errors: Asana suggests removing and re-adding the integration, or testing the V1 URL.
  • Asana's MCP guide does not state rate limits for MCP calls.

Alternatives

Option

Fits when

Notes

This server

You use Asana and want an official, hosted route

OAuth app needed for coding agents

Linear MCP

Your team uses Linear

Similar workflow, different product

Atlassian Jira MCP

Your team uses Jira

Official remote server

Notion MCP

You track work in Notion

Pages and databases

Airtable MCP

Your tracker is an Airtable base

Database-style records

Slack MCP

Discussion lives in Slack

Complements Asana

Which agents it suits

Claude Code is the cleanest fit, because Asana designed the instructions around its native OAuth pre-registration. Cursor and VS Code also have native routes. Codex, Windsurf and Kiro go through mcp-remote in Asana's guide. Chat clients like Claude and ChatGPT have first-party Asana apps that skip the setup.

Our take

The official server is a sensible choice if Asana is your tracker. The tool set covers what an agent needs, and batch create and update with 50 tasks per call keeps the number of calls low. The weakness is access control. With no scopes, a connected agent can do anything you can, and Asana's own docs say so.

Setup is heavier than most hosted servers, because V2 needs a pre-registered app. That is a trade for better security and admin control, and Asana explains the reason. Expect ten minutes of console work the first time, and a rough edge or two on clients that rely on mcp-remote.

Our advice: start with Claude Code or Cursor, ask for read-only jobs first, and set your agent to ask before every write. This is our reading of the documentation, not a hands-on test.

A short setup checklist

  1. Check app management in your workspace does not block the client.
  2. Create an MCP app in the developer console and allow your workspace.
  3. Add the exact redirect URL for your client.
  4. Store the client ID and secret outside any repository.
  5. Add the server with the command or config for your agent.
  6. Authorize in the browser and ask for your tasks due this week.
  7. Set approval prompts for writes and deletes.
  8. Call tools/list to see what your version exposes.

More options are in the MCP server list and best MCP servers.

Frequently asked questions

What is the Asana MCP server URL?

https://mcp.asana.com/v2/mcp. The older beta at /sse is deprecated.

Is the Asana MCP server open source?

We found no public repository. Asana hosts it.

Do I need to create an Asana app?

For most coding agents, yes. V2 needs a pre-registered OAuth client ID and secret.

Can the agent delete tasks?

Yes, through delete_task. MCP apps have no permission scopes, so an authorized client gets all tools.

Can I use the MCP token with the Asana REST API?

No. MCP tokens work only with the MCP server.

Questions

What is the Asana MCP server URL?

The current server is https://mcp.asana.com/v2/mcp. The older beta server at https://mcp.asana.com/sse is deprecated.

Is the Asana MCP server open source?

We found no public source repository. Asana hosts it and documents it on its developer site.

Do I need to create an Asana app?

For most coding agents, yes. V2 needs OAuth with a pre-registered client ID and secret, which you get by creating an MCP app in the Asana developer console.

Can the agent delete tasks?

Yes. The tool list includes delete_task, and MCP apps do not use permission scopes, so an authorized client gets all tools.

Can I use the MCP token with the Asana REST API?

No. Tokens issued for MCP apps work only with the MCP server.

Loading poll...

Reviews

Loading reviews…

Write a review

Your rating

Up to 1000 characters. Stars alone are enough.

Sources

  1. developers.asana.com/docs/using-asanas-mcp-server
  2. developers.asana.com/docs/connecting-mcp-clients-to-asanas-v2-server
  3. developers.asana.com/docs/mcp-tools-reference
  4. developers.asana.com/docs/using-asanas-command-mcp-server
  5. code.claude.com/docs/en/mcp
  6. antigravity.google/docs/mcp
  7. opencode.ai/docs/mcp-servers

Similar

  • browser-use MCP

    Browser Use is an open-source Python library for AI browser agents, and our entry covers its MCP route.

    • MCP server
    • Official

    browser-use · 119,597 stars

  • Scrapling MCP Server

    Scrapling is a Python web scraping framework from D4Vinci, described on GitHub as handling everything from a single request to a full-scale crawl, and this entry is its MCP server.

    • MCP server

    D4Vinci · 90,477 stars

  • Netdata MCP

    Netdata is an observability platform, and this entry is its hosted MCP endpoint at app.netdata.cloud, reached over streamable HTTP.

    • MCP server

    netdata · 81,227 stars

  • claude-flow MCP

    Claude Flow is published on npm as claude-flow, and its repository now sits at ruvnet/ruflo, which the GitHub description calls the original agent harness for deploying multi-agent swarms and coordinating autonomous workflows.

    • MCP server

    ruvnet · 80,298 stars

  • Context7 MCP

    Context7 is an MCP server from Upstash that serves up-to-date library documentation to coding agents, so the model reads current docs instead of guessing from training data.

    • MCP server

    upstash · 63,974 stars

  • Chrome DevTools MCP

    MCP server published on npm as chrome-devtools-mcp. Transports: stdio. Maintained in ChromeDevTools/chrome-devtools-mcp.

    • MCP server

    ChromeDevTools · 54,503 stars

Part of the Wbcom Designs family

The all-in-one WordPress community stack

Also ours: wbcomdesigns.comvapvarun.combrndle.com