使用说明
Atlassian MCP服务器
模块化命令平台(MCP)服务器,连接AI代理、自动化工具(如N8N)和Atlassian云API(JIRA和Confluence)。该服务器公开清晰的REST端点,以自动化JIRA和Confluence上的常见操作。
🚀 功能
Jira
- ✅ 创建JIRA票证
- ✅ 门票顾问
- ✅ 更改票证(摘要、描述、优先级、分配)
- ✅ 执行状态转换
- ✅ 添加评论
- ✅ JQL高级搜索
- ✅ 列出所有项目
汇流
- ✅ 创建Confluence页面
- ✅ 页码咨询师
- ✅ 页面修改器
- ✅ 添加评论
- ✅ 列出所有空间
- ✅ 搜索页面
- ✅ 管理页面树
🛠️ 安装
Prérequis
- Node.js 16+
- 使用API令牌的Atlassian云帐户
- Atlassian令牌API(从https://id.atlassian.com/manage-profile/security/api-tokens)
安装地点
- Cloner le存储库
git clone https://github.com/Flo976/atlassian-mcp-server
cd atlassian-mcp-server
- 安装依赖项
npm install
- 配置
cp .env.example .env
填写文件 .env 使用您的信息:
ATLASSIAN_EMAIL=votre-email@company.com
ATLASSIAN_API_TOKEN=votre_token_api_atlassian
ATLASSIAN_BASE_URL=https://votre-entreprise.atlassian.net
MCP_API_KEY=votre_cle_api_securisee
PORT=3000
- 启动服务器
# Mode production
npm start
# Mode développement (avec rechargement automatique)
npm run dev
安装Docker
- 塑造形象
docker build -t atlassian-mcp-server .
- 启动容器
docker run -d \
--name atlassian-mcp \
-p 3000:3000 \
-e ATLASSIAN_EMAIL=votre-email@company.com \
-e ATLASSIAN_API_TOKEN=votre_token_api \
-e ATLASSIAN_BASE_URL=https://votre-entreprise.atlassian.net \
-e MCP_API_KEY=votre_cle_api_securisee \
atlassian-mcp-server
或使用Docker Compose:
version: '3.8'
services:
atlassian-mcp:
build: .
ports:
- "3000:3000"
environment:
- ATLASSIAN_EMAIL=votre-email@company.com
- ATLASSIAN_API_TOKEN=votre_token_api
- ATLASSIAN_BASE_URL=https://votre-entreprise.atlassian.net
- MCP_API_KEY=votre_cle_api_securisee
- NODE_ENV=production
📚 API文件
认证
所有端点都需要一个标题 X-API-Key 使用您的API密钥。
curl -H "X-API-Key: votre_cle_api" http://localhost:3000/mcp/jira/list_projects
可显示的端点
📋 Jira
创建票证
curl -X POST "http://localhost:3000/mcp/jira/create_issue" \
-H "X-API-Key: votre_cle_api" \
-H "Content-Type: application/json" \
-d '{
"project": "PROJECT_KEY",
"summary": "Titre du ticket",
"description": "Description détaillée",
"issueType": "Task",
"priority": "High",
"labels": ["automation", "api"]
}'
票务顾问
curl -X GET "http://localhost:3000/mcp/jira/get_issue/PROJECT-123" \
-H "X-API-Key: votre_cle_api"
修改人取消票证
curl -X PUT "http://localhost:3000/mcp/jira/update_issue/PROJECT-123" \
-H "X-API-Key: votre_cle_api" \
-H "Content-Type: application/json" \
-d '{
"summary": "Nouveau titre",
"description": "Nouvelle description",
"priority": "Medium"
}'
更改状态
curl -X POST "http://localhost:3000/mcp/jira/transition_issue/PROJECT-123" \
-H "X-API-Key: votre_cle_api" \
-H "Content-Type: application/json" \
-d '{
"transition": "In Progress",
"comment": "Démarrage du travail"
}'
添加评论
curl -X POST "http://localhost:3000/mcp/jira/comment_issue/PROJECT-123" \
-H "X-API-Key: votre_cle_api" \
-H "Content-Type: application/json" \
-d '{
"comment": "Commentaire sur le ticket"
}'
搜索门票
curl -X POST "http://localhost:3000/mcp/jira/search_issues" \
-H "X-API-Key: votre_cle_api" \
-H "Content-Type: application/json" \
-d '{
"jql": "project = PROJECT_KEY AND status = \"To Do\"",
"maxResults": 10
}'
列出项目
curl -X GET "http://localhost:3000/mcp/jira/list_projects" \
-H "X-API-Key: votre_cle_api"
📄 汇流
创建页面
curl -X POST "http://localhost:3000/mcp/confluence/create_page" \
-H "X-API-Key: votre_cle_api" \
-H "Content-Type: application/json" \
-d '{
"space": "SPACE_KEY",
"title": "Titre de la page",
"content": "<p>Contenu de la page en HTML</p>",
"parentId": "123456"
}'
查看页面
curl -X GET "http://localhost:3000/mcp/confluence/get_page/123456" \
-H "X-API-Key: votre_cle_api"
编辑页面
curl -X PUT "http://localhost:3000/mcp/confluence/update_page/123456" \
-H "X-API-Key: votre_cle_api" \
-H "Content-Type: application/json" \
-d '{
"title": "Nouveau titre",
"content": "<p>Nouveau contenu</p>",
"version": 2
}'
添加评论
curl -X POST "http://localhost:3000/mcp/confluence/add_comment/123456" \
-H "X-API-Key: votre_cle_api" \
-H "Content-Type: application/json" \
-d '{
"comment": "<p>Commentaire sur la page</p>"
}'
列出空间
curl -X GET "http://localhost:3000/mcp/confluence/list_spaces" \
-H "X-API-Key: votre_cle_api"
搜索页面
curl -X POST "http://localhost:3000/mcp/confluence/search_pages" \
-H "X-API-Key: votre_cle_api" \
-H "Content-Type: application/json" \
-d '{
"text": "mot-clé",
"space": "SPACE_KEY",
"limit": 10
}'
🔧 与AI代理集成
克劳德/OpenAI
直接在提示或自定义工具中使用REST端点。
n8n
- 使用HTTP请求节点
- 配置端点URL
- 添加标题
X-API-Key - 构建JSON有效载荷
N8n工作流示例
{
"method": "POST",
"url": "http://localhost:3000/mcp/jira/create_issue",
"headers": {
"X-API-Key": "{{$env.MCP_API_KEY}}",
"Content-Type": "application/json"
},
"body": {
"project": "PROJ",
"summary": "{{$json.title}}",
"description": "{{$json.description}}"
}
}
🛡️ 安全
- API密钥身份验证 :所有端点都需要有效的API密钥
- 环境变量 :所有敏感信息都存储在环境变量中
- 速率限制 :流量限制的滥用保护
- 输入验证 :严格验证所有参数
- 安全错误管理 :不暴露错误中的敏感信息
🚦 监控
健康端点
GET /health:检查服务器状态GET /mcp:端点可争议文件
日志
日志包括:
- 具有响应方法和代码的HTTP请求
- 详细的Atlassian错误(在开发模式下)
- 身份验证尝试失败
🤝 贡献
- 分叉项目
- 为您的功能创建分支
- 提交您的更改
- 向分支推
- 创建拉取请求
📝 许可证
麻省理工学院
🆘 支持
对于与以下相关的问题:
- Atlassian API :查看 Atlassian官方文件
- 配置 :检查环境变量和API令牌
- 发展 :在此存储库中创建问题
