Atlassian集成服务器

一个实现Model Context Protocol规范的服务器,提供与Atlassian JIRA和Confluence的无缝集成,使AI助手和其他MCP客户端能够通过标准化协议与Atlassian实例交互。

  • by markheramis
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 markheramis/atlassian-mcp

使用说明

Atlassian MCP服务器

一个模型上下文协议(MCP)服务器,提供与Atlassian JIRA和Confluence的无缝集成。此服务器使AI助手和其他MCP客户端能够通过标准化协议与您的Atlassian实例进行交互。

目录

概述

Atlassian MCP服务器实现了 模型上下文协议 规范,允许AI助手:

  • 管理JIRA工单(创建、更新、转换、评论等)
  • 使用Confluence页面(创建、更新、搜索等)
  • 访问项目元数据和配置
  • 使用工作日志跟踪时间
  • 管理标签、观察者和附件

特性

JIRA集成

类别 功能
工单管理 创建、读取、更新、删除工单
工作流 通过工作流状态转换工单
评论 添加、编辑、删除门票评论
分配 将票分配给用户
时间跟踪 添加、更新、删除工作日志
标签 添加和删除分类标签
观察者 在门票中添加和删除观察者
附件 上传门票文件附件
链接 将相关门票链接在一起
项目信息 获取项目、组件、问题类型、优先级和状态

汇流集成

类别 功能
页面管理 创建、读取、更新、删除页面
搜索 按空格或标签全局搜索内容
评论 添加、编辑、删除页面上的评论
标签 在页面中添加和删除标签
附件 上传和下载附件
导航 获取页面子项、祖先和历史记录
空间 列出并获取Confluence空间的详细信息

先决条件

在安装Atlassian MCP服务器之前,请确保您已经:

  1. Node.js (版本18或更高)
  2. npm 或 纱线 包管理器
  3. Atlassian云帐户 具有API访问权限
  4. Atlassian API代币 -生成一个 Atlassian帐户设置

安装

NPM安装

全局安装软件包:

npm install -g atlassian-mcp-server

安装后,运行安装向导:

atlassian-mcp-setup

手动安装

  1. 克隆存储库:
git clone https://github.com/kompallik/ATLASSIAN-MCP.git
cd ATLASSIAN-MCP
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. 运行安装向导:
npm run setup

配置

服务器可以使用配置文件或环境变量进行配置。

配置文件

创建一个 config/config.json 文件(或运行 npm run setup 以交互方式创建一个):

{
  "atlassian": {
    "baseUrl": "https://your-instance.atlassian.net",
    "email": "your-email@example.com",
    "token": "your-api-token-here"
  },
  "server": {
    "name": "atlassian-server",
    "version": "0.1.0"
  }
}
属性 描述 必填
atlassian.baseUrl 您的Atlassian实例URL 是
atlassian.email 您的Atlassian帐户电子邮件 是
atlassian.token 您的Atlassian API代币 是
server.name 此MCP服务器实例的名称 否
server.version 服务器版本 否

环境变量

或者,使用环境变量配置服务器:

变量 描述
ATLASSIAN_CONFIG_PATH 配置文件的路径
ATLASSIAN_BASE_URL 您的Atlassian实例URL
ATLASSIAN_EMAIL 您的Atlassian帐户电子邮件
ATLASSIAN_TOKEN 您的Atlassian API代币
SERVER_NAME 此MCP服务器实例的名称
SERVER_VERSION 服务器版本
MCP_DEBUG 设置为 true 启用调试日志记录

用法

与克莱恩

将以下内容添加到Cline MCP设置中:

{
  "mcpServers": {
    "atlassian-server": {
      "command": "atlassian-mcp-server",
      "args": [],
      "env": {
        "ATLASSIAN_CONFIG_PATH": "/path/to/config/config.json"
      },
      "disabled": false
    }
  }
}

带光标

添加到光标设置(~/.cursor/mcp.json):

