项目简介

Atlassian MCP服务器是一个基于Model Context Protocol (MCP) 构建的后端服务,旨在将大型语言模型(LLM)客户端与您的Atlassian Jira和Confluence云实例无缝集成。它通过提供一套丰富的工具,让LLM能够直接管理项目任务、冲刺、看板,以及Confluence页面和空间,从而提升团队协作和生产力。

主要功能点

  • Jira 管理 (38个工具):
    • 任务与史诗管理: 创建、更新、删除、分配Jira任务、Bug、故事和史诗,支持多层级关系(史诗→故事→子任务)。
    • 敏捷开发: 创建、启动、关闭和删除冲刺,管理看板和积压工作,支持将任务移入冲刺和对积压任务进行排序。
    • 工作流与版本: 变更任务状态,添加工作日志,管理项目版本。
    • 字段与用户: 搜索自定义字段,获取用户资料,查询任务变更历史。
  • Confluence 管理 (13个工具):
    • 空间与页面: 列出、创建、更新、删除Confluence空间和页面,管理页面层级。
    • 内容与评论: 使用CQL搜索Confluence内容,获取页面详情(支持多种格式),添加和管理页面评论。
    • 标签与用户: 管理页面标签,搜索Confluence用户。
  • 灵活部署: 支持通过NPM包、Docker容器或本地构建方式轻松部署。
  • 统一配置: 支持命令行参数、环境变量和配置文件多种方式进行身份验证和配置。

安装步骤

此MCP服务器可以通过 'npx' 或 'Docker' 快速启动,无需手动安装。

  1. 获取Atlassian API Token:

    • 访问 'https://id.atlassian.com/manage-profile/security/api-tokens'。
    • 点击“创建API令牌”,输入名称并创建。
    • 复制令牌(仅显示一次,请务必安全保存)。
  2. 运行方式 (三选一):

    • 使用 'npx' (推荐):
      # 使用默认配置文件 (~/.atlassian-mcp.json)
      npx @xuandev/atlassian-mcp
      
      # 或使用环境变量
      ATLASSIAN_DOMAIN="你的域名.atlassian.net" \
      ATLASSIAN_EMAIL="你的邮箱@example.com" \
      ATLASSIAN_API_TOKEN="你的API令牌" \
      npx @xuandev/atlassian-mcp
    • 全局安装 (可选):
      npm install -g @xuandev/atlassian-mcp
      # 然后运行
      atlassian-mcp
    • 使用 Docker (容器化部署):
      # 拉取官方镜像
      docker pull xuanxdev/atlassian-mcp:latest
      
      # 使用环境变量运行
      docker run -i --rm \
        -e ATLASSIAN_DOMAIN="你的域名.atlassian.net" \
        -e ATLASSIAN_EMAIL="你的邮箱@example.com" \
        -e ATLASSIAN_API_TOKEN="你的API令牌" \
        xuanxdev/atlassian-mcp:latest
  3. 配置文件 ('~/.atlassian-mcp.json') 格式 (可选): (如果你选择使用配置文件方式,请创建此文件)

    {
      "domain": "你的域名.atlassian.net",
      "email": "你的邮箱@example.com",
      "apiToken": "你的API令牌"
    }

    安全提示: 务必将配置文件权限设置为 'chmod 600 ~/.atlassian-mcp.json'。

服务器配置 (供MCP客户端参考)

