项目简介

Atlassian MCP 服务端是一个基于 Model Context Protocol (MCP) 实现的后端应用,旨在帮助大型语言模型(LLM)客户端(如 Amazon Q Developer)以标准化、安全和可扩展的方式访问 Atlassian 生态系统的数据和功能。它支持 Atlassian Cloud 和 Data Center 部署,将复杂的 Atlassian API 抽象为 LLM 可直接调用的资源和工具。

主要功能点

  • Jira 集成: 管理 Jira 事务、评论、状态转换、附件、用户、工作日志、标签、链接问题、高级搜索、优先级管理、敏捷面板和用户权限等。
  • Confluence 集成: 管理 Confluence 页面、空间、评论、附件、搜索、用户、标签、页面历史、权限、页面复制、用户内容和版本恢复等。
  • Bitbucket 集成: 管理 Bitbucket 仓库、拉取请求(Pull Requests)、提交、分支、差异比较、审阅者、分支管理、PR 活动、构建状态和 Webhooks 等。
  • 双平台支持: 兼容 Atlassian Cloud 和 Data Center 部署,通过环境变量灵活切换。
  • 能力声明: 以标准 MCP 格式声明其可用的资源(Resources)和工具(Tools),供 LLM 客户端发现和利用。
  • 日志与监控: 支持结构化 JSON 日志和 CloudWatch 自定义指标,便于部署在 AWS Lambda 后进行监控。

安装步骤

  1. Python 环境: 确保您的系统安装了 Python 3.11 及以上版本。
  2. 克隆仓库:
    git clone https://github.com/anthonyd23/atlassian_mcp.git
    cd atlassian_mcp
  3. 安装依赖:
    pip install -r mcp_server/requirements.txt

服务器配置

MCP 客户端需要知道如何启动并与 MCP 服务器通信。以下是 Amazon Q Developer 客户端的一个配置示例,展示了如何配置此 Atlassian MCP 服务器。请注意,这里的 'command' 和 'args' 指向 'mcp_server/main.py' 文件,负责启动服务器。'env' 部分包含连接 Atlassian 所需的凭据。

{
  "mcpServers": {
    "atlassian-mcp": {
      "command": "python",
      "args": ["/absolute/path/to/mcp_server/main.py"],
      "env": {
        "ATLASSIAN_BASE_URL": "https://yourcompany.atlassian.net",  // 你的 Atlassian Cloud 基础 URL
        "ATLASSIAN_USERNAME": "[email protected]",          // 你的 Atlassian 用户名(通常是邮箱)
        "ATLASSIAN_API_TOKEN": "your-token"                      // 你的 Atlassian API Token
        // 对于 Bitbucket Cloud,如果需要集成 Bitbucket,除了上述 ATLASSIAN_USERNAME,还需要设置
        // "BITBUCKET_WORKSPACE": "your-workspace",               // 你的 Bitbucket 工作区名称
        // "BITBUCKET_API_TOKEN": "your-bitbucket-app-password"   // Bitbucket 应用程序密码
        
        // 对于 Atlassian Data Center 部署,你需要为每个服务单独配置基础 URL 和个人访问令牌 (PAT),例如:
        // "JIRA_BASE_URL": "https://jira.company.com",
        // "JIRA_PAT_TOKEN": "your-jira-pat",
        // "CONFLUENCE_BASE_URL": "https://wiki.company.com",
        // "CONFLUENCE_PAT_TOKEN": "your-confluence-pat",
        // "BITBUCKET_BASE_URL": "https://git.company.com",
        // "BITBUCKET_PAT_TOKEN": "your-bitbucket-pat",
        // "BITBUCKET_PROJECT": "PROJECT_KEY"                      // Bitbucket Data Center 项目密钥
      }
    }
  }
}

配置说明:

  • 'ATLASSIAN_BASE_URL'、'ATLASSIAN_USERNAME'、'ATLASSIAN_API_TOKEN' 用于 Atlassian Cloud 的 Jira 和 Confluence 服务。
  • 'BITBUCKET_WORKSPACE' 和 'BITBUCKET_API_TOKEN' 用于 Bitbucket Cloud 服务。
  • '_BASE_URL' 和 '_PAT_TOKEN' (例如 'JIRA_BASE_URL' 和 'JIRA_PAT_TOKEN') 是 Atlassian Data Center 服务的配置,每个服务独立设置。'BITBUCKET_PROJECT' 也是 Data Center 特定配置。

基本使用方法

配置完成后,MCP 客户端将能够自动发现并调用此服务器提供的 Atlassian 相关工具和资源。例如,LLM 可以通过调用 'search_jira' 工具来查询 Jira 问题,或通过 'get_page' 工具获取 Confluence 页面内容。具体交互方式取决于 LLM 客户端的实现。

本地开发与测试:

  1. 在运行服务器之前,请设置必要的环境变量(如上述配置信息)。
  2. 运行服务器:
    python mcp_server/main.py
    服务器将通过标准输入/输出(Stdio)等待 MCP 客户端的请求。

AWS Lambda 部署: 项目提供了 AWS SAM 模板,可以方便地部署为 Lambda 函数并通过 API Gateway 暴露。

sam build
sam deploy --guided

部署后,你可以配置 LLM 客户端通过 API Gateway 调用此 Lambda 函数。

信息

分类

开发者工具