{
  "mcpServers": {
    "atlassian-server": {
      "command": "node",
      "args": ["/path/to/mcp-atlassian/build/index.js"],
      "env": {
        "ATLASSIAN_BASE_URL": "https://your-instance.atlassian.net",
        "ATLASSIAN_EMAIL": "your-email@example.com",
        "ATLASSIAN_TOKEN": "your-api-token",
        "SERVER_NAME": "my.atlassian-server",
        "SERVER_VERSION": "0.1.0"
      },
      "disabled": false
    }
  }
}

或者,如果通过NPM全局安装:

{
  "mcpServers": {
    "atlassian-server": {
      "command": "atlassian-mcp-server",
      "args": [],
      "env": {
        "ATLASSIAN_CONFIG_PATH": "/path/to/config/config.json"
      },
      "disabled": false
    }
  }
}

使用克劳德桌面

添加到您的Claude Desktop配置中:

{
  "mcpServers": {
    "atlassian-server": {
      "command": "atlassian-mcp-server",
      "env": {
        "ATLASSIAN_BASE_URL": "https://your-instance.atlassian.net",
        "ATLASSIAN_EMAIL": "your-email@example.com",
        "ATLASSIAN_TOKEN": "your-api-token"
      }
    }
  }
}

可用工具

JIRA工具

票务操作

工具 说明
get_jira_ticket 按密钥获取JIRA票证的详细信息
search_jira_tickets 使用JQL(JIRA查询语言)搜索门票
create_jira_ticket 创建新的JIRA票证
update_jira_ticket 更新票证字段(摘要、描述、优先级)
delete_jira_ticket 删除工单(如果权限允许)
transition_jira_ticket 通过工作流转换更改工单状态
get_jira_ticket_transitions 获取工单的可用状态转换
assign_jira_ticket 为用户分配票证
link_jira_tickets 将两张票链接在一起(关联、块、副本)

评论

工具 说明
add_comment_to_jira_ticket 在工单上添加评论
get_jira_ticket_comments 获取门票上的所有评论
update_jira_comment 编辑现有评论
delete_jira_comment 删除评论

工作日志(时间跟踪)

工具 说明
add_worklog_to_jira_ticket 记录在票上花费的时间
get_jira_ticket_worklogs 检索所有工作日志条目
update_jira_worklog 修改现有工作日志条目
delete_jira_worklog 删除工作日志条目

标签和观察者

工具 说明
add_label_to_jira_ticket 为工单添加标签
remove_label_from_jira_ticket 从票上删除标签
add_watcher_to_jira_ticket 将用户添加为观察者
remove_watcher_from_jira_ticket 删除观察者
get_jira_ticket_watchers 列出一张票的所有观察者

附件

工具 说明
add_attachment_to_jira_ticket 将文件附件上传到工单

项目信息

工具 说明
get_jira_projects 列出所有JIRA项目
get_jira_project 获取项目的详细信息
get_jira_components 获取项目的所有组件
get_jira_issue_types 获取可用的问题类型
get_jira_priorities 获取所有优先级选项
get_jira_statuses 获取项目的所有可用状态

汇流工具

页面操作

工具 说明
get_confluence_page 按ID获取页面
create_confluence_page 创建新页面
update_confluence_page 更新现有页面
delete_confluence_page 删除页面

搜索

工具 说明
search_confluence 在全球范围内搜索内容
search_confluence_by_space 在特定空间内搜索
search_confluence_by_label 按标签搜索页面

评论

工具 说明
add_comment_to_confluence_page 向页面添加评论
get_confluence_page_comments 获取页面上的所有评论
update_confluence_comment 编辑现有评论
delete_confluence_comment 删除评论

标签

工具 说明
add_label_to_confluence_page 向页面添加标签
remove_label_from_confluence_page 从页面中删除标签
get_confluence_page_labels 获取页面上的所有标签

附件

工具 说明
get_confluence_page_attachments 列出页面上的所有附件
upload_attachment_to_confluence_page 上传文件附件
download_confluence_attachment 获取下载URL和元数据

