Bryan Thompson 088bee4070
Migrate Asana plugin to V2 MCP server (#4895)
* Migrate Asana plugin to V2 MCP server

The V1 beta server (https://mcp.asana.com/sse) is deprecated and shuts down
on 2026-08-05. Asana's V2 server (https://mcp.asana.com/v2/mcp) requires each
user to register their own Asana OAuth app and does not support Dynamic Client
Registration. A plugin manifest cannot carry per-user OAuth credentials, so the
bundled MCP server entry is removed in favor of a documented one-time
`claude mcp add` setup (per Asana's official Claude Code instructions).

- Remove dead V1 sse .mcp.json
- Add README with V2 OAuth setup + troubleshooting
- Add /asana-setup slash command to guide the one-time setup
- Update plugin + marketplace descriptions to reference V2

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* plugin-dev: stop using deprecated Asana V1 SSE endpoint in examples

The Asana V1 SSE server (https://mcp.asana.com/sse) is deprecated and shuts
down on 2026-08-05, and Asana V2 is streamable HTTP with manual OAuth — not
SSE with automatic (DCR) OAuth. Replace the Asana SSE examples in the
mcp-integration skill with neutral placeholders so the tutorial no longer
teaches a dead endpoint or implies Asana is a zero-config SSE/OAuth server.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Greg Dardis <86272347+greg-dardis@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-06 13:50:27 -07:00

3.2 KiB

Asana

Asana is a work management platform for tasks, projects, and goals. This plugin connects Claude Code to Asana's V2 MCP server so you can create and manage tasks, search projects, update assignments, and track progress directly from your terminal.

Migrating from V1? The V1 beta server (https://mcp.asana.com/sse) is deprecated and shuts down on Wed 5 Aug 2026. The V2 server requires each user to bring their own Asana OAuth app — Dynamic Client Registration is not supported on V2, so there is no zero-config connect. Follow the setup below (or run /asana-setup).

Setup

You only need to do this once. The fastest path is to run /asana-setup inside Claude Code and follow the printed steps, or do it manually:

1. Create an Asana OAuth app

  1. Go to the Asana developer console.

  2. Create a new app.

  3. Under OAuth, add this exact Redirect URL:

    http://localhost:8080/callback
    

    (This is Claude Code's local OAuth callback. It is localhost by design — Claude Code runs on your machine and catches the authorization code on a local listener. It must match the --callback-port you use below.)

  4. Copy your Client ID and Client Secret.

2. Add the Asana V2 server to Claude Code

Run this in your terminal (not inside a Claude prompt — the secret is entered at a hidden prompt):

claude mcp add --transport http \
  --client-id YOUR_CLIENT_ID --client-secret \
  --callback-port 8080 \
  asana https://mcp.asana.com/v2/mcp
  • Replace YOUR_CLIENT_ID with the Client ID from step 1.
  • --client-secret with no value makes Claude Code prompt for the secret and store it securely in your OS keychain (never on disk).
  • --callback-port 8080 must match the port in the redirect URL you registered.

3. Authenticate and verify

  1. The next time the asana server is used, Claude Code opens your browser for Asana consent. Approve it.

  2. Confirm the connection:

    /mcp
    

    You should see asana listed as connected.

  3. Try it: ask Claude Code to "list my Asana workspaces" or "show my assigned tasks."

Example usage

Ask Claude Code to:

  • "Create an Asana task in the Backend project titled 'Fix login bug' assigned to me."
  • "What are my Asana tasks due this week?"
  • "Search Asana for projects about onboarding."

Troubleshooting

  • invalid_redirect_uri — the redirect URL in your Asana app must be exactly http://localhost:8080/callback, and the --callback-port must be 8080. If you use a different port, register http://localhost:<PORT>/callback to match.
  • invalid_client — double-check the Client ID and re-enter the Client Secret (claude mcp remove asana, then re-run the add command).
  • Auth server / DCR errors — V2 does not support Dynamic Client Registration; you must supply a pre-registered --client-id and --client-secret as shown above.

Documentation