MCP客户端需要知道如何启动此服务器并与之通信。以下是几种常见的MCP客户端配置示例,请根据您的客户端类型和需求进行选择。客户端通常会在其设置中通过JSON格式配置这些信息。

  • 使用 NPM 包启动 (推荐): 如果你在本地开发环境中运行MCP客户端,并希望通过Node.js管理此MCP服务器进程。

    {
      "mcpServers": {
        "atlassian": {
          "command": "npx",
          "args": [
            "-y",
            "@xuandev/atlassian-mcp",
            "--config",
            ".atlassian-mcp.json"
          ],
          "description": "通过npx启动Atlassian MCP服务器,使用当前目录的.atlassian-mcp.json配置文件。",
          "serverName": "Atlassian MCP"
        }
      }
    }

    参数说明:

    • 'command': 指定用于启动服务器的命令,这里是 'npx'。
    • 'args': 传递给 'npx' 命令的参数。
      • '-y': 自动同意安装npm包的提示。
      • '@xuandev/atlassian-mcp': MCP服务器的npm包名。
      • '--config .atlassian-mcp.json': 指定本地配置文件路径。
    • 'description': 服务器的简要描述。
    • 'serverName': 服务器在MCP客户端中显示的名称。

    或者,通过环境变量传递凭据:

    {
      "mcpServers": {
        "atlassian": {
          "command": "npx",
          "args": ["-y", "@xuandev/atlassian-mcp"],
          "env": {
            "ATLASSIAN_DOMAIN": "你的域名.atlassian.net",
            "ATLASSIAN_EMAIL": "你的邮箱@example.com",
            "ATLASSIAN_API_TOKEN": "你的API令牌"
          },
          "description": "通过npx启动Atlassian MCP服务器,使用环境变量提供认证信息。",
          "serverName": "Atlassian MCP"
        }
      }
    }

    参数说明:

    • 'env': 包含服务器运行所需环境变量的对象。
      • 'ATLASSIAN_DOMAIN': 你的Atlassian云实例域名。
      • 'ATLASSIAN_EMAIL': 你的Atlassian账号邮箱。
      • 'ATLASSIAN_API_TOKEN': 你的Atlassian API令牌。
  • 使用 Docker 容器启动: 如果你在容器环境中运行MCP客户端,或者希望以隔离的方式运行MCP服务器。

    {
      "mcpServers": {
        "atlassian": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-v",
            ".atlassian-mcp.json:/config/.atlassian-mcp.json:ro",
            "xuanxdev/atlassian-mcp:latest"
          ],
          "description": "通过Docker容器启动Atlassian MCP服务器,挂载本地配置文件。",
          "serverName": "Atlassian Docker MCP"
        }
      }
    }

    参数说明:

    • 'command': 指定用于启动容器的命令,这里是 'docker'。
    • 'args': 传递给 'docker' 命令的参数。
      • 'run -i --rm': 以交互模式运行容器并在退出时自动删除。
      • '-v .atlassian-mcp.json:/config/.atlassian-mcp.json:ro': 挂载本地配置文件到容器内部 '/config/.atlassian-mcp.json' 路径,只读。
      • 'xuanxdev/atlassian-mcp:latest': Docker镜像名称和标签。

    或者,通过环境变量传递凭据:

    {
      "mcpServers": {
        "atlassian": {
          "command": "docker",
          "args": [
            "run",
            "-i",
            "--rm",
            "-e",
            "ATLASSIAN_DOMAIN=你的域名.atlassian.net",
            "-e",
            "ATLASSIAN_EMAIL=你的邮箱@example.com",
            "-e",
            "ATLASSIAN_API_TOKEN=你的API令牌",
            "xuanxdev/atlassian-mcp:latest"
          ],
          "description": "通过Docker容器启动Atlassian MCP服务器,使用环境变量提供认证信息。",
          "serverName": "Atlassian Docker MCP"
        }
      }
    }

    参数说明:

    • '-e ATLASSIAN_DOMAIN=...': 以环境变量形式传递Atlassian域名。
    • '-e ATLASSIAN_EMAIL=...': 以环境变量形式传递Atlassian邮箱。
    • '-e ATLASSIAN_API_TOKEN=...': 以环境变量形式传递Atlassian API令牌。

基本使用方法

一旦MCP客户端配置并连接到Atlassian MCP服务器,LLM客户端就可以通过调用服务器公开的工具来执行操作。 例如,LLM可以:

  • 查询Jira项目中的所有任务:通过调用 'jira_search_issues' 工具,并提供JQL查询字符串。
  • 创建新的Confluence页面:通过调用 'confluence_create_page' 工具,并提供空间ID、标题和页面内容。
  • 管理冲刺和看板:调用 'jira_create_sprint'、'jira_move_issues_to_sprint' 等工具来规划和执行敏捷工作流。 LLM将根据您的指令和上下文,智能地选择并调用合适的工具来完成任务。

信息

分类

开发者工具