Token导航 LogoToken导航TokenDH.com
Jira Asana MCP logo
浏览器工具stdio官方级别未说明来源级核验

Jira Asana MCP

MCP Server

一个轻量级的MCP服务器,用于将Jira的功能进度同步到Asana的项目状态更新,适用于企业环境中的开发和PMO团队。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonVS CodeAPI集成VS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

RaInta

提供方

RaInta

最后核验

2026/5/17 20:23

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --env-file .env -p 8080:8080 jira-asana-mcp:local

详细介绍

Jira至Asana MCP大桥

您是否使用以下方式管理项目 Jira 但需要让利益相关者了解最新情况 阿萨纳?

如果是这样,那么我完全能感受到你的痛苦!这是一个轻量级的 模型上下文协议(MCP) 同步的服务器(HTTP变体) Jira 功能进度 阿萨纳 项目状态更新。

专为运行的企业环境而设计 VS代码,以及 GitHub,这座桥让开发或PMO团队在Asana中保持项目组合的可见性,同时将Jira作为唯一的信息来源。

______________________________________________________________________

特性

  • 从Jira到Asana的只读集成

- 计算两周进度快照 *特性* 级别(基于用户故事完成情况和故事点数)。 - 在单个功能下汇总多个功能 *史诗* (这可能取决于您的组织模型如何在Jira中工作项目)。

  • 自动更新Asana项目状态

- 发布干净、标记格式的摘要,带有颜色编码状态(绿色/黄色/红色)。 - 可选地记录Asana项目中“进度日志”任务的更新。

  • HTTP MCP兼容

- 暴露两者 *资源* (用于只读查询)和 *工具* (用于受控写入)通过REST。 - 可以直接从VS Code的MCP客户端或LLM代理调用。

  • 安全且可审计

- Jira和Asana令牌通过环境变量或Azure密钥库传递。 - 按设计只读;没有给Jira写信。 - 轻松容器化并部署到Azure容器应用程序或AKS。

______________________________________________________________________

架构概述

                ┌──────────────────────────┐
                │  VS Code / MCP Client    │
                └─────────────┬────────────┘
                              │ HTTP (JSON)
                ┌─────────────▼────────────┐
                │    jira-asana-mcp        │
                │  (FastAPI + MCP facade)  │
                └──────┬────────┬──────────┘
                       │        │
           ┌───────────▼───┐ ┌──▼────────────┐
           │ Jira Cloud API│ │ Asana REST API│
           └───────────────┘ └───────────────┘
  • 资源

/resources/jira/feature/{feature_key}/profiles

/资源/jira/epic/{epic_key}/rollup

  • 工具

/工具/post_asana_project_status

/工具/sync_one_feature

jira-asana-mcp/
├─ app/
│  ├─ server.py              # FastAPI + MCP HTTP layer
│  ├─ jira_client.py         # Jira REST wrapper
│  ├─ asana_client.py        # Asana REST wrapper
│  ├─ logic.py               # Story-point math, markdown rendering
│  ├─ mapping.py             # Epic-to-Project map utilities
│  └─ settings.py            # Env configuration
├─ mappings/
│  └─ epic_asana_map.yaml    # Optional static mapping
├─ Dockerfile
├─ requirements.txt
├─ .env.example
└─ README.md

快速入门(本地)

git clone https://github.com/RaInta/jira-asana-mcp.git
cd jira-asana-mcp
cp .env.example .env

编辑 .env 添加您的Jira和Asana代币。确保 .env 在你的 .gitignore!这是在此仓库中默认设置的。

