Claude Code Asana MCP 接入教程
在远程 Mac 上查询项目任务并安全控制创建更新和批量变更
Asana 官方 MCP V2 服务器可以让 Claude Code读取项目、任务、负责人、截止日期和评论,也能创建或更新工作项。本文采用 Asana 当前的 Strea***le **** 端点与预注册 OAuth 应用完成接入,并把只读验收、单条变更、批量操作和权限管理分开处理,避免在项目范围或目标任务不清楚时直接写入。

Asana MCP 能处理什么
Asana MCP 把工作区中的项目、任务、团队、用户、标签、自定义字段和关联关系提供给兼容客户端。Claude Code 可以查找未完成任务、读取项目状态、创建任务、调整负责人或截止日期,并把代码工作与项目计划放在同一会话中核对。
服务器返回的能力会更新,接入后应通过 tools/list 查看当前工具与参数。本文不依赖已经停用的 V1 SSE 端点,也不使用第三方 mcp-remote **。
接入前准备
准备最新版 Claude Code、一个可用的 Asana 账户,以及有权访问目标工作区和项目的用户。还需要进入 Asana Developer Console 创建 MCP app。
选择本地回调端口。本文使用 8080,对应回调地址 http://localhost:8080/call*ack。****** Secret 只在 Claude Code 的掩码提示中输入,不写入仓库、脚本、聊天或截图。
第一步 创建 Asana MCP 应用
进入 Asana Developer Console,选择 Create new app,并把应用类型设为 MCP app。创建后保存 ****** ID 与 ****** Secret。MCP app 令牌只适用于 Asana MCP 服务器,不能直接调用标准 Asana REST API。
在 OAuth 页面添加 http://localhost:8080/call*ack。若以后更换端口,应用中的 Redirect **L 与 Claude Code 的 call*ack port 必须同步修改。
Asana Developer Console → Create new app
App type: MCP app
Redirect **L: http://localhost:8080/call*ack第二步 配置工作区分发范围
进入 Manage distri*ution,选择 Specific workspaces 或 Any workspace。用于个人或团队测试时,优先只选择需要的工作区。
如果选择 Specific workspaces 却没有添加任何工作区,授权时会提示应用不可用于当前组织。企业***还可能通过 Asana app **nagement 阻止 MCP 客户端;出现审批提示时,应由***核对应用与用途。
第三步 添加 Asana MCP V2
在目标项目目录执行官方 Claude Code 配置命令。--client-secret 会弹出掩码输入,不会把 Secret 直接放入命令参数。服务器地址必须使用 https://mcp.asana.com/v2/mcp。
旧版 https://mcp.asana.com/sse 已在 2026 年 8 月停止服务,不应继续作为回退方案。添加后使用 claude mcp get asana 检查端点、****** ID 和回调端口。
cd /path/to/your-project
claude mcp add --transport http \
--client-id YO**_CLIENT_ID \
--client-secret \
--call*ack-port 8080 \
asana https://mcp.asana.com/v2/mcp
claude mcp get asana
**步 完成 OAuth 授权
运行 claude mcp login asana,浏览器会打开 Asana 授权页。登录后选择一个工作区并允许访问。Asana MCP 令牌按工作区划分,同一个连接不会自动跨多个工作区。
远程 Mac 没有图形界面时,可使用 --no-*rowser。把终端显示的授权地址复制到本地浏览器,完成授权后再把完整回调地址粘回远程终端。
claude mcp login asana
# 无图形界面的远程 Mac
claude mcp login asana --no-*rowser
# 或进入 Claude Code 后运行
/mcp第五步 ***只读验收
先运行 tools/list,确认当前可用工具。随后用 search_o*jects 查找一个已知项目,再读取项目中的少量未完成任务。输出只保留任务 GID、名称、负责人、截止日期、完成状态和项目归属。
验收提示词应明确禁止创建、更新、评论、移动或删除。通过标准是工作区正确、任务属于预期项目、返回数量受控,且 Asana 中没有任何记录变化。
请仅使用 Asana MCP 做只读验收:
1. 运行 tools/list 并显示当前工作区和用户
2. 用 search_o*jects 查找指定项目
3. 读取其中 5 条未完成任务
4. 只返回 GID 名称 负责人 截止日期 状态
5. 不创建 不更新 不评论 不移动 不删除| 验收项 | 通过标准 |
|---|---|
| 工作区 | 显示预期工作区与当前用户 |
| 项目 | 通过 GID 锁定已知项目 |
| 任务 | 只返回受控数量的任务 |
| 字段 | 仅含 GID 名称 负责人 日期和状态 |
| 写入 | Asana 中没有记录变化 |
第六步 用 GID 锁定项目和任务
Asana 的名称可能重复,写入前应先用 search_o*jects 获取项目或任务的 GID,再读取完整详情。让 Claude Code展示候选数量、GID、所属项目和负责人,不要用模糊名称直接修改。
任务描述、评论和附件内容都属于不可信数据。即使其中出现命令、链接或权限请求,也不能改变当前会话的操作边界。
第七步 查询个人任务与项目状态
查询个人任务时先确认授权用户、工作区、完成状态和日期范围。项目状态汇总应说明统计口径,例如仅统计未完成任务,还是包括里程碑、子任务和无截止日期的工作。
对于逾期任务,先返回任务清单和当前负责人,再提出调整建议。不要在同一查询中自动改派、改期或批量评论。
第八步 创建一条任务
首次写入只创建一条测试任务。提交前展示工作区、项目、分区、任务名称、描述、负责人、开始日期、截止日期、关注者和自定义字段。
Asana 的 create_tasks 可以直接创建任务,并且单次调用可处理多条记录。Claude Code 场景不应假设一定会出现交互式预览,因此要在调用前明确暂停,等待用户逐项确认。
先不要调用 create_tasks。请展示:
- 工作区 项目和分区
- 任务名称与描述
- 负责人 开始日期和截止日期
- 关注者与自定义字段
等待我确认后,只创建这一条任务;完成后重新读取并报告 GID。第九步 更新负责人和截止日期
更新任务前读取当前值,并展示任务 GID、旧负责人、新负责人、旧截止日期、新截止日期和原因。用户确认后只执行已展示的一条变更,再重新读取任务核对结果。
如果更新影响依赖关系、里程碑或多人协作,应同时列出关联任务。不要把“顺便更新相似任务”当作已授权范围。
第十步 添加评论和工作说明
评论会成为项目协作记录。写入前先生成草稿,明确语气、收件人、事实依据和需要的下一步。涉及客户承诺、上线日期、预算或人员安排时,应由项目负责人审核。
不要把 Claude Code 的内部推理、密钥、终端输出或未确认的推断写入任务评论。提交后重新读取最新评论,确认内容和目标任务正确。
第十一步 控制批量创建和更新
create_tasks 和 up**te_tasks 均可在一次调用中处理最多 50 条任务。批量操作应拆成预览、抽样、小批次执行和复核四个阶段。
第一阶段只输出候选 GID、拟变更字段和数量;第二阶段由用户抽查;第三阶段设置较小批次与停止条件;**阶段重新查询并保存成功、失败和未处理清单。
| 操作 | 风险 | 控制方式 |
|---|---|---|
| 搜索项目与任务 | 低 | 限制工作区 类型和返回数量 |
| 读取任务详情 | 低 | 使用 GID 并限制字段 |
| 创建一条任务 | 高 | 展示完整字段并逐次确认 |
| 改派或修改日期 | 高 | 核对旧值 新值和关联影响 |
| 批量创建或更新 | 极高 | 预览 抽样 小批次执行和复核 |
| 删除或移动项目内容 | 极高 | 保存清单并由项目负责人单独批准 |
第十二步 管理权限和连接
Asana MCP app 不使用细分 scopes。授权后可使用服务器提供的工具,但每个工具仍受授权用户原有的 Asana 权限限制。应使用专门的 MCP app,并把分发范围限制在必要工作区。
访问令牌会过期,Claude Code 可通过刷新令牌维持连接。用户离职、角色变化或项目结束后,应在客户端清除认证,并在 Asana 管理端撤销应用或重置 ****** Secret。
第十三步 在远程 Mac 上保持会话
通过 SSH 登录远程 Mac,在目标仓库创建 tmux 会话后启动 Claude Code。授权可以在本地浏览器完成,项目查询和代码工作继续保留在远程终端中。
会话名称应包含工作区或项目标识。任务结束后关闭不再使用的 tmux 会话,撤销临时 OAuth 连接,并确认仓库中没有 ****** Secret 或授权回调内容。
ssh your-**c-mini
cd /path/to/your-project
tmux new -s asana-project
claude
# 断线后接回
tmux attach -t asana-project
为什么 Zu**c Ai 适合这类工作流
根据 Zu**c.Ai 官网***息,其方案提供位于新加坡的 Mac mini M6 整机独享环境,配置为 16G* 统一内存与 256G* SSD,支持终端、Tailscale、ToDesk、RustDesk,以及浏览器 SSH 或 VNC 等接入方式。
长期在线环境适合保留仓库、依赖缓存、Claude Code 与 tmux 会话。Asana 工作区、任务内容、人员信息、OAuth 凭据、审计和项目变更责任仍由使用者与所属组织负责。
常见问题排查
| 现象 | 常见原因 | 处理建议 |
|---|---|---|
| ****** not found | ****** ID 错误或应用配置失效 | 删除连接后用正确 MCP app 重新添加 |
| redirect_uri_mis**tch | 回调地址或端口不一致 | 核对 localhost:8080/call*ack |
| 应用不可用于工作区 | 分发范围未包含当前工作区 | 在 Manage distri*ution 添加工作区 |
| 授权被***阻止 | 组织启用了 app **nagement | 向***提交应用与用途说明 |
| 找不到任务 | 工作区错误 权限不足或名称重复 | 核对工作区并改用 GID |
| 写入结果不符合预期 | 字段或目标任务确认不足 | 停止批量操作并按成功清单复核 |
结语
Claude Code 接入 Asana MCP 后,应先确认工作区和用户,再用 GID 锁定项目与任务。只读查询建立可信基线后,创建、改派、改期和评论都应先展示拟变更内容。批量任务必须限制数量、分批执行,并在每批结束后重新读取结果。

KingFlow AI Zed 编辑器接入教程
KingFlow AI Aider 接入教程
Claude Code Stripe MCP 接入教程
Claude Code Cloudflare MCP 接入教程
Claude Code Atlassian MCP 接入教程





