一个集成Confluence与Claude Desktop和其他AI助手的模型上下文协议(MCP)服务器,使您能够通过自然语言与Confluence文档进行交互。
# 克隆仓库
git clone https://github.com/alirezarezvani/confluence-mcp-server.git
cd confluence-mcp-server
# 安装依赖
npm install
# 构建项目
npm run build
# 全局安装以方便访问
npm run install-global
# 克隆仓库
git clone https://github.com/alirezarezvani/confluence-mcp-server.git
cd confluence-mcp-server
# 安装依赖并构建
npm install
npm run build
API令牌:
空间键:
https://your-org.atlassian.net/wiki/spaces/SPACEKEY/SPACEKEY即所需的内容基础URL:
https://your-org.atlassian.net(不带/wiki)在项目根目录创建一个.env文件:
CONFLUENCE_BASE_URL=https://your-org.atlassian.net
CONFLUENCE_EMAIL=your-email@company.com
CONFLUENCE_API_TOKEN=your-api-token-here
CONFLUENCE_SPACE_KEY=YOUR_SPACE_KEY
# 测试环境变量
npm run validate-env
# 测试服务器连接
npm start
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"confluence": {
"command": "confluence-mcp",
"env": {
"CONFLUENCE_BASE_URL": "https://your-org.atlassian.net",
- "CONFLUENCE_EMAIL": "your-email@company.com",
"CONFLUENCE_API_TOKEN": "your-api-token",
"CONFLUENCE_SPACE_KEY": "YOUR_SPACE_KEY"
}
}
}
}
{
"mcpServers": {
"confluence": {
"command": "node",
"args": ["/full/path/to/confluence-mcp-server/dist/confluence-mcp-server.js"],
"env": {
"CONFLUENCE_BASE_URL": "https://your-org.atlassian.net",
"CONFLUENCE_EMAIL": "your-email@company.com",
"CONFLUENCE_API_TOKEN": "your-api-token",
"CONFLUENCE_SPACE_KEY": "YOUR_SPACE_KEY"
}
}
}
}
Cmd+Q然后重新打开)使用文本查询或CQL搜索页面。
使用示例:
检索特定页面的完整内容。
使用示例:
列出您Confluence空间中的所有页面。
使用示例:
探索页面之间的父子关系。
使用示例:
通过精确匹配标题查找页面。
使用示例:
"帮我找到我们的部署过程文档"
"关于我们API端点的最新信息是什么?"
"显示与移动应用项目相关的所有页面"
"给我我们编码标准页面的内容"
"查找与新功能相关的所有文档"
"我们的架构文档对微服务说了什么?"
"显示生产问题的故障排除指南"
"列出上个月更新的所有页面"
"搜索Docker配置示例"
"查找我们的Git工作流文档"
"我们的测试指南页面里有什么?"
"显示API集成示例"
# 开发时自动重载
npm run dev
# 将TypeScript编译成JavaScript
npm run build
# 运行已构建的服务器
npm start
# 监控更改并自动重启
npm run watch
# 清理构建目录
npm run clean
# 验证环境变量
npm run validate-env
# 运行测试
npm test
# 运行特定测试文件
npm test -- tests/path/to/test.ts
confluence-mcp-server/
├── src/
│ ├── confluence-mcp-server.ts # 主服务器实现
│ ├── cache/ # 缓存实现
│ │ ├── CacheManager.ts # 通用缓存管理
│ │ └── ConfluenceCache.ts # Confluence特定缓存
│ └── monitoring/ # 性能监控
│ └── PerformanceMonitor.ts # 性能跟踪和指标
├── tests/
│ ├── confluence-mcp-server.test.ts # 主服务器测试
│ ├── integration/ # 集成测试
│ │ └── mcp-tools.test.ts # MCP工具集成测试
│ ├── cache/ # 缓存测试
│ │ └── CacheManager.test.ts # 缓存管理器测试
│ ├── monitoring/ # 监控测试
│ │ └── PerformanceMonitor.test.ts # 性能监视器测试
│ └── utils/ # 测试工具
│ └── test-utils.ts # 模拟实现和辅助工具
├── dist/ # 编译后的JavaScript(构建后)
├── package.json # 项目依赖和脚本
├── tsconfig.json # TypeScript配置
├── jest.config.js # Jest测试配置
├── .env # 环境变量(创建此文件)
├── .env.test # 测试环境变量
├── .gitignore # Git忽略规则
└── README.md # 此文件
该项目包含使用Jest的全面测试套件。测试涵盖了MCP服务器功能的单元测试和集成测试。
# 运行所有测试
npm test
# 运行特定测试文件
npm test -- tests/cache/CacheManager.test.ts
# 运行带有覆盖率报告的测试
npm test -- --coverage
测试使用独立的.env.test文件来存储环境变量。运行测试时会自动设置测试环境。
chmod +x dist/confluence-mcp-server.js
npm run validate-env
# 使用详细日志运行
LOG_LEVEL=debug npm start
.env文件并保持其安全我们欢迎贡献!请参阅我们的贡献指南了解详情。
git checkout -b feature/amazing-feature)git commit -m '添加神奇功能')git push origin feature/amazing-feature)本项目根据MIT许可发布 - 详情请参阅LICENSE文件。
由Alireza Rezvani制作 ❤️