JIRA_BASE=https://yourcompany.atlassian.net
JIRA_EMAIL=svc-jira@yourcompany.com
JIRA_TOKEN=***************
ASANA_TOKEN=1/***************
JIRA_STORY_POINTS_FIELD=customfield_10016
JIRA_PARENT_LINK_FIELD="Parent Link"

在Docker中构建和运行:

docker build -t jira-asana-mcp:local .
docker run --env-file .env -p 8080:8080 jira-asana-mcp:local

服务器监听端口8080。

用法

获取一个功能的进度

curl http://localhost:8080/resources/jira/feature/FEATURE-123/progress

将所有功能汇总到Epic下

curl http://localhost:8080/resources/jira/epic/EPIC-456/rollup

发布为期两周的Asana状态更新

curl -X POST "http://localhost:8080/tools/post_asana_project_status" \
  -H "Content-Type: application/json" \
  -d '{
        "epic_key": "EPIC-123",
        "asana_project_gid": "12001234567890"
      }'

该工具将:

  • 收集EPIC-123下的所有功能。
  • 统计过去14天内完成的故事点数。
  • 计算完成百分比并渲染降价。
  • 在Asana发布新的项目状态。

VS代码MCP集成

  1. 安装 MCP客户端扩展 在VS代码中。

将此块添加到.vcode/settings.json中:

{
  "mcpServers": {
    "jira-asana-bridge": {
      "type": "http",
      "baseUrl": "http://localhost:8080",
      "tools": {
        "post_asana_project_status": { "path": "/tools/post_asana_project_status", "method": "POST" },
        "sync_one_feature": { "path": "/tools/sync_one_feature", "method": "POST" }
      },
      "resources": {
        "jira-feature-progress": { "path": "/resources/jira/feature/{feature_key}/progress" },
        "jira-epic-rollup": { "path": "/resources/jira/epic/{epic_key}/rollup" }
      }
    }
  }
}

然后,您可以直接通过MCP接口查询或触发工具。

部署(Azure容器应用程序)

az acr create -g my-rg -n myacr --sku Basic
docker tag jira-asana-mcp:local myacr.azurecr.io/jira-asana-mcp:v1
docker push myacr.azurecr.io/jira-asana-mcp:v1

az containerapp create \
  -g my-rg -n jira-asana-mcp \
  --environment my-env \
  --image myacr.azurecr.io/jira-asana-mcp:v1 \
  --target-port 8080 --ingress internal \
  --env-vars-file .env
  • 将入口设置为 内部的 为了安全。
  • 使用Azure密钥库进行注入 JIRA_TOKENASANA_TOKEN.

配置选项

变量描述
JIRA_BASEJira云基础URL
JIRA_EMAILJira服务帐户电子邮件
JIRA_TOKENJira API代币
ASANA_TOKENAsana个人访问令牌
JIRA_STORY_POINTS_FIELD故事点的自定义字段ID
JIRA_PARENT_LINK_FIELD父字段名称(通常 "Parent Link")
EPIC_ASANA_MAP_PATHEpic的YAML映射文件→ Asana项目
ASANA_PROGRESS_LOG_TASK_NAME用于记录更新的可选任务名称

安全与治理

  • 只读Jira访问--无写操作。
  • Asana PAT仅限于发布项目状态更新。
  • 可审计性——记录所有工具调用;与你的标准可观测性堆栈配对。
  • 部署选项——在本地、Azure容器应用程序中或内部入口后面的AKS上运行。

状态逻辑

  1. 收集每个功能下的故事。
  2. 计算总计:

- 故事总得分。 - 在两周内完成的故事点。

  1. 聚合Epic下的所有功能。
  2. 渲染标记表并发布Asana项目状态:

- 🟢 绿色≥60% - 🟡 黄色20-59% - 🔴 红色\ JIRA_TOKEN=


5. 确认您的服务帐户对正在查询的Jira项目和Epics具有读取权限。

> 如果您的组织通过SSO(Okta/AzureAD)限制个人令牌,请您的Jira管理员使用API令牌和有限的“只读”权限创建服务帐户。

### Asana个人访问令牌(PAT)

1. 导航至 `https://app.asana.com/0/developer-console` (您可能需要成为Asana管理员或工作区所有者。)
1. 在“个人访问令牌”下,单击 `Create new token`.
1. 给它一个描述性的名字,例如。 `jira-asana-mcp`.
1. 复制生成的令牌并添加到 `.env`:

ASANA_TOKEN=1/


1. 确保PAT有足够的范围来发布项目状态更新(至少 `Edit Project Status` 许可)。

> 对于企业SSO管理的帐户,Asana可能需要通过管理员控制的服务帐户创建令牌。如果禁用令牌创建,请通过Asana管理面板请求一个。

### 推荐做法

- 将令牌存储在Azure密钥库中,并在运行时注入(而不是提交 `.env` 文件)。
- 每90天(或更短时间,如果你足够多疑的话)旋转Jira和Asana代币。
- 将所有服务帐户记录在您的内部访问注册表中。

______________________________________________________________________

目录标签

目录标签

PythonVS CodeAPI集成项目管理本地部署进度同步企业工具RESTAPI自动化

支持客户端

VS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP