Connect your AI Agents to Asana in minutes

Available tools
get_attachment
Get attachment details by GID including download URLs and metadata
delete_attachment
Permanently delete an attachment. This action is irreversible
list_attachments
List attachments for task or project with pagination
create_custom_field
Create workspace custom field with type: text, number, date, enum, multi-enum, or people
get_custom_field
Get custom field details by GID including type, options, and settings
update_custom_field
Update custom field name, description, or enum options
delete_custom_field
Permanently delete a custom field. This action is irreversible
list_custom_fields
List custom fields in workspace with pagination
create_project
Create project in workspace with team, privacy, view, dates, and members
get_project
Get complete project details by GID including name, team, members, dates, and settings
update_project
Update project properties including name, notes, color, privacy, dates, and owner
delete_project
Permanently delete a project. This action is irreversible
list_projects
List projects with workspace, team, or archive filtering. Supports pagination
get_project_tasks
Get all tasks in a project with optional field selection and pagination
add_project_members
Add members to project for collaboration and access
remove_project_members
Remove members from project to revoke access
add_custom_field_to_project
Associate custom field with project for task metadata
remove_custom_field_from_project
Remove custom field from project to clean up metadata
get_custom_fields_from_project
List all custom fields configured on a project with pagination support
search_tasks
Advanced task search with text, assignee, project, date, and custom field filters. Requires Premium
get_task_stories
Get all comments and activity for task including assignments and status changes
get_story
Get story or comment details by GID including text and author
update_story
Edit story or comment text and pinned status. Can only edit own stories
delete_story
Delete story or comment. Can only delete own stories. Action is irreversible
create_comment
Add comment to task with text and optional pinning
list_tags
List tags in workspace with optional field selection and pagination
get_task_tags
Get all tags for a task including names and colors
create_tag
Create tag in workspace with name, color, and notes
create_task
Create task in workspace, project, or as subtask with name, assignee, dates, followers, tags, and custom fields
get_task
Get complete task details by GID including name, assignee, dates, status, followers, tags, and custom fields
update_task
Update task properties including name, assignee, dates, status, and custom fields
delete_task
Permanently delete a task. This action is irreversible
list_tasks
List tasks filtered by project, tag, section, or assignee. Supports date filters and pagination
add_task_followers
Add followers to task for notifications about task updates and changes
remove_task_followers
Remove followers from task to stop notifications about updates
get_task_subtasks
Get all subtasks of a parent task with optional field selection
create_task_subtask
Create subtask under parent task with name, assignee, dates, and other properties
add_task_tag
Add tag to task for categorization and filtering
remove_task_tag
Remove tag from task to change categorization
get_task_dependencies
Get tasks that must complete before this task. Returns up to 30 dependencies
add_task_dependencies
Add dependencies to task. Maximum 30 total dependencies and dependents combined per task
remove_task_dependencies
Remove dependency relationships from task to change workflow order
list_teams
List teams in workspace with optional field selection
get_team
Get team details by GID including name and organization
get_team_members
Get all members of a team with user details
list_users
List users in workspace with optional team filtering and field selection
get_user
Get user details by GID including name, email, and workspaces
get_current_user
Get current authenticated user details including name, email, and workspaces
validate_credential
Validate Asana credentials. Verifies credentials during setup.
list_workspaces
List all workspaces accessible to the authenticated user
get_workspace
Get workspace details by GID including name and organization status
update_workspace
Update workspace name

