asana_workspacesLABSCO SUMMARY
Eight tools instead of forty, and the traversal depth is why it works.
Collapsing Asana's surface into get, create, update, delete, link and two searches keeps the tool list small enough that a model picks correctly. The detail that makes it more than a thin wrapper is depth: one call can walk a portfolio down through its projects and their tasks, which is otherwise a dozen round trips. Just note that delete is irreversible and named plainly.
What it is
A single Rust binary for the Asana API. Rather than a tool per endpoint, it uses a resource type argument — so one fetch tool covers projects, tasks, portfolios, templates, sections, teams, tags and users, and one create tool covers everything you can make.
What you get
- asana_get — any resource by type and id, with a traversal depth for portfolios and options to pull a task's subtasks, dependencies and comments
- asana_create for tasks, subtasks, projects, projects from a template, portfolios, sections, comments, status updates, tags and duplicates
- asana_update and asana_delete, the latter permanent and irreversible
- asana_link for relationships: task to project, dependencies and the rest
- asana_task_search with filters on assignee, due date and more
- asana_resource_search to find a project, template, user or team by name
- asana_workspaces for what you have access to
- A default workspace setting, so workspace-scoped calls do not need the id every time
Requirements
An Asana personal access token as ASANA_TOKEN. Set ASANA_DEFAULT_WORKSPACE if you mostly work in one, which removes the workspace id from most calls. Install from Homebrew or from crates.io. The delete tool is permanent, so scope the token to match how much you trust the assistant.
Setup effort
One command plus a key — brew install adlio/tap/asanamcp, then supply credentials
USE CASES
Getting the whole picture of a portfolio
Fetch it with unlimited traversal depth instead of walking project by project.
Finding what is on your plate
Search tasks by assignee and due date, or pull my tasks for the workspace.
Capturing work as it comes up
Create the task in the right project, and add a comment with the context.
Reading a task with everything attached
Fetch it with its subtasks, dependencies and comments in the same call.
Starting a project from a template
Create it from the template rather than copying a structure by hand.
Wiring up what blocks what
Link the tasks as dependencies instead of noting it in a description.
Closing things out
Mark tasks complete and post the status update on the project.
8 tools
Listed in project docs. Your client may show a different list.
asana_getasana_createasana_updateasana_deleteasana_linkasana_task_searchasana_resource_searchBEFORE YOU INSTALL
What to know first
Tools you get
8 tools named in the project's documentation.
Requires
- asanamcp on PATH
- ASANA_TOKEN in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
brew install adlio/tap/asanamcpMCP Clients
Claude Desktop
{
"mcpServers": {
"asana": {
"command": "asanamcp",
"env": {
"ASANA_TOKEN": "<YOUR_ASANA_TOKEN>",
"ASANA_DEFAULT_WORKSPACE": "<YOUR_ASANA_DEFAULT_WORKSPACE>"
}
}
}
}