Claude Desktop使用Atlassian Confluence进行查询的MCP
灵感来自 这是一个基于Docker的解决方案。此版本是一个独立的Python脚本,使用curl进行API调用,使其更容易在没有Docker依赖的情况下进行设置。如果你能设法运行Docker,你可以使用原始的解决方案,它更健壮,功能更完整。此版本旨在解决企业环境中可能出现的SSL证书问题,其中Python requests 库可能会因SSL握手问题而失败。
概述
此解决方案创建了一个独立的Python MCP服务器,该服务器使用 curl 对Atlassian进行API调用,避免Python的SSL握手问题 requests 企业网络环境下的图书馆。
为Claude Desktop定制Atlassian MCP服务器
本指南提供了使用自定义MCP(模型上下文协议)服务器将Atlassian(Jira和Confluence)与Claude Desktop集成的完整设置,该服务器绕过了企业环境中常见的SSL证书问题。
特性
- Jira集成:使用JQL搜索问题,获取详细的问题信息
- 汇流集成:搜索页面,获取最新文档
- SSL问题绕过:使用curl而不是Python请求来避免证书问题
- 无需Docker:作为独立的Python脚本运行
- 完整的MCP协议:与Claude Desktop完全集成
创建/修改的文件
要创建的新文件
custom_mcp_atlassian.py-主MCP服务器脚本
- 地点: ~/Library/Application Support/Claude/MCP/MCP_Custom_Atlassian_MCP_Server/custom_mcp_atlassian.py - 用途:使用curl进行API调用的独立MCP服务器
要修改的文件
claude_desktop_config.json-Claude桌面配置
- 地点: ~/Library/Application Support/Claude/claude_desktop_config.json - 目的:配置Claude Desktop以使用自定义MCP服务器
先决条件
- macOS 安装了Claude Desktop
- Python 3 (通常预装在macOS上)
- 卷曲 (预装在macOS上)
- Atlassian API代币 (说明如下)
工具、实用程序和库
- Python 3:通常预装在macOS上
- 卷曲:预装在macOS上
- 克劳德桌面:已在macOS系统上安装和配置
Claude桌面配置
- 文件:
claude_desktop_config.json - 位置:
~/Library/Application Support/Claude/claude_desktop_config.json(适用于macOS) - 行动:替换整个文件(备份后)
- 目的:配置Claude Desktop以使用自定义MCP服务器
- 关键设置:
- 服务器命令: python3 - 脚本路径:完整路径 custom_mcp_atlassian.py - 环境变量:Atlassian URL、用户名、API令牌
安装说明
步骤1:生成Atlassian API令牌
- 首选 大西洋API代币
- 点击“创建API令牌”
- 给它一个描述性的名称(例如“Claude MCP Access”)
- 复制生成的令牌(将其安全保存,即保存在您Atlassian帐户的1Password的“Notes”部分)
步骤2:创建MCP服务器脚本
mkdir -p ~/Library/Application\ Support/Claude/MCP
cd ~/Library/Application\ Support/Claude/MCP
git clone https://github.com/HidekiAI-WORK/MCP_Custom_Atlassian_MCP_Server.git`
cd MCP_Custom_Atlassian_MCP_Server步骤3:使脚本可执行
chmod +x ~/Library/Application\ Support/Claude/MCP/MCP_Custom_Atlassian_MCP_Server/custom_mcp_atlassian.py步骤4:配置Claude桌面
⚠️ 重要提示:请先备份现有配置!
# Backup existing config
cp ~/Library/Application\ Support/Claude/claude_desktop_config.json ~/Library/Application\ Support/Claude/claude_desktop_config.json.backup创建或更新Claude Desktop配置:
cat > ~/Library/Application\ Support/Claude/claude_desktop_config.json “集成”
- 您应该看到“自定义本地地图”
- 如果它没有出现,请转到“常规设置”(Command+,)->开发人员->“自定义图集”并查找任何错误



## 测试设置
### 首先测试直接API访问
在使用Claude Desktop进行测试之前,请验证您的API证书是否有效:
Test Jira API
curl -u "your.email@company.com:YOUR_API_TOKEN" \ "https://YOUR_COMPANY.atlassian.net/rest/api/2/search?jql=updated%20%3E%3D%20-7d&maxResults=1"
Test Confluence API
curl -u "your.email@company.com:YOUR_API_TOKEN" \ "https://YOUR_COMPANY.atlassian.net/wiki/rest/api/content/search?cql=type=page&limit=1"
### 使用Claude Desktop进行测试
重新启动Claude Desktop后,您可以询问Claude:
- “我最近的Jira问题是什么?”
- “搜索过去7天内更新的Jira问题”
- “我最后一份Confluence文档是什么?”
- “获取WAP-123问题的详细信息”
- “在Confluence中搜索有关“项目名称”的页面”
## 可用命令
### Jira命令
1. **搜索问题**:
- 查询:“使用JQL搜索Jira问题:项目=ABC”
- 使用: `jira_search` 工具
1. **获取问题详细信息**:
- 查询:“获取Jira问题ABC-123的详细信息”
- 使用: `jira_get_issue` 工具
### 汇流命令
1. **最近的页面**:
- 问:“我最近的Confluence文档是什么?”
- 使用: `confluence_search` 无查询工具
1. **搜索页面**:
- 查询:“在Confluence中搜索关于‘项目名称’的页面”
- 使用: `confluence_search` 带查询的工具
1. **示例查询**:
- 查询:“校对我写的最新Confluence文档,并找到与我类似的相关文档,这样我就可以将它们添加到我的‘另见’块中”
- 使用: `confluence_search`

