# Asana MCP MCP

> Asana MCP lets your AI agent manage and query project workflows directly from Asana. It allows you to list workspaces, find specific projects, check task status, and even create or update tasks using natural conversation. Stop opening dozens of tabs just to figure out who owns a deliverable.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** task-tracking, sprint-planning, workflow-management, team-collaboration, project-tracking

## Description

Connect your organizational account to any AI client and treat it like a dedicated project manager for Asana. You get full control over the data; you don't have to navigate the app interface yourself. Your agent reads everything—from listing all workspaces to finding deep metadata on individual tasks, including who is assigned and what status they're in. If you’ve been looking at Vinkius for a way to connect project management into your daily workflow, this MCP lets your AI handle it entirely through conversation. You can check progress across entire portfolios, list board sections to understand the sprint stages, or even initiate actions like creating a new task when a requirement comes up.

## Tools

### add_task_comment
Adds a comment to an existing Asana task for team communication.

### create_task
Generates and adds a brand new task into the system.

### delete_task
Removes a specified Asana task permanently from the workspace.

### get_me
Retrieves the profile and access details for your connected Asana user account.

### get_task
Fetches all detailed information for a single, specific task ID.

### get_user
Gets the profile details and credentials for any specified Asana user.

### list_portfolios
Lists all defined portfolios within a given workspace structure.

### list_projects
Retrieves a list of active projects belonging to the current workspace.

### list_sections
Lists all board column groupings or stages (sections) inside an Asana project.

### list_stories
Fetches the chronological activity feed, or 'stories', for a task.

### list_tags
Retrieves all available tags used across the entire workspace.

### list_tasks
Lists multiple tasks within an Asana project based on general criteria.

### list_workspaces
Retrieves a list of every organizational workspace you have access to.

### search_tasks
Searches for tasks across the entire workspace using specific filters and criteria.

### update_task
Modifies attributes of an existing task, such as status or assignee.

## Prompt Examples

**Prompt:** 
```
List all our active organizational workspaces on Asana.
```

**Response:** 
```
I've fetched your environments. You currently have access to two distinct environments: 'TechCorp Engineering' (GID: 1205934) and 'Marketing Campaigns' (GID: 593021). Which workspace would you like to drill into?
```

**Prompt:** 
```
Can you fetch the tasks pending inside project 1205934?
```

**Response:** 
```
Running the query logic... I found 5 active task GIDs inside that specific project. Notable recent tickets include 'Refactor API Auth Layer' and 'Fix Webhook Timeout Payload'. Would you like the full description of 'Fix Webhook Timeout Payload'?
```

**Prompt:** 
```
Provide the complete details and assignee for task GID 12039402123.
```

**Response:** 
```
Let's inspect it... Task 'Implement Rate Limiting' has the detailed description: 'Need to add Redis throttle to 50 reqs/sec as discussed'. The current status is mapped to 'In Progress' and is specifically assigned to 'Marcus R.'.
```

## Capabilities

### Discovering Project Structure
You can pull lists of all workspaces and projects within an organization's structure.

### Tracking Task Status
Fetch detailed information about any specific task, checking its full history, assignee, and current status.

### Managing Workflows
Create new tasks, update existing details, or add comments to keep projects moving forward.

### Mapping Team Resources
Retrieve user profiles and specific organizational credentials used within Asana.

## Use Cases

### The status check for an upcoming launch.
A Project Lead needs to know if all key tasks are on track. They ask their agent, 'What's the status of our Q3 marketing deliverables?' The agent runs multiple queries using `list_tasks` and `get_task`, compiling a report that identifies which specific deliverable is stuck in an unassigned section.

### Onboarding a new team member.
An Operations Manager needs to see what resources the new hire can access. They prompt their agent with, 'Show me all available project groups.' The agent uses `list_workspaces` and then `list_projects`, providing the manager a clear map of potential work areas.

### Correcting an outdated requirement.
A Developer spots an error in the requirements document. They ask their agent to 'Get all details for task GID 12039402123.' The agent uses `get_task` to retrieve the metadata, allowing the developer to confirm the original scope before coding.

### Archiving old project work.
A Scrum Master needs to clean up a completed sprint. They use their agent to first list all sections in the project using `list_sections`, then identify tasks that are complete, and finally call `delete_task` on the obsolete items.

## Benefits

- Instead of opening the Asana app to check status, you can simply ask your agent to run `search_tasks` across a workspace for tasks tagged 'Urgent' that are assigned to Marcus R., getting instant results.
- You don't need multiple tabs open. You can use `list_workspaces` first to identify the right project environment, then drill down using `list_projects` before focusing on individual items with `get_task`.
- Need to update something? Instead of manually navigating through settings, your agent uses `update_task` or `add_task_comment` to make changes and log them immediately.
- Checking team credentials is easy. Use `list_sections` to understand the flow (e.g., 'To Do' -> 'In Progress') and then use `get_user` to see who owns each stage.
- Forget clicking through boards just to list what needs work. Your agent can call `list_tags` or perform a comprehensive search using `search_tasks`, giving you the full picture instantly.

## How It Works

The bottom line is that once connected, your AI client handles the API calls so you don't have to worry about tokens or endpoints.

1. First, subscribe to this MCP on Vinkius and enter your Asana Personal Access Token.
2. Next, prompt your AI agent with a request like 'List all active projects in the Marketing workspace.'
3. The agent executes the call and returns structured data detailing everything you need to know about those projects.

## Frequently Asked Questions

**How do I check task status using get_task?**
The agent uses `get_task` to pull the full metadata for any given task ID. This returns its exact current status, who it's assigned to, and a complete history of activity stories.

**Can I create tasks using create_task?**
Yes. You can use `create_task` by giving the agent enough detail in your prompt—such as the title, description, and assignee—and it handles generating the record inside Asana.

**Does search_tasks work better than list_tasks?**
Generally, `search_tasks` is more powerful. It allows you to apply multiple filters (like date range or specific tags) at once, whereas `list_tasks` provides a broader but less targeted listing.

**How do I add comments using add_task_comment?**
You pass the task ID and your comment text to the agent. It then executes `add_task_comment`, ensuring the record is updated with a clear, time-stamped note.

**Is deleting a task permanent when I run the `delete_task` command?**
Yes, deletion is immediate and irreversible. The API executes the removal instantly; make sure you've backed up any critical details before sending the delete request.

**How do I find out which workspaces are available using `list_workspaces`?**
The `list_workspaces` tool fetches every organizational environment your agent has access to. It's the ideal first step when you need to know the scope of all possible projects and teams.

**What kind of data changes can I make with the `update_task` function?**
You can modify an existing task’s status, assignee, description, or due date. Just pass a payload with the new structured data to change the work item's metadata.

**How do I verify my agent's current API user credentials using `get_me`?**
`get_me` returns your system's profile information and authorized access details. Use this tool to confirm the exact identity your MCP is operating under for auditing purposes.