项目简介
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' 快速启动,无需手动安装。
-
获取Atlassian API Token:
- 访问 'https://id.atlassian.com/manage-profile/security/api-tokens'。
- 点击“创建API令牌”,输入名称并创建。
- 复制令牌(仅显示一次,请务必安全保存)。
-
运行方式 (三选一):
- 使用 '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
- 使用 'npx' (推荐):
-
配置文件 ('~/.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将根据您的指令和上下文,智能地选择并调用合适的工具来完成任务。
信息
分类
开发者工具