Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Asana MCP Server

by jtalk22version 1.0.1i★ –iRuns on your computer
Registry nameio.github.jtalk22/asana-mcp-server

Install

Overview

Description from the maker (original English)

Change Asana without opening Asana — custom fields, sections, start dates, rich notes, bulk. PAT.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Docs, sheets & office work
  • You need to fill in: ASANA_PAT

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: ASANA_PAT, ASANA_WORKSPACE_GID, ASANA_MCP_TOOLS

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "asana": {
      "command": "npx",
      "args": [
        "-y",
        "@jtalk22/asana-mcp"
      ],
      "env": {
        "ASANA_PAT": "your-value",
        "ASANA_WORKSPACE_GID": "your-value",
        "ASANA_MCP_TOOLS": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add asana --env ASANA_PAT=your-value --env ASANA_WORKSPACE_GID=your-value --env ASANA_MCP_TOOLS=your-value -- npx -y @jtalk22/asana-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "asana": {
      "command": "npx",
      "args": [
        "-y",
        "@jtalk22/asana-mcp"
      ],
      "env": {
        "ASANA_PAT": "your-value",
        "ASANA_WORKSPACE_GID": "your-value",
        "ASANA_MCP_TOOLS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "asana": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@jtalk22/asana-mcp"
      ],
      "env": {
        "ASANA_PAT": "your-value",
        "ASANA_WORKSPACE_GID": "your-value",
        "ASANA_MCP_TOOLS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • ASANA_PAT secret env
    Asana Personal Access Token (create at https://app.asana.com/0/my-apps). Optional when stored via `asana-mcp --setup` (macOS Keychain or ~/.asana-mcp.json).
  • ASANA_WORKSPACE_GID env
    Workspace GID. Optional — auto-detected when the token sees exactly one workspace.
  • ASANA_MCP_TOOLS env
    Tool surface filter: all | read | write | comma-list of tool names.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account jtalk22, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Docs, sheets & office worki

  • More stars than 0% of the other 3575 servers in this category
  • Published to the registry more recently than 26% of the other 3575 servers in this category
  • Basic checks equal to or better than 100% of the other 3575 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Asana MCP Server safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: ASANA_PAT

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.0.1) reached the registry 3 months ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Agent-Native Calendar

Agent-Native Google Calendar - manage events, sync, and public booking

by BuilderIOGrowing★ 7.6KUpdated 2 months ago

Runs in the cloud

Excel MCP Server

Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.

by haris-musaWidely used↓ 49.6K/wk★ 4.3KUpdated 7 days ago

Runs on your computer

MCP Server for Excel

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

by sbroenneGrowing↓ 4.3K/wk★ 847Updated 5 days ago

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Asana MCP Server

Change Asana without opening Asana.

A local-first Asana MCP over the REST API: controlled writes, schema operations, diagnostics, and one-call briefs over a Personal Access Token.

npx -y @jtalk22/asana-mcp --setup

Claude Code Claude Desktop Cursor Copilot Windsurf Gemini CLI Codex CLI any stdio MCP client

Why this exists · Install · 75 tools · Composites · Slack + Asana · Honest limits · API reference


Why this exists

Asana's official V2 MCP server is the supported hosted choice: OAuth, workspace-scoped access, consolidated task writes, and interactive confirmations in supported clients. Its tool set changes over time, so use Asana's current tools reference rather than a frozen comparison table.

Choose this server when you want a transparent local stdio process and direct REST coverage:

NeedThis server's approach
Local operationPAT + stdio. No hosted intermediary and no product telemetry.
Controlled agent surfaceMount read, write, all, or an explicit comma-list of tools.
Board and field designCreate fields and enum options, attach fields to projects, create/reorder sections, and instantiate templates.
Reliable REST edge casesTyped custom-field values, section placement, rich task notes, start/due ordering, pagination, and bounded retry.
Large or repetitive workBulk loops continue past individual failures and report per-item outcomes.
Fewer agent round-tripsMorning briefs, user queues, portfolio rollups, board rollups, and inbox triage return decision-ready results.
Local diagnostics--doctor, explicit workspace detection, generated tool reference, and release preflight.

You can use both: the official service for managed OAuth and this package for local-first REST workflows or capabilities your operating model needs. To use this package, create a Personal Access Token, run --setup, and keep the process on your machine. It talks only to app.asana.com.

Slack + Asana continuity preview

This package remains the full 75-tool, MIT-licensed local server. Nothing below is an unlock for missing tools.

The same maintainer is also building Keep the Thread, a managed continuity layer for an independent operator or two-to-five-person team that already works in Slack and Asana but does not want another dashboard. Its first cross-tool contract asks a narrower question:

Which Slack commitment is missing, incomplete, or stale in one selected Asana project?

flowchart LR

Slack["1–5 selected Slack channels"] --> Report["continuity_asana_discrepancy_report"] Asana["1 selected Asana project\nincomplete tasks only"] --> Report Report --> Gaps["matched commitments · gaps · task drift · next reviews"] Gaps --> Receipt["source IDs preserved\nwrites_performed: 0"]

ChooseWhen it fits
This open-source packageYou want local stdio, your own PAT, all 75 Asana REST tools, controlled writes, board/schema design, and no hosted intermediary.
Keep the Thread previewYou want a managed remote MCP endpoint, official connector consent, Slack-to-Asana discrepancy reporting, saved continuity contracts, or scheduled Slack delivery.

The hosted Asana connector code is live and read-only, but public OAuth activation is still staged. See the representative input/output contract, inspect the live connector status, or request a bounded deployment review. Creating, updating, completing, or deleting Asana tasks is not part of the hosted discrepancy report.

Install

1. Get a token — app.asana.com/0/my-apps → Personal access tokens → Create. Then either:

npx -y @jtalk22/asana-mcp --setup    # stores it in the macOS Keychain (or ~/.asana-mcp.json, mode 600)

or export ASANA_PAT yourself.

2. Add the server to your MCP client:

{

"mcpServers": { "asana": { "command": "npx", "args": ["-y", "@jtalk22/asana-mcp"] } } }

Claude Code one-liner: claude mcp add asana -- npx -y @jtalk22/asana-mcp

3. Verify:

npx -y @jtalk22/asana-mcp --doctor   # token → identity → workspace → tool surface, as JSON

Workspace is auto-detected when your token sees exactly one. Tokens that see several: set ASANA_WORKSPACE_GID (the doctor lists your options) or pass workspace per call.

75 tools: read, act, design

  • 26 reads — tasks, projects, sections, users, teams, tags, stories, subtasks, dependencies, attachments, statuses, portfolios, typeahead (name→GID), cross-board duplicate detection that knows a multi-homed task is *not* a duplicate.
  • 40 writes — create/update/complete/assign, comments, followers, tags, dependencies, memberships, section moves, dates (start_on done right), custom fields (dates wrapped, multi_enum arrays), rich notes (sanitized), attachments (100MB uploads), bulk ops, project statuses, portfolios, templates with async-job polling, and asana_set_notes_safe for boards where automations rewrite what you just wrote.
  • 6 schema/design tools — create custom fields, extend dropdowns, attach fields to projects, sections, reorder: the agent can *build* the board, not just fill it.
  • 3 destructive — delete_task / delete_project / delete_section refuse to run without confirm: true.
  • Local file boundary — attach_file requires confirm: true and only reads from the current directory or ASANA_MCP_FILE_ROOTS.
  • Read-only batch — batch_ops rejects every non-GET action at both schema and runtime layers.

Every tool declares MCP annotations — readOnlyHint, destructiveHint, idempotentHint, openWorldHint, titles. Clients that honor them (Claude Code does) auto-allow reads in plan mode, parallelize them safely, and gate the destructive three.

Trim the advertised surface with ASANA_MCP_TOOLS=read (30 tools), write, or a comma-list — a triage agent doesn't need delete tools in its context.

Full inputs and semantics: docs/API.md.

Composites: one call, one answer

Five tools that replace ten-call round-trips, built from running real boards daily:

  • `asana_morning_brief` — incomplete tasks bucketed overdue / due-today / upcoming / blocked-by-dependency, one call.
  • `asana_user_queue` — one person's FULL queue, paginated past the API's 100-result search cap, bucketed by due date with per-project counts. The "what is X sitting on?" call.
  • `asana_portfolio_rollup` — per-project health (incomplete / overdue / completed-this-week + status) across a portfolio or project list. include_archived: true catches the open tasks hiding on archived boards — every default listing skips them.
  • `asana_board_rollup` — one board grouped by section, any number custom field summed per section ("Deal $", "Claim $"), deadline fields checked for overdue by name — fields resolve live from the board's own settings, nothing hard-coded.
  • `asana_triage_inbox` — bulk-create from a triaged list (the bulk CREATE the API doesn't have), per-item overrides, continues past failures.

Honest limits

  • Asana's search API caps at 100 results with no pagination. Tools built on it say so (truncated: true) instead of pretending the tail doesn't exist; asana_user_queue and the list tools paginate past it where the REST API allows.
  • The /batch endpoint silently discards PUT bodies and GET options upstream — so this server doesn't route writes through it. asana_batch_ops exists for GET-with-default-fields only, and its description says exactly that.
  • Comment rich text (html_text on stories) is downgraded to escaped plaintext *by Asana* — comments here are plain text by design rather than silently ugly.
  • Date custom fields come back as full ISO timestamps; overdue math normalizes to YYYY-MM-DD before comparing (a silent all-clear bug we hit and fixed).
  • A PAT reads only its *own* My Tasks (others 403) — asana_user_queue uses the assignee route that works for anyone.

More in docs/TROUBLESHOOTING.md.

Security

Your PAT has the same access as your Asana login. It's read from ASANA_PAT, the macOS Keychain (asana-mcp), or ~/.asana-mcp.json (written mode 600) — never logged, never sent anywhere but api.asana.com's host. No telemetry, no phone-home; read SECURITY.md.

Development

npm ci && npm test          # 16 unit tests, no token needed

npm run doctor # live check against your workspace npm run api-docs # regenerate docs/API.md from lib/tools.js

PRs welcome — see CONTRIBUTING.md. MIT.


Also by the same author: @jtalk22/slack-mcp — catch up on Slack without reading it.

Ask PopNx