How to Connect Asana Remote MCP to Cursor
Add Asana's remote MCP server to Cursor in about a minute.
Step-by-step
- Open MCP settingsCursor โ Settings โ MCP, or edit
~/.cursor/mcp.json(global) /.cursor/mcp.json(project). - Add the serverUse the one-click deeplink above, or add
"asana": { "url":https://mcp.asana.com/sse}undermcpServers. - AuthorizeOn first use your client opens a Asana OAuth consent screen โ approve it and tools become available.
- VerifyVerify in the browser: paste
https://mcp.asana.com/sseinto remotemcp.net/inspector and run initialize + tools/list.
Troubleshooting OAuth / 401
- A
401 Unauthorizedon first connect is normal โ the endpoint is OAuth-protected; let Cursor finish the browser consent flow. - If the consent window never opens, remove and re-add the server, then retry.
- Check the exact challenge at our OAuth debugger.
- This server only speaks SSE โ make sure Cursor supports the legacy SSE transport.
- Run the live endpoint through the online inspector to see the raw JSON-RPC exchange.
Or add to ~/.cursor/mcp.json:
{
"mcpServers": {
"asana": {
"url": "https://mcp.asana.com/sse"
}
}
}claude mcp add --transport sse asana https://mcp.asana.com/sse
Or add to .vscode/mcp.json:
{
"servers": {
"asana": {
"type": "sse",
"url": "https://mcp.asana.com/sse"
}
}
}- Open Settings โ Connectors (Integrations) โ Add Custom Connector.
- Paste the endpoint URL:
https://mcp.asana.com/sse - Complete the browser OAuth 2.1 login flow when prompted.
Bridge the remote endpoint into stdio with mcp-remote in claude_desktop_config.json:
{
"mcpServers": {
"asana": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.asana.com/sse"
]
}
}
}Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"asana": {
"serverUrl": "https://mcp.asana.com/sse"
}
}
}Tools exposed by Asana MCP (4)
| Tool | Safety | Description | Parameters |
|---|---|---|---|
| search_tasks | ๐ข Read | Search Asana tasks by text, assignee or project. | text*: stringassignee: stringproject: string |
| create_task | ๐ Write | Create a task in an Asana project. | name*: stringproject: stringnotes: stringdueOn: string |
| get_project_sections | ๐ข Read | List the sections/columns of an Asana project. | project*: string |
| update_task_status | ๐ Write | Update a task's completion state or move it between sections. | task*: stringcompleted: booleansection: string |
Connect Asana MCP to another client
Other servers for Cursor
GitHub's official remote MCP server hosted at api.githubcopilot.com. Gives AI agents first-party access to repositories, issues, pull requests and code search.
Notion's official hosted MCP server. Agents can search your workspace, read and create pages, and query databases over Streamable HTTP or SSE.
Linear's official remote MCP server. Agents can search, create and update issues and query your team's workflow over Streamable HTTP or SSE.
Figma's official remote MCP server. Agents can pull design context, variables, Code Connect mappings and screenshots from your Figma files.
Stripe's official remote MCP server at mcp.stripe.com. Agents can query customers, payment intents and subscriptions and invoke Stripe API operations with OAuth.
Cloudflare's free, authless documentation MCP server. Agents can search the full Cloudflare docs corpus โ no account or token required.