asana-mcp
README.md
# asana-mcp
An MCP server for Asana that reaches **every workspace**, over the classic API with a personal
access token. Shared by the family's apps (Excephalon, Highdeas).
Asana's hosted MCP server binds each OAuth grant to a single workspace chosen at sign-in, and
refuses personal access tokens. This server has neither limit: one PAT spans all workspaces, and
it is a plain string in a file, copyable between machines like any other runtime state.
## Use
Create a personal access token at https://app.asana.com/0/developer-console and save it, alone,
in a file. Then register the server with any MCP client as a stdio command:
```
python asana_mcp.py --serve --pat-file /path/to/pat.txt
```
No dependencies beyond the Python standard library.
## Tools
`list_workspaces`, `list_projects`, `list_project_tasks`, `list_my_tasks`, `get_task`,
`search` (typeahead - works on every Asana plan, unlike full task search), `create_task`,
`complete_task`. Asana's own error words pass through whole, marked as errors - a swallowed
reason sends whoever asked off to fix the wrong thing.
## Develop
```
python -m pytest tests/
```
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues