Atlassian MCP服务器
一个模型上下文协议(MCP)服务器,提供与Atlassian JIRA和Confluence的无缝集成。此服务器使AI助手和其他MCP客户端能够通过标准化协议与您的Atlassian实例进行交互。
目录
- - 手动安装
概述
Atlassian MCP服务器实现了 模型上下文协议 规范,允许AI助手:
- 管理JIRA工单(创建、更新、转换、评论等)
- 使用Confluence页面(创建、更新、搜索等)
- 访问项目元数据和配置
- 使用工作日志跟踪时间
- 管理标签、观察者和附件
特性
JIRA集成
| 类别 | 功能 |
|---|---|
| 工单管理 | 创建、读取、更新、删除工单 |
| 工作流 | 通过工作流状态转换工单 |
| 评论 | 添加、编辑、删除门票评论 |
| 分配 | 将票分配给用户 |
| 时间跟踪 | 添加、更新、删除工作日志 |
| 标签 | 添加和删除分类标签 |
| 观察者 | 在门票中添加和删除观察者 |
| 附件 | 上传门票文件附件 |
| 链接 | 将相关门票链接在一起 |
| 项目信息 | 获取项目、组件、问题类型、优先级和状态 |
汇流集成
| 类别 | 功能 |
|---|---|
| 页面管理 | 创建、读取、更新、删除页面 |
| 搜索 | 按空格或标签全局搜索内容 |
| 评论 | 添加、编辑、删除页面上的评论 |
| 标签 | 在页面中添加和删除标签 |
| 附件 | 上传和下载附件 |
| 导航 | 获取页面子项、祖先和历史记录 |
| 空间 | 列出并获取Confluence空间的详细信息 |
先决条件
在安装Atlassian MCP服务器之前,请确保您已经:
- Node.js (版本18或更高)
- npm 或 纱线 包管理器
- Atlassian云帐户 具有API访问权限
- Atlassian API代币 -生成一个 Atlassian帐户设置
安装
NPM安装
全局安装软件包:
npm install -g atlassian-mcp-server安装后,运行安装向导:
atlassian-mcp-setup手动安装
- 克隆存储库:
git clone https://github.com/kompallik/ATLASSIAN-MCP.git
cd ATLASSIAN-MCP- 安装依赖项:
npm install- 构建项目:
npm run build- 运行安装向导:
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添加新工具
- 在中创建新文件
src/jira/tools/或src/confluence/tools/ - 导出一个接受的处理函数
(args, apiClient) - 在相应的索引文件中注册该工具(
src/jira/index.ts或src/confluence/index.ts) - 在中添加工具定义
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令牌
- 首选 Atlassian帐户设置
- 点击“创建API令牌”
- 给它一个描述性的标签
- 立即复制令牌(不会再次显示)
需要权限
要获得完整功能,您的Atlassian帐户需要:
- JIRA:浏览项目、创建问题、编辑问题、管理观察者、添加评论
- 汇流:查看空间、添加页面、添加评论、添加附件
许可证
MIT许可证-请参阅 许可证 了解详情。
作者
科迪尼亚 Kompalli -
贡献
欢迎投稿!请随时提交拉取请求。
- 克隆该仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add some amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
