asana-by-moonbird
v1.0.0
Published
MCP server for Asana integration with AI assistants like Claude
Maintainers
Readme
Asana MCP Server
A Model Context Protocol (MCP) server that provides integration with Asana, allowing AI assistants like Claude to interact with your Asana workspaces, projects, and tasks.
Features
- Get information about workspaces, projects, and tasks
- Create, update, and delete tasks
- Create and update projects
- Search for tasks across workspaces and projects
- Manage task assignments and deadlines
- Work with project sections
- Support for both personal and organization workspaces
- TypeScript definitions included for better developer experience
Prerequisites
- Node.js v16 or higher
- An Asana account
- A Personal Access Token from Asana
Installation
Option 1: Install via npm (Recommended)
No installation required! Just configure Claude Desktop directly with npx.
Option 2: Global Installation
npm install -g asana-by-moonbirdOption 3: Install from Source
- Clone this repository or download the source code
- Install dependencies:
npm install - Make the main script executable:
chmod +x index.js
Getting an Asana Personal Access Token
- Log in to your Asana account
- Navigate to https://app.asana.com/0/developer-console
- Click on "Create new personal access token"
- Give your token a name (e.g., "Claude MCP")
- Copy the generated token (you'll only see it once)
Setup with Claude Desktop
For npm Installation
Recommended: Using npx (no installation required)
{
"mcpServers": {
"asana-tasks": {
"command": "npx",
"args": ["asana-by-moonbird", "--token", "YOUR_ASANA_TOKEN"]
}
}
}Alternative: Global Installation
{
"mcpServers": {
"asana-tasks": {
"command": "asana-mcp-server",
"args": ["--token", "YOUR_ASANA_TOKEN"]
}
}
}Note: Global method requires npm install -g asana-by-moonbird first
For Source Installation
{
"mcpServers": {
"asana-tasks": {
"command": "node",
"args": ["/path/to/asana-mcp-server/index.js", "--token", "YOUR_ASANA_TOKEN"]
}
}
}After updating the configuration, restart Claude Desktop.
Usage for Your Team
Team Installation Instructions
Super Simple - No Installation Required!
Get your Asana Personal Access Token (see instructions above)
Configure Claude Desktop:
- Open
~/Library/Application Support/Claude/claude_desktop_config.json - Add this configuration:
{ "mcpServers": { "asana-tasks": { "command": "npx", "args": ["asana-by-moonbird", "--token", "YOUR_ASANA_TOKEN"] } } }- Replace
YOUR_ASANA_TOKENwith your actual token
- Open
Restart Claude Desktop
That's it! No npm installation required. npx will automatically download and run the package when Claude needs it.
Alternative: Global Installation Method
If you prefer to install globally first:
Install the package globally:
npm install -g asana-by-moonbirdGet your Asana Personal Access Token (see instructions above)
Configure Claude Desktop:
- Open
~/Library/Application Support/Claude/claude_desktop_config.json - Add the asana-tasks server configuration:
Method 1 (Recommended): Global Command
{ "mcpServers": { "asana-tasks": { "command": "asana-mcp-server", "args": ["--token", "YOUR_ASANA_TOKEN"] } } }Method 2 (Fallback): Using npx
{ "mcpServers": { "asana-tasks": { "command": "npx", "args": ["asana-by-moonbird", "--token", "YOUR_ASANA_TOKEN"] } } }- Replace
YOUR_ASANA_TOKENwith your actual token
- Open
Restart Claude Desktop
Usage Examples
Once installed, Claude will automatically detect the Asana tools. You can ask Claude to perform tasks such as:
- "Show me my Asana workspaces"
- "Create a new task in project X"
- "What tasks do I have due this week?"
- "Update the deadline for task Y"
- "Show me all tasks in project Z"
- "Create a new project in workspace A"
- "Add a comment to task ABC with the text 'Great work!'"
- "Move task XYZ to the 'In Progress' section"
Available Tools
The server provides the following tools for Claude:
Workspace Management
asana_get_workspaces- Get a list of workspacesasana_get_workspace- Get details of a specific workspaceasana_get_teams- Get teams in an organization workspace
Project Management
asana_get_projects- Get a list of projects in a workspaceasana_create_project- Create a new project in a workspaceasana_get_project- Get details of a specific projectasana_update_project- Update a projectasana_get_project_sections- Get sections in a project
Task Management
asana_get_project_tasks- Get tasks in a projectasana_get_task- Get details of a specific taskasana_create_task- Create a new taskasana_update_task- Update a taskasana_delete_task- Delete a taskasana_get_my_tasks- Get tasks assigned to the current userasana_search_tasks- Search for tasks in a workspace
Collaboration
asana_add_task_to_section- Add a task to a sectionasana_add_comment_to_task- Add a comment to a taskasana_get_task_stories- Get stories (comments, system actions) for a task
Organization vs Personal Workspaces
Asana has two types of workspaces:
- Personal Workspaces - Simple workspaces for individual use
- Organization Workspaces - Enterprise workspaces with team structures
When creating projects in an organization workspace, you must provide a team ID:
- First determine if your workspace is an organization using
asana_get_workspace - If it is (has
is_organization: true), get the available teams usingasana_get_teams - When creating a project, include both the workspace_gid and a team parameter with the team's GID
Development
Running in Debug Mode
asana-mcp-server --token YOUR_ASANA_TOKEN --debugOr from source:
node index.js --token YOUR_ASANA_TOKEN --debugTypeScript Support
This package includes TypeScript definitions. If you're using it programmatically:
import { AsanaClient } from 'asana-by-moonbird';
const client = new AsanaClient('your-token');
const workspaces = await client.getWorkspaces();Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Changelog
See CHANGELOG.md for version history and changes.
License
MIT - see LICENSE file for details.
Support
Note: This is an unofficial integration and is not affiliated with Asana, Inc.
