Provides access to Asana data and actions via the MCP framework, enabling querying and manipulating tasks, projects, and workspaces.
Configuration
View docs{
"mcpServers": {
"roychri-mcp-server-asana": {
"command": "npx",
"args": [
"-y",
"@roychri/mcp-server-asana"
],
"env": {
"READ_ONLY_MODE": "true or false",
"ASANA_ACCESS_TOKEN": "YOUR_TOKEN"
}
}
}
}You can run an MCP Server for Asana to talk to the Asana API from MCP Clients, enabling you to manage tasks, projects, workspaces, and comments through natural prompts. This server exposes a set of endpoints that map to common Asana actions and supports secure access via an access token.
When you start the Asana MCP Server, you can ask your MCP client about tasks, projects, workspaces, and related data. Mention the word asana in your prompt to help the assistant route your request to the right tool. You can query for things like unfinished tasks, project details, or task histories, and you can create or update tasks if you are not in read-only mode.
Prerequisites: you need Node.js and npm installed on your system.
# Install the MCP server package from npm
npm install -g @roychri/mcp-server-asanaEnvironment variable you must set: ASANA_ACCESS_TOKEN. This token authenticates requests to the Asana API. You can optionally enable read-only mode with READ_ONLY_MODE=true to disable all write operations.
If you encounter permission errors, verify that your Asana plan allows API access and that your access token is correct. Ensure your MCP client is configured with the same ASANA_ACCESS_TOKEN.
To test, install the server locally, then configure your MCP-enabled tool to use the provided command and token. You can experiment with read-only mode first to confirm data access without making changes.
List all available workspaces in Asana. Accepts an optional opt_fields to include specific fields.
Search for projects within a workspace by name pattern. Supports filtering by archived status and optional fields.
Search tasks within a workspace with advanced filters such as text, assignee, projects, sections, tags, due dates, and multiple subtasks/dependency flags.
Retrieve detailed information about a specific task, with optional fields.
Create a new task in a specified project with optional fields like notes, due date, assignee, and custom fields.
Fetch comments and stories associated with a task.
Update an existing task’s details including name, description, due date, assignee, and custom fields.
Get detailed information about a project with optional fields.
Return the number of tasks in a project with optional fields.
Retrieve sections within a project.
Create a comment or story on a task.
Set dependencies for a task.
Set dependents for a task (tasks that depend on this task).
Create a new subtask under a parent task with optional fields.
Get detailed information about multiple tasks by their GIDs (up to 25).
Get a status update for a project status GID.
Get all status updates for a project with pagination options.
Create a new status update for a project with optional metadata such as color and title.
Delete a project status update.
Set or reassign the parent of a task and control its position among siblings.
Get detailed information about a tag.
Get a task’s tags.
Get tasks associated with a tag.
Get tags in a workspace.
Update a tag’s name, color, or notes.
Delete a tag.
Create a new tag within a workspace.
Add a tag to a task.
Remove a tag from a task.
Add a task to an existing project with optional positioning.
Remove a task from a project while keeping the task itself intact.
Permanently delete a task.
Create a new project in a workspace with optional attributes like color and privacy.