关于 Asana
Asana 是封装 Asana REST API 的 MCP 服务,可处理工作区、项目和任务操作,支持任务搜索、创建及详情读取,并可通过 Pipeworx 或本地 stdio 运行。
主要功能
- 01列出工作区和项目
- 02列出并搜索任务
- 03获取任务详情
- 04创建项目任务
适用场景
- 01查看项目中的任务
- 02搜索工作区内的任务
- 03在项目中创建任务
MCP 相关
向 MCP 客户端提供 Asana 工作区、项目和任务工具。网关连接需要已通过 OAuth 连接的 Asana 账户,也可使用本地 stdio 服务。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://gateway.pipeworx.io/asana/mcpclaude mcp add --transport http pipeworx-io-asana https://gateway.pipeworx.io/asana/mcp{"mcpServers":{"pipeworx-io-asana":{"type":"http","url":"https://gateway.pipeworx.io/asana/mcp"}}}在 Cursor 中打开{"servers":{"pipeworx-io-asana":{"type":"http","url":"https://gateway.pipeworx.io/asana/mcp"}}}在 VS Code 中打开{"mcpServers":{"pipeworx-io-asana":{"type":"http","url":"https://gateway.pipeworx.io/asana/mcp"}}}{"mcpServers":{"pipeworx-io-asana":{"serverUrl":"https://gateway.pipeworx.io/asana/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
47| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| q | string | 否 | question 的别名。 |
| ask | string | 否 | question 的别名。 |
| text | string | 否 | question 的别名。 |
| input | string | 否 | question 的别名。 |
| packs | array | 否 | 可选。将路由限制为这些包的 slug(例如 ["sec-form-d","sec-13f"]),路由器随后只会从这些包中的工具进行选择。省略则使用默认的完整目录路由。Slug 可从 list_packs / search_packs / https://pipeworx.io/directory 获取;未列出或未知的 slug 会被忽略,并在 _meta.pack_scope.ignored 中列出。如果没有任何 slug 能匹配问题,则会在整个目录中路由,并设置 _meta.pack_scope.full_catalog:true(绝不会返回空答案)。 |
| query | string | 否 | question 的别名。 |
| prompt | string | 否 | question 的别名。 |
| message | string | 否 | question 的别名。 |
| question | string | 是 | 用自然语言表达的问题或请求。支持 query、q、prompt、text、input、ask、message 作为别名。 |
详细介绍
mcp-asana
Asana MCP — 封装 Asana REST API(OAuth)
属于 Pipeworx — 一个将 AI Agent 连接到 1872+ 个实时数据源的 MCP 网关。这是一个独立的非官方集成,与上游提供方无关联、未经其认可,也未由其发布。
工具
| 工具 | 描述 |
|---|---|
asana_list_workspaces | 获取所有可访问的 Asana 工作区。返回列出项目和任务所需的工作区名称和 ID。 |
asana_list_tasks | 列出项目中的任务。返回任务 ID、名称、完成状态、负责人和截止日期。需要项目 ID。 |
asana_get_task | 获取任务完整详情,包括名称、描述、负责人、所属项目、标签、子任务和状态。需要任务 ID。 |
asana_create_task | 在项目中创建新任务。返回任务 ID、名称和永久链接。需要项目 ID 和任务名称。 |
asana_list_projects | 列出工作区中的所有项目。返回项目 ID、名称和归档状态。需要工作区 ID。 |
asana_search_tasks | 按关键词搜索工作区中的任务。返回匹配任务的 ID、名称、完成状态和负责人。需要工作区 ID。 |
快速开始
添加到你的 MCP 客户端(Claude Desktop、Cursor、Windsurf 等):
{
"mcpServers": {
"asana": {
"url": "https://gateway.pipeworx.io/asana/mcp"
}
}
}
此端点实际提供的内容
https://gateway.pipeworx.io/asana/mcp 上的 tools/list 会返回上表中的工具,以及 Pipeworx 共享元工具——ask_pipeworx、
discover_tools、search_within、remember/recall 和网关级工具集中的其他工具。因此,你看到的工具数量会多于此表所列:目前,单个工具包端点除了该工具包自身的工具,还会列出大约 30 个共享工具。连接的 initialize 响应会说明其确切范围,并且是当天适用的权威说明。
这是有意为之,并非意外复用。元工具可以让范围受限的连接回答此工具包未涵盖的问题——通过 ask_pipeworx 跨整个目录进行路由——而无需添加第二个 MCP 服务。目前无法在不包含这些工具的情况下挂载工具包端点;如果额外的工具架构占用的上下文比路由功能带来的收益更多,请连接一次完整网关,而不是连接多个工具包端点。
或者连接完整的 Pipeworx 网关,直接获取所有工具包的工具列表,而不只是此工具包的工具:
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
两个 URL 都会访问同一个网关和相同的 1872+ 个数据源。唯一的区别是哪些工具包的工具会被直接列出;从任一端点都可以通过 ask_pipeworx 访问所有工具。
没有 MCP 客户端?通过 HTTP 调用
此工具包使用已连接的 asana 账户,因此需要 Pipeworx 密钥:在 https://pipeworx.io/account 登录并连接 asana,然后使用 Authorization: Bearer <your Pipeworx key> 调用 POST https://gateway.pipeworx.io/v1/tools/asana_list_workspaces。检查任意工具:GET https://gateway.pipeworx.io/v1/tools/asana_list_workspaces。查找工具:使用 {"query":"..."} 调用 POST https://gateway.pipeworx.io/v1/tools/search_packs。
独立运行(无需网关账户)
此软件包也可以作为本地 stdio MCP 服务运行——无需 Pipeworx 账户,也无需通过网关往返:
{
"mcpServers": {
"asana": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-asana"]
}
}
}
或者直接运行以确认服务已启动:
npx -y @pipeworx/mcp-asana
它通过 stdin/stdout 使用 MCP 通信,并响应 initialize/tools/list/tools/call,仅提供此工具包的工具——不包含上述网关连接额外提供的共享元工具。使用相同的源代码和工具,但不提供 ask_pipeworx 路由。
使用 ask_pipeworx
你可以用普通英语提问,而不是直接调用工具——此方式既适用于上面的工具包端点,也适用于完整网关:
ask_pipeworx({ question: "your question about Asana data" })
网关会自动选择合适的工具并填写参数。
更多信息
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。