## 常见JQL示例
- `updated >= -7d` -过去7天更新的问题
- `project = ABC AND status = "In Progress"` -ABC项目中的进行中问题
- `assignee = currentUser()` -分配给您的问题
- `labels = "urgent"` -带有“紧急”标签的问题
- `created >= startOfWeek()` -本周产生的问题
## 故障排除
### MCP服务器未连接
1. **检查克劳德桌面日志** (如果可用)
1. **验证文件路径** 在配置中匹配您的系统
1. **直接测试Python脚本**:
export JIRA_URL="https://YOUR_COMPANY.atlassian.net" export CONFLUENCE_URL="https://YOUR_COMPANY.atlassian.net/wiki" export JIRA_USERNAME="your.email@company.com" export JIRA_API_TOKEN="YOUR_API_TOKEN"
# Test basic functionality echo '{"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{}},"jsonrpc":"2.0","id":1}' | python3 ~/Library/Application\ Support/Claude/MCP/MCP_Custom_Atlassian_MCP_Server/custom_mcp_atlassian.py
### API访问问题
1. **验证API令牌** 正确且具有适当的权限
1. **检查Atlassian网址** 是正确的
1. **测试curl命令** 手动优先
1. **确保网络访问** 到Atlassian实例
### SSL证书问题
此解决方案通过使用curl而不是Python请求来专门解决SSL问题。如果您仍然遇到SSL问题:
1. **检查公司防火墙/代理设置**
1. **验证curl是否正常工作** 从命令行
1. **联系IT** 如果公司网络阻止API访问
## 文件结构摘要
/Users/hideki.ikeda/Library/Application\ Support/Claude ├── MCP | ├── MCP_Custom_Atlassian_MCP_Server | | ├── LICENSE | | ├── README.md | | ├── claude_desktop_config.SAMPLE.json | | ├── custom_mcp_atlassian.py # Main MCP server script | | └── docs | | ├── Sample-Query-confluence_search.png | | ├── Settings-Developer-MCP-Status.png | | ├── User-Settings-Integrations-MCP-Details.png | | └── User-Settings-Integrations-MCP.png | └── some_other_MCP_projects | └── MCP script.ts ├── claude_desktop_config.json # MCP server configuration ├── claude_desktop_config.json.backup # Optional: Backup of original config ├── config.json └── more_dirs_and_files
## VSCode扩展
当你有 [鲁](https://marketplace.visualstudio.com/items?itemName=RooVeterinaryInc.roo-cline) 安装在VSCode上的扩展,它将自动检测您的Claude Desktop配置,并允许您通过“命令托盘”->“MCP:列表服务器”->“自定义Atlassian服务器”添加MCP(如果它没有出现,可能是Claude Desktop没有运行?)

您还可以通过“命令托盘”->“MCP服务器”->“编辑全局MCP”使其自动启动

请注意,我禁用了Python版本。示例设置:
{ "mcpServers": { "custom-atlassian-server-JS": { "command": "node", "args": [ "/Users/__USERNAME__/Library/Application Support/Claude/MCP/MCP_Custom_Atlassian_MCP_Server/dist/atlassian_mcp_server.js" ], "env": { "JIRA_URL": "https://__YOUR_COMPANY__.atlassian.net", "CONFLUENCE_URL": "https://__YOUR_COMPANY__.atlassian.net/wiki", "JIRA_USERNAME": "__USERNAME__@__YOUR_COMPANY__.com", "JIRA_API_TOKEN": "_SOME_API_KEY_ACQUIRED_FROM_ATLASSIAN_" } }, "custom-atlassian-server-Py": { "command": "python3", "args": [ "/Users/__USERNAME__/Library/Application Support/Claude/MCP/MCP_Custom_Atlassian_MCP_Server/custom_mcp_atlassian.py" ], "env": { "JIRA_URL": "https://__YOUR_COMPANY__.atlassian.net", "CONFLUENCE_URL": "https://__YOUR_COMPANY__.atlassian.net/wiki", "JIRA_USERNAME": "__USERNAME__@__YOUR_COMPANY__.com", "JIRA_API_TOKEN": "_SOME_API_KEY_ACQUIRED_FROM_ATLASSIAN_" }, "disabled": true, "alwaysAllow": [] } } }
最后,VSCode下

请注意,对于“NDT”的简单查询,“找到0个Confluence页面”应该已经找到了一些东西。..但它是连接的,否则我会收到“503”(服务不可用)错误或“400”(错误请求)错误,但为了本文档的目的,这暂时不相关。..
## 安全说明
- **API令牌** 具有敏感访问权限-安全存储
- **备份** 更改前的Claude Desktop配置
- **查看权限** 授予API令牌
- **考虑使用** 环境变量而不是硬编码凭据
## 与同事分享
共享此设置时:
1. **分享此README.md** 有完整的说明
1. **分享 `custom_mcp_atlassian.py`** 脚本
1. **每个人都需要** 他们自己的API令牌
1. **更新URL和用户名** 针对每个人的设置
1. **彻底测试** 在每种环境中
## 鸣谢
开发此解决方案是为了克服将企业Atlassian实例与Claude Desktop的MCP协议集成时常见的SSL证书问题。它使用curl进行API调用,而不是Python的请求库,以绕过公司网络环境中的SSL握手问题。