mcp-server-asana
Asana 的 MCP 服务器
Asana 的这个模型上下文协议服务器实现允许您从 MCP 客户端(例如 Anthropic 的 Claude 桌面应用程序等)与 Asana API 对话。
有关 MCP 的更多详细信息,请参见:
用法
在您选择的AI工具(例如:Claude Desktop)中,询问有关asana任务、项目、工作区和/或评论的问题。提及“asana”一词将增加LLM选择正确工具的几率。
例子:
我们的 Sprint 30 项目中有多少未完成的体式任务?
另一个例子:

Related MCP server: A2A MCP Server
工具
asana_list_workspaces列出 Asana 中所有可用的工作区
可选输入:
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:工作区列表
asana_search_projects使用名称模式匹配在 Asana 中搜索项目
必需输入:
工作区(字符串):要搜索的工作区
name_pattern(字符串):用于匹配项目名称的正则表达式模式
可选输入:
已存档(布尔值):仅返回已存档的项目(默认值:false)
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:匹配项目列表
asana_search_tasks使用高级过滤选项在工作区中搜索任务
必需输入:
工作区(字符串):要搜索的工作区
可选输入:
文本(字符串):在任务名称和描述中搜索的文本
resource_subtype(字符串):按任务子类型过滤(例如里程碑)
已完成(布尔值):过滤已完成的任务
is_subtask(布尔值):过滤子任务
has_attachment(布尔值):过滤带有附件的任务
is_blocked(布尔值):过滤具有不完整依赖关系的任务
is_blocking(布尔值):过滤有依赖项的未完成任务
受让人、项目、部分、标签、团队和许多其他高级过滤器
sort_by(字符串):按到期日期、创建时间、完成时间、喜欢时间、修改时间排序(默认值:修改时间)
sort_ascending(布尔值):按升序排序(默认值:false)
opt_fields(字符串):要包含的可选字段的逗号分隔列表
custom_fields(对象):包含自定义字段过滤器的对象
返回:匹配的任务列表
asana_get_task获取有关特定任务的详细信息
必需输入:
task_id(字符串):要检索的任务 ID
可选输入:
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:详细的任务信息
asana_create_task在项目中创建新任务
必需输入:
project_id(字符串):创建任务的项目
name(字符串):任务名称
可选输入:
notes(字符串):任务描述
html_notes(字符串):类似 HTML 格式的任务描述
due_on(字符串):YYYY-MM-DD 格式的到期日
受让人(字符串):受让人(可以是“我”或用户 ID)
关注者(字符串数组):要添加为关注者的用户 ID 数组
parent(字符串):设置此任务的父任务 ID
项目(字符串数组):要添加此任务的项目 ID 数组
resource_subtype(字符串):任务的类型(default_task 或里程碑)
custom_fields(对象):将自定义字段 GID 字符串映射到其值的对象
返回:创建的任务信息
asana_get_task_stories获取特定任务的评论和故事
必需输入:
task_id(字符串):获取故事的任务 ID
可选输入:
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:任务故事/评论列表
asana_update_task更新现有任务的详细信息
必需输入:
task_id(字符串):要更新的任务ID
可选输入:
name(字符串):任务的新名称
notes(字符串):任务的新描述
due_on(字符串):新的截止日期,格式为 YYYY-MM-DD
受让人(字符串):新受让人(可以是“我”或用户 ID)
已完成(布尔值):将任务标记为已完成或未完成
resource_subtype(字符串):任务的类型(default_task 或里程碑)
custom_fields(对象):将自定义字段 GID 字符串映射到其值的对象
返回:更新的任务信息
asana_get_project获取有关特定项目的详细信息
必需输入:
project_id(字符串):要检索的项目 ID
可选输入:
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:详细的项目信息
asana_get_project_task_counts获取项目中的任务数量
必需输入:
project_id(字符串):获取任务计数的项目 ID
可选输入:
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:任务计数信息
asana_get_project_sections
获取项目中的部分
必需输入:
project_id(字符串):获取部分的项目 ID
可选输入:
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:项目部分列表
asana_create_task_story
对任务创建评论或故事
必需输入:
task_id(字符串):要添加故事的任务 ID
text(字符串):故事/评论的文本内容
可选输入:
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:创建的故事信息
asana_add_task_dependencies
设置任务的依赖关系
必需输入:
task_id(字符串):要添加依赖项的任务 ID
依赖项(字符串数组):此任务所依赖的任务 ID 数组
返回:更新的任务依赖关系
asana_add_task_dependents
设置任务的依赖项(依赖于此任务的任务)
必需输入:
task_id(字符串):要添加依赖项的任务 ID
Dependants(字符串数组):依赖于此任务的任务 ID 数组
返回:更新的任务依赖项
asana_create_subtask
为现有任务创建新的子任务
必需输入:
parent_task_id (string): 创建子任务的父任务 ID
name(字符串):子任务的名称
可选输入:
notes(字符串):子任务的描述
due_on(字符串):YYYY-MM-DD 格式的到期日
受让人(字符串):受让人(可以是“我”或用户 ID)
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:创建的子任务信息
asana_get_multiple_tasks_by_gid
通过 GID 获取多个任务的详细信息(最多 25 个任务)
必需输入:
task_ids(字符串数组或逗号分隔的字符串):要检索的任务 GID(最多 25 个)
可选输入:
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:任务详细信息列表
asana_get_project_status
获取项目状态更新
必需输入:
project_status_gid (字符串):要检索的项目状态 GID
可选输入:
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:项目状态信息
asana_get_project_statuses
获取项目的所有状态更新
必需输入:
project_gid (字符串):获取状态的项目 GID
可选输入:
限制(数字):每页结果(1-100)
offset(字符串):分页偏移标记
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:项目状态更新列表
asana_create_project_status
为项目创建新的状态更新
必需输入:
project_gid (string):要创建状态的项目 GID
text(字符串):状态更新的文本内容
可选输入:
颜色(字符串):状态的颜色(绿色、黄色、红色)
title(字符串):状态更新的标题
html_text(字符串):状态更新的 HTML 格式文本
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:创建项目状态信息
asana_delete_project_status
删除项目状态更新
必需输入:
project_status_gid (字符串):要删除的项目状态 GID
返回:删除确认
asana_set_parent_for_task
设置任务的父级并将子任务定位在该父级的其他子任务中
必需输入:
task_id(字符串):要操作的任务ID
数据(对象):
parent(字符串):任务的新父级,如果没有父级则为 null
可选输入:
insert_after(字符串):在父任务之后插入子任务,或为 null 以在列表开头插入
insert_before (string):在父任务之前插入的子任务,或为 null 以在列表末尾插入
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:更新的任务信息
asana_get_tasks_for_tag
获取特定标签的任务
必需输入:
tag_gid (字符串):用于检索任务的标签 GID
可选输入:
opt_fields(字符串):要包含的可选字段的逗号分隔列表
opt_pretty(布尔值):以“漂亮”格式提供响应
limit (整数):每页返回的对象数。该值必须介于 1 到 100 之间。
offset(字符串):API 返回的下一页的偏移量。
返回:指定标签的任务列表
asana_get_tags_for_workspace
获取工作区中的标签
必需输入:
workspace_gid(字符串):工作区或组织的全局唯一标识符
可选输入:
limit(整数):每页结果数。每页返回的对象数。该值必须介于 1 到 100 之间。
offset (字符串):偏移量标记。API 返回的下一页的偏移量。
opt_fields(字符串):要包含的可选字段的逗号分隔列表
返回:工作区中的标签列表
提示
task-summary根据任务的注释、自定义字段和评论获取任务的摘要和状态更新
必需输入:
task_id(字符串):要获取摘要的任务 ID
返回:包含生成任务摘要说明的详细提示
task-completeness分析任务描述是否包含完成任务所需的所有必要细节
必需输入:
task_id(字符串):要分析的任务 ID 或 URL
返回:带有分析任务完成度说明的详细提示
create-task创建具有指定详细信息的新任务
必需输入:
project_name(字符串):应创建任务的 Asana 项目的名称
title(字符串):任务的标题
可选输入:
notes(字符串):任务的注释或描述
due_date(字符串):任务的截止日期(YYYY-MM-DD 格式)
返回:详细的提示,其中包含有关创建综合任务的说明
资源
工作区 -
asana://workspace/{workspace_gid}Asana 工作区作为资源的表示
每个工作区都作为单独的资源公开
URI 格式:
asana://workspace/{workspace_gid}返回:带有工作区详细信息的 JSON 对象,包括:
name:工作区名称(字符串)id:工作区全局 ID(字符串)type:资源类型(字符串)is_organization:工作区是否为组织(布尔值)email_domains:与工作区关联的电子邮件域列表(string[])
Mime 类型:
application/json
项目 -
asana://project/{project_gid}用于通过 GID 检索项目详细信息的模板资源
URI 格式:
asana://project/{project_gid}返回:带有项目详细信息的 JSON 对象,包括:
name:项目名称(字符串)id:项目全局ID(字符串)type:资源类型(字符串)archived:项目是否已存档(布尔值)public:项目是否公开(布尔值)notes:项目描述/注释(字符串)color:项目颜色(字符串)default_view:默认视图类型(字符串)due_date,due_on,start_on:项目日期信息(字符串)workspace:包含工作区信息的对象team:包含团队信息的对象sections:项目中的部分对象数组custom_fields:项目的自定义字段定义数组
Mime 类型:
application/json
设置
创建 Asana 帐户:
访问Asana 。
点击“注册”。
检索 Asana 访问令牌:
您可以从 Asana 开发者控制台生成个人访问令牌。
更多详细信息请访问: https://developers.asana.com/docs/personal-access-token
配置 Claude Desktop :将以下内容添加到您的
claude_desktop_config.json中:{ "mcpServers": { "asana": { "command": "npx", "args": ["-y", "@roychri/mcp-server-asana"], "env": { "ASANA_ACCESS_TOKEN": "your-asana-access-token" } } } }
如果要安装测试版(尚未发布),可以使用:
@roychri/mcp-server-asana@beta
您可以通过以下方式找到当前的测试版本(如果有):
https://www.npmjs.com/package/@roychri/mcp-server-asana?activeTab=versions
npm dist-tag ls @roychri/mcp-server-asana
故障排除
如果遇到权限错误:
确保您的 asana 计划允许 API 访问
确认访问令牌和配置在
claude_desktop_config.json中正确设置。
贡献
克隆此 repo 并开始破解。
使用 MCP Inspector 在本地进行测试
如果您想测试您的更改,您可以像这样使用 MCP 检查器:
npm run inspector这会将客户端公开到端口5173并将服务器公开到端口3000 。
如果这些端口已被其他程序使用,则可以使用:
CLIENT_PORT=5009 SERVER_PORT=3009 npm run inspector执照
此 MCP 服务器采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/roychri/mcp-server-asana'
If you have feedback or need assistance with the MCP directory API, please join our Discord server