Skip to main content
Glama

asana-admin-mcp

MCP 服务器,用于整理 Asana 结构 — 项目组合、自定义字段/下拉列表、项目、分区 填补标准 Asana connector 无法完成的部分(那个连接器专注于 task/read)


⚠️ Dashboard 无法做到——这不是本 MCP 的限制

Asana 完全未开放用于 Dashboard / chart / widget / project view tab 的 public API (翻遍了官方 OpenAPI spec 中的全部 175 个 endpoint——没有一个)

唯一能自动化的方式是 project_duplicate——规格说明指出,在 duplicate project 时 Project Views(List / Board / Dashboard 标签页)总是会被一并复制,并且无法关闭 → 在一个“原型项目”中配置好 Dashboard,然后每次需要新项目时就 duplicate

🟡 尚未验证: 规格说明写着“Project Views”会跟随,但没有明确说明 Dashboard 中配置的图表 是否也会跟随,还是只会得到空标签页——无法通过 API 检查(没有读取图表的 endpoint),必须亲眼查看 2026-08-17 的 smoke test 复制的是没有图表的项目,因此还不能回答这个问题

注意:Project Template 不会带上 Dashboard(这仍是 Asana 论坛中悬而未决的功能请求) 必须使用 duplicate,而不是 template


安装

1. 先获取 Asana token(每个人都必须有自己的)

按照 GET-TOKEN.md 操作 → 保存到 ~/.asana_token

printf '%s' 'วาง_token_ตรงนี้' > ~/.asana_token && chmod 600 ~/.asana_token

token 与个人权限绑定,严禁使用他人的——Asana 的日志中会显示 token 所有者的名字

2. 安装插件(推荐)

在 Claude Code 中输入两行:

/plugin marketplace add plakorp/asana-admin-mcp
/plugin install asana-admin@asana-admin-mcp

Claude Code 会自动 clone repo 并运行 npm ci,然后注册 MCP——无需手动修改 ~/.claude.json 之后要更新就运行 /plugin update

本机需要 Node 20+(用 node -v 检查)

方法 2——手动安装(如果不想用插件)

克隆 repo 后双击 ติดตั้ง-asana-admin-mcp.command 脚本会请求 token,运行 npm install,然后写入 ~/.claude.json(每次都会备份)

不要同时使用这两种方法——否则会得到两个重名的 asana-admin MCP

Token 优先从环境变量 ASANA_TOKEN 读取,如果没有则回退到 ~/.asana_token → token 绝不会出现在 repo 中,也不需要放在 ~/.claude.json


工具(21)

每个 tool 都接收 gid 而不是名称——先用 asana_find 将名称转换成 gid

发现

工具

说明

asana_whoami

自己 + 所有 workspace(从这里开始,因为几乎所有 create 操作都需要 workspace_gid

asana_find

typeahead 按名称查找 gid — 项目 / 项目组合 / custom_field / 任务 / 团队 / 用户 / 标签 / 目标

asana_list_custom_fields

workspace 中的自定义字段或绑定到 project/portfolio 的字段——返回带 gid 的 enum_options,这是所有下拉列表工具的输入

项目组合

工具

说明

portfolio_create

创建项目组合

portfolio_update

重命名 / 更改颜色 / 设置公开

portfolio_list_items

按实际显示顺序查看项目组合中的项目

portfolio_add_item

将项目添加到项目组合 + 可指定位置(insert_before / insert_after)——对已有 item 再次调用 = 移动位置

portfolio_remove_item

移除项目(必须传 confirm: true

自定义字段 / 下拉列表

工具

说明

custom_field_create

创建字段 — enum(单选下拉框)/ multi_enum / text / number / date / people

custom_field_update

重命名 / 修改描述

enum_option_create

为下拉列表添加选项 + 可指定位置

enum_option_update

重命名 / 更改颜色 / 设置 enabled:false 以停用

enum_option_reorder

对下拉列表选项排序

custom_field_attach

将字段绑定到 project 或 portfolio(is_important:true = 显示为列)

Asana 无法删除下拉列表选项——只能通过 enabled:false 来停用;之前选中该选项的任务仍会保留原值

项目 / 分区

工具

说明

project_create

创建项目(在 organization 中需要 team_gid

project_update

重命名 / 备注 / 颜色 / default_view / 归档

project_duplicate

复制项目,会带上 Dashboard——这是 dashboard 问题的唯一解决办法(返回 job,异步执行)

project_list_sections

按顺序列出 section + gid

section_create

添加 section + 可指定位置

section_update

重命名 section

section_reorder

对 section 排序

有意不提供删除 project / portfolio / custom field 的工具——删除这些后无法恢复,请在网页端操作


颜色(适用于 portfolio / project / enum option)

none red orange yellow-orange yellow yellow-green green blue-green aqua blue indigo purple magenta hot-pink pink cool-gray


测试

ASANA_TOKEN=$(cat ~/.asana_token) npm run smoke

在 token 的第一个 workspace 中创建真实对象,名称以 ZZ-mcp-smoke-* 开头 → 检查所有 tool → 自行全部删除 如果不提供 token,则只会运行前半部分(server 启动 + 列出 tools)


运行说明

  • 429 → 根据 Retry-After 自动重试 3 次

  • Asana 的错误会返回来自 API 的真实消息(指出缺少哪个字段 / 哪个 gid 错误),而不只是状态码

  • 未传递的字段不会被修改——只传 nameportfolio_update 不会清除颜色

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • A MCP server built for developers enabling Git based project management with project and personal…

  • MCP server for managing Prisma Postgres.

  • MCP server for generating rough-draft project plans from natural-language prompts.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/plakorp/asana-admin-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server