Skip to main content
Glama
README.md5.02 kB
# Confluence (KMS) MCP Server 一个 Confluence MCP(Model Context Protocol)服务器:让 AI 在 **Cursor** 里通过自然语言创建、更新、删除、搜索 Confluence(公司内部也称 **KMS**)页面。 ## ✨ 特性 - **页面管理**:创建、更新、删除、获取页面(支持 title / pageId) - **搜索能力**:按关键词搜索、获取子页面、查看页面历史 - **Space 管理**:列出当前账号可访问的 Spaces - **宏辅助**:生成 Confluence Code Macro(storage format),安全插入代码块(规避 `InvalidValueException`) ## ⚠️ 注意事项(必读) - **必须使用 Cursor 的 Agent 模式**,才能调用 `confluence_*` 这组 MCP 工具 - **Cursor `mcp.json` 里的路径必须是绝对路径** ## 📦 项目结构(以仓库现状为准) ``` confluence-node/ ├── src/ │ └── mcp-server.ts # MCP Server 源码(TypeScript) ├── dist/ │ ├── mcp-server.js # 编译产物(Cursor 实际运行的入口) │ └── mcp-server.js.map ├── dev/ │ ├── index.js # 开发/演示脚本(非 MCP) │ └── test-connection.js # 连通性测试脚本 ├── templates/ # 模板文件(如有) ├── env-example.txt # 环境变量示例 ├── mcp-config-example.json # Cursor MCP 配置示例 ├── package.json ├── tsconfig.json └── README.md ``` ## 🚀 快速开始 ### 1) 安装依赖 ```bash npm install ``` ### 2) 配置环境变量 复制 `env-example.txt` 为 `.env`,并填入你的配置: ```env CONF_BASE_URL=https://your-confluence-instance.atlassian.net CONF_USERNAME=your-email@example.com CONF_PASSWORD=your-api-token CONF_SPACE=YOUR_SPACE_KEY ``` > 说明:本项目通过 Confluence REST API + Basic Auth(用户名 + `CONF_PASSWORD`)访问。 > - Atlassian Cloud:`CONF_PASSWORD` 通常是 **API Token** > - 内部 KMS:以你们实际认证方式为准(可能是 Token 或密码) ### 3) 构建(生成 `dist/`) ```bash npm run build ``` ### 4) 配置 Cursor MCP 编辑 `~/.cursor/mcp.json`(可参考 `mcp-config-example.json`),将 `args` 指向 **本仓库的 `dist/mcp-server.js` 绝对路径**: ```json { "mcpServers": { "confluence": { "command": "node", "args": ["/绝对路径/到/confluence-node/dist/mcp-server.js"], "env": { "CONF_BASE_URL": "你的 Confluence/KMS 地址(不要以 / 结尾)", "CONF_USERNAME": "你的用户名/邮箱", "CONF_PASSWORD": "你的 API Token/密码", "CONF_SPACE": "默认 Space Key(可选)" } } } } ``` ### 5) 重启 Cursor 并在 Agent 模式使用 - 完全退出并重启 Cursor - 切换到 **Agent 模式**后再使用(否则 MCP 工具可能不可用) ### 6) 验证(在 Cursor 里直接问) ``` 列出我可以访问的所有 KMS Spaces ``` ## 🛠️ 可用工具 | 类别 | 工具 | 说明 | |------|------|------| | **Space** | `confluence_list_spaces` | 列出可访问的 Spaces | | **页面操作** | `confluence_create_page` | 创建页面 | | | `confluence_update_page` | 更新页面(支持 `pageId` 或 `space+title`) | | | `confluence_upsert_page` | 创建或更新(存在则更新,否则创建) | | | `confluence_get_page` | 获取页面详情(含 storage HTML) | | | `confluence_delete_page` | 删除页面 | | **搜索** | `confluence_search_pages` | 搜索页面 | | | `confluence_get_child_pages` | 获取子页面 | | | `confluence_get_page_history` | 查看页面历史 | | **宏** | `confluence_build_code_macro` | 生成 Code Macro(storage format HTML) | ## 🔧 开发与调试 ### 运行 MCP Server(本地) ```bash npm run mcp ``` ### 测试连通性(推荐先跑) ```bash npm test ``` ### 使用 MCP Inspector 调试 ```bash npx @modelcontextprotocol/inspector node dist/mcp-server.js ``` ### Cursor MCP 日志位置 - macOS:`~/Library/Logs/Cursor/` - Windows:`%APPDATA%\\Cursor\\logs\\` ## 🐛 故障排查 ### Cursor 里看不到 `confluence_*` 工具 1. 确认在 **Agent 模式**下使用 2. 检查 `~/.cursor/mcp.json` 的 `args` 是否为 **绝对路径**,并指向 `dist/mcp-server.js` 3. 运行 `npm run mcp` 看是否能正常启动(无语法/依赖错误) 4. 完全重启 Cursor,并查看日志 ### 认证失败(401/403) - 检查 `CONF_USERNAME / CONF_PASSWORD` 是否正确 - Atlassian Cloud 请使用 API Token;内部 KMS 以实际策略为准 - 确认账号对目标 Space 有权限,可用 `confluence_list_spaces` 验证 ### Space Key 不确定 先执行: ``` 列出我可以访问的所有 Confluence Spaces ``` ## 📚 相关文档 - **KMS 别名说明**:`./KMS_ALIAS_README.md` - **Confluence REST API**:`https://developer.atlassian.com/cloud/confluence/rest/v1/intro/` - **MCP 协议**:`https://modelcontextprotocol.io` ## 📄 许可证 MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/caijohnny/confluence-node'

If you have feedback or need assistance with the MCP directory API, please join our Discord server