导航和层次结构

工具 说明
get_confluence_page_children 获取子页面(子页面)
get_confluence_page_ancestors 获取父页面(祖先)
get_confluence_page_history 获取版本历史记录

空间

工具 说明
get_confluence_spaces 列出所有汇流空间
get_confluence_space 获取详细的空间信息
get_confluence_space_content 列出空间内的所有页面

MCP资源

服务器将Atlassian内容作为MCP资源公开:

URI模式 描述
jira://ticket/{key} 访问JIRA门票(例如。, jira://ticket/PROJ-123)
confluence://spaces 可用汇流空间列表
confluence://page/{id} 按ID访问Confluence页面

资源会自动列出最近的JIRA票证(在过去30天内更新)。

发展

项目结构

mcp-atlassian/
├── src/
│   ├── index.ts              # Server entry point
│   ├── config.ts             # Configuration management
│   ├── api-client.ts         # Axios client setup
│   ├── types/
│   │   └── tools.ts          # TypeScript type definitions
│   ├── handlers/
│   │   ├── resources.ts      # MCP resource handlers
│   │   ├── tools.ts          # Tool definitions
│   │   └── tool-executor.ts  # Tool execution router
│   ├── jira/
│   │   ├── index.ts          # JIRA tool registry
│   │   └── tools/            # Individual JIRA tool implementations
│   ├── confluence/
│   │   ├── index.ts          # Confluence tool registry
│   │   └── tools/            # Individual Confluence tool implementations
│   └── utils/
│       ├── adf.ts            # Atlassian Document Format utilities
│       ├── cache.ts          # Caching utilities
│       ├── cql.ts            # Confluence Query Language utilities
│       ├── jql-validator.ts  # JQL validation
│       ├── response.ts       # Response formatting
│       ├── user-lookup.ts    # User lookup utilities
│       └── validation.ts     # Input validation
├── build/                    # Compiled JavaScript output
├── config/
│   └── config.sample.json    # Sample configuration file
├── package.json
├── tsconfig.json
└── README.md

建筑

# Build the project
npm run build

# Run in development mode
npm run dev

# Start the built server
npm start

添加新工具

  1. 在中创建新文件 src/jira/tools/ 或 src/confluence/tools/
  2. 导出一个接受的处理函数 (args, apiClient)
  3. 在相应的索引文件中注册该工具(src/jira/index.ts 或 src/confluence/index.ts)
  4. 在中添加工具定义 src/handlers/tools.ts

调试

启用调试模式以查看详细的API请求和响应:

MCP_DEBUG=true atlassian-mcp-server

或者在MCP客户端配置中设置:

{
  "mcpServers": {
    "atlassian-server": {
      "command": "atlassian-mcp-server",
      "env": {
        "MCP_DEBUG": "true",
        "ATLASSIAN_CONFIG_PATH": "/path/to/config.json"
      }
    }
  }
}

故障排除

常见问题

问题 解决方案
“需要Atlassian基本URL” 确保 baseUrl 在配置或 ATLASSIAN_BASE_URL env var
“401未经授权” 检查您的API令牌和电子邮件是否正确
“403禁止” 确保您的帐户具有必要的权限
“找不到配置文件” 运行 npm run setup 或设置 ATLASSIAN_CONFIG_PATH
连接超时 检查您的网络连接和Atlassian实例可用性

获取API令牌

  1. 首选 Atlassian帐户设置
  2. 点击“创建API令牌”
  3. 给它一个描述性的标签
  4. 立即复制令牌(不会再次显示)

需要权限

要获得完整功能,您的Atlassian帐户需要:

  • JIRA:浏览项目、创建问题、编辑问题、管理观察者、添加评论
  • 汇流:查看空间、添加页面、添加评论、添加附件

许可证

MIT许可证-请参阅 许可证 了解详情。

作者

科迪尼亚 Kompalli - GitHub

贡献

欢迎投稿!请随时提交拉取请求。

  1. 克隆该仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求