How to set up Merge Agent Handler
In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}FAQs on using Merge's Asana MCP server
FAQs on using Merge's Asana MCP server
How can I use the Asana MCP server?
Here are just a few common use cases:
- Sync project milestones with marketing automation: Your agent can monitor key project milestones in Asana and automatically trigger email campaigns or update customer-facing roadmaps in tools like HubSpot or Marketo when major features are completed, keeping customers informed without manual updates
- Connect design handoffs to development tracking: Your agent can detect when design tasks are marked complete in Asana, automatically create corresponding development tickets in Jira or Linear with attached Figma links and design specs, and notify the engineering team in Slack to kick off implementation
- Bridge financial planning with project execution: Your agent can pull budget and resource allocation data from your ERP system (e.g., NetSuite) and compare it against actual project progress in Asana, then alert finance and project managers in Slack when projects are trending over budget or behind schedule
- Balance workload across teams: Your agent can analyze task assignments and due dates across multiple Asana projects to identify team members who are over-capacity, then suggest task reassignments or flag bottlenecks to managers before deadlines are at risk
- Track cross-functional project dependencies: Your agent can monitor tasks across different teams' Asana projects (e.g., product, design, engineering, marketing) and alert stakeholders when upstream dependencies are delayed, helping teams proactively adjust timelines
What are popular tools for Asana’s MCP server?
Here are some popular tools across data types:
Projects
- <code class="blog_inline-code">list_projects</code>
- <code class="blog_inline-code">get_project_tasks</code>
- <code class="blog_inline-code">add_project_members</code>
- <code class="blog_inline-code">remove_project_members</code>
Tasks
- <code class="blog_inline-code">search_tasks</code>
- <code class="blog_inline-code">get_task</code>
- <code class="blog_inline-code">get_task_subtasks</code>
- <code class="blog_inline-code">get_task_tags</code>
Teams
- <code class="blog_inline-code">list_teams</code>
- <code class="blog_inline-code">get_team</code>
- <code class="blog_inline-code">get_team_members</code>
What makes Merge Agent Handler’s Asana MCP server better than alternative Asana MCP servers?
Merge Agent Handler provides infrastructure-level capabilities that go beyond a standalone MCP server implementation.
Here are just a few unique benefits of using Merge Agent Handler’s Asana MCP server:
- Enterprise-grade security and DLP: All Asana tool inputs and outputs are scanned by a security gateway with DLP rules that can block, redact, or mask sensitive data before it reaches the agent or third-party API
- Managed authentication and credential handling: Merge Agent Handler supports guided user authentication flows and manages credentials securely, removing the need for custom OAuth handling in your agent code
- Real-time observability and auditability: Every Asana tool call is logged and fully-searchable, enabling teams to monitor, debug, and audit agent behavior in production
- Pre-built and customizable tools: The Asana connector comes with 50+ tools out of the box, and any tool can be easily modified, whether it’s editing a name, description, or schema
Can I set custom security rules for Asana tool calls in Merge Agent Handler?
Yes, Merge Agent Handler allows you to configure custom security and DLP rules that inspect Asana tool inputs and responses. These rules can automatically block or modify tool calls based on your organization’s data governance requirements.
Here are just a few examples:
- Block your agents from creating or updating Asana tasks with customer PII like email addresses or phone numbers in task names, descriptions, or comments
- Automatically redact salary information or compensation details when your agents retrieve or update Asana tasks in HR or finance projects, so they only see masked versions
- Monitor and log whenever your agents attempt to add sensitive financial data like revenue figures or contract values in Asana task custom fields or comments, giving leadership visibility without blocking the action
- Block your agents from creating Asana projects or tasks with restricted terms like "pre-acquisition", "unannounced partnership", or embargoed product names in titles or descriptions that could expose confidential business strategy
How can I start using Merge Agent Handler’s Asana MCP server?
Here are the steps to start using Merge Agent Handler's Asana MCP server:
1. Create an Agent Handler account. You can sign up for a free Merge Agent Handler account here.
2. Set up a Tool Pack (a collection of connectors your agent can use). From the dashboard, navigate to Tool Packs, select "Create New Tool Pack," and choose the Asana connector from the list of available connectors. Give your Tool Pack a descriptive name (e.g., "Task Management Pack").
3. Add a Registered User (an identity your agent uses to execute actions). Go to the Registered Users section in the dashboard and select "Create Registered User."
You'll be asked to provide:
- Origin User ID: A unique identifier from your system (e.g., a UUID)
- Origin User Name: A display name (e.g., "Sarah Johnson")
- (Optional) Shared Credential Group: Use this if multiple users need to share the same credentials
Agent Handler will generate a Registered User ID for use in step 4.
4. Gather your configuration details. You'll need these three items:
- Tool Pack ID: Available in your Tool Pack's URL or settings page
- Registered User ID: Located in the Registered Users section
- API Key: Create this from your Agent Handler account settings (usually begins with "cx-")
5. Set up your IDE or AI platform. Add the MCP server configuration to your development environment (Cursor, Claude Desktop, Windsurf, VS Code, etc.) with the Tool Pack ID, Registered User ID, and API Key.
6. Confirm the connection. Launch your AI assistant or agent interface. The Asana tools should appear in your tools/context menu.
7. Begin using Asana tools. Try prompts like "Show me my Asana tasks due this week" or "Create a new Asana project called Q1 Marketing Campaign."
Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now





















