add-asana
Add Asana project management MCP integration to Deus. Gives host-side Claude Code sessions read/write access to Asana tasks, projects, sections, and tags via @roychri/mcp-server-asana.
pinned to #704abc9updated 2 weeks ago
Ask your AI client: “install skills/add-asana”.
Requires the metahub MCP server installed in your client. Set up MCP.
mh install skills/add-asanametahub onboarded this repo on the author's behalf.
If you own github.com/sliamh11/Deus on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
48
Last commit
2 weeks ago
Latest release
published
- #ai-assistant
- #ai-memory
- #claude-code
- #container-isolation
- #persistent-memory
- #self-improving-ai
- #semantic-memory
- #semantic-search
About this skill
Pulled from SKILL.md at publish time.
This skill adds Asana project management tools to host-side Claude Code sessions via the `@roychri/mcp-server-asana` MCP server. Once installed, you can create/update tasks, manage projects and sections, search your workspace, add comments, and track task fields from conversation.
Evaluation report
WarningsAutomated checks the publisher passed at publish time — structure, docs, safety, and whether the artifact behaves as claimed.704abc9· 2 weeks ago
Kind-specific
31Skill: SKILL.md present
found at .claude/skills/add-asana/SKILL.md · frontmatter source: SKILL.md
Skill: body content present
710 words · 4,915 chars · 10 sections · 7 code blocks
Skill: triggers declaredwarn
No `trigger` phrases in SKILL.md frontmatter
Add `trigger:` lines so Claude knows when to activate this skill — e.g. `when building MCP servers` or `for diagram creation`.
Skill: allowed-tools scope
no allowed-tools restriction (Claude may use anything)
Release history
1- releasecurrent704abc9warn2 weeks ago
Contents
This skill adds Asana project management tools to host-side Claude Code sessions via the @roychri/mcp-server-asana MCP server. Once installed, you can create/update tasks, manage projects and sections, search your workspace, add comments, and track task fields from conversation.
This mirrors the /add-linear pattern: a local stdio server launched with npx, authenticated by an Asana Personal Access Token (PAT) sourced from ~/deus/.env. The token never enters containers and is never copied into Claude Code's config.
Why not Asana's official MCP server? Asana's hosted MCP (
https://mcp.asana.com/v2/mcp) is OAuth-only and Claude Code has no headless OAuth path (it requires browser consent and re-auth on token expiry), which breaks unattended host processes. The PAT-based community server is the right fit here.
Phase 1: Pre-flight
Check if already configured
grep -q '"asana"' ~/.claude.json 2>/dev/null && echo "ALREADY_CONFIGURED" || echo "NOT_CONFIGURED"
grep -q "ASANA_ACCESS_TOKEN" ~/deus/.env 2>/dev/null && echo "TOKEN_SET" || echo "NO_TOKEN"
grep -q "READ_ONLY_MODE" ~/deus/.env 2>/dev/null && echo "READ_ONLY_ACTIVE" || echo "READ_WRITE"
- If both configured and token set, skip to Phase 3 (Verify).
- If configured but no token, skip to Phase 2 step 1 only.
- Otherwise, continue to Phase 2.
Phase 2: Install and Configure
Step 1: Get a Personal Access Token
Tell the user:
I need an Asana Personal Access Token. This is a one-time setup:
- Open Asana → click your profile photo (top right) → My Settings
- Go to the Apps tab → Manage Developer Apps
- Under Personal Access Tokens, click Create new token, give it a label like "Deus"
- Copy the token and paste it here
(Direct link: https://app.asana.com/0/my-apps)
Once the user provides the token:
Add to ~/deus/.env:
grep -q ASANA_ACCESS_TOKEN ~/deus/.env || echo 'ASANA_ACCESS_TOKEN=<pasted-value>' >> ~/deus/.env
Verify it's gitignored:
cd ~/deus && git check-ignore .env || echo "WARNING: .env is NOT gitignored"
Step 2: Configure MCP
Use the claude mcp add CLI — it merges into Claude Code's user-scope config (~/.claude.json) safely, without you hand-editing JSON:
claude mcp add asana --scope user -- /bin/sh -c 'set -a && . $HOME/deus/.env && npx -y @roychri/mcp-server-asana'
The single quotes are important: they keep $HOME literal so it is expanded by /bin/sh at launch time (sourcing the token fresh from .env), not baked into the config. Confirm it was stored correctly:
grep -A5 '"asana"' ~/.claude.json
The args should show $HOME/deus/.env literally — not an expanded /Users/... path. If it was expanded, use the manual fallback below instead.
Manual fallback — if claude mcp add is unavailable or expanded $HOME, read ~/.claude.json and merge this entry into the existing mcpServers object (do not overwrite existing servers):
"asana": {
"command": "/bin/sh",
"args": ["-c", "set -a && . $HOME/deus/.env && npx -y @roychri/mcp-server-asana"]
}
Step 3: Document
If ~/deus/.env.example does not already have ASANA_ACCESS_TOKEN, add it:
# Asana project management MCP (host-side Claude Code).
# Generate at: Asana → My Settings → Apps → Manage Developer Apps → Personal Access Token
ASANA_ACCESS_TOKEN=
Optional: read-only mode
To let the agent read Asana but block all writes, add READ_ONLY_MODE=true to ~/deus/.env. The server then exposes only the read/search tools.
Phase 3: Verify
Tell the user:
Asana MCP is configured. Restart Claude Code (close and reopen the session) for the tools to load.
After restart, test with: "List my Asana workspaces" — you should see your workspaces returned via
mcp__asana__asana_list_workspaces.Available tools include
asana_search_tasks,asana_get_task,asana_create_task,asana_update_task,asana_create_subtask,asana_search_projects,asana_create_project,asana_get_project_sections,asana_add_task_to_section,asana_create_task_story(comments), and 30+ more.
Notes
- Token scope: an Asana PAT carries full access to the user's account (Asana PATs are not granularly scoped). It lives only in
~/deus/.env(gitignored) and is never mounted into containers. UseREAD_ONLY_MODE=trueif you want to limit blast radius. - Alternative server:
@cristip73/mcp-server-asanais a maintained fork that adds attachment upload/download, team, and project-hierarchy tools (same PAT + stdio + npx model). Swap the package name in Step 2 if you need those.
Removal
- Remove the server:
claude mcp remove asana --scope user(or delete the"asana"key from~/.claude.json). - Remove
ASANA_ACCESS_TOKEN=...(and anyREAD_ONLY_MODE) from~/deus/.env. - Restart Claude Code.
Reviews
No reviews yet. Be the first.
Related
Frontend Slides
Create beautiful slides on the web using Claude's frontend skills
Guizang Ppt Skill
AI-agent Skill for generating polished HTML slide decks: editorial magazine and Swiss layouts, image prompts, social covers, and a WebGL/low-power presentation runtime.
orchestration-patterns
>
mh install skills/add-asana