项目简介
该项目是一个基于 Spring Boot AI 构建的 Model Context Protocol (MCP) 服务器示例。它集成了 Atlassian Confluence Cloud,并将 Confluence 中的多种文档管理操作(如列出空间、创建文档、获取页面历史等)封装为可通过 MCP 协议供大型语言模型 (LLM) 客户端调用的工具。这个服务器使得 LLM 能够直接与你的 Confluence 实例交互,执行相关任务。
主要功能点
- Confluence Cloud 集成: 连接到你的 Confluence Cloud 账户,以便访问和管理内容。
- 可调用工具: 提供了多个功能,允许 LLM 执行操作,例如:
- 列出 Confluence 中的所有空间。
- 获取特定空间内的文档数量。
- 列出特定空间内的所有文档。
- 在指定空间中创建新文档(页面),包含标题和内容。
- 获取特定文档(页面)的版本历史。
- 获取特定文档(页面)的元数据。
- 易于测试: 可以与任何符合 MCP 标准的客户端配合使用,包括例如 Claude 桌面应用等。
安装步骤
- 克隆仓库:
使用 Git 命令将项目仓库克隆到你的本地计算机。
git clone https://github.com/BootcampToProd/spring-boot-ai-confluence-mcp-server.git cd spring-boot-ai-confluence-mcp-server - 配置 Confluence 凭据:
该服务器需要你的 Confluence Cloud 电子邮件、API Token 和基础 URL 才能连接。你可以通过设置环境变量或在 'src/main/resources/application.properties' (或 'application.yml') 文件中配置这些信息。推荐使用环境变量,以提高安全性:
- 'CONFLUENCE_AUTH_EMAIL': 你的 Confluence 登录邮箱。
- 'CONFLUENCE_AUTH_API_TOKEN': 你在 Confluence Cloud 中生成的 API Token。
- 'CONFLUENCE_BASE_URL': 你的 Confluence Cloud 实例的基础 URL,例如 'https://your-domain.atlassian.net/wiki/rest/api'。
- 构建项目:
项目使用 Maven 构建。请确保你的系统安装了 Java 和 Maven。
这将在 'target' 目录下生成一个可执行的 JAR 文件。mvn clean package - 运行服务器:
使用 Java 命令运行生成的 JAR 文件。
(请将 'spring-boot-ai-confluence-mcp-server-*.jar' 替换为实际生成的 JAR 文件名) 服务器启动后,它将通过标准输入/输出 (Stdio) 等协议准备好与 MCP 客户端通信。java -jar target/spring-boot-ai-confluence-mcp-server-*.jar
服务器配置 (供 MCP 客户端使用)
为了让 MCP 客户端(如 Claude 桌面应用)连接到这个服务器,你需要在客户端的 MCP 配置中添加一个新的服务器条目。配置信息通常是 JSON 格式,核心部分包括如何启动这个服务器进程。
以下是配置时需要填写的关键信息及其说明:
- 服务器名称 (name): 为这个服务器起一个容易识别的名字,例如 "My Confluence Server"。
- 启动命令 (command): 启动服务器的可执行文件路径。通常是 'java' 命令的路径。
- 命令参数 (args): 传递给启动命令的参数。对于这个 Spring Boot 应用,参数是 '-jar' 后面跟着你构建生成的 JAR 文件的完整路径。例如,如果你的项目在 '/home/user/mcp-servers/confluence' 目录下,JAR 文件名是 'spring-boot-ai-confluence-mcp-server-1.0.0.jar',则参数可能是 '["-jar", "/home/user/mcp-servers/confluence/target/spring-boot-ai-confluence-mcp-server-1.0.0.jar"]'。请根据你的实际文件路径填写。
- 环境变量 (environmentVariables): 如果你通过环境变量配置了 Confluence 凭据,你需要在客户端配置中传递这些环境变量,或者确保运行客户端的环境已经设置了这些变量。例如,配置 '{"CONFLUENCE_AUTH_EMAIL": "your-email", "CONFLUENCE_AUTH_API_TOKEN": "your-api-token", "CONFLUENCE_BASE_URL": "your-confluence-url"}'。 注意:直接在客户端配置中硬编码敏感信息不安全,推荐在操作系统层面设置环境变量。
- 传输协议 (transport): 大多数 MCP 客户端与通过命令行启动的服务器默认使用 Stdio 协议。你可能不需要额外配置这个选项,除非客户端或服务器有特殊要求。
完成客户端配置后,客户端应该能够启动并连接到你的 Confluence MCP 服务器,并发现其提供的 Confluence 相关工具。
基本使用方法
当服务器成功运行并连接到 MCP 客户端后,你可以在与 LLM 的对话中提及需要使用 Confluence 功能的任务。LLM 如果判断当前任务可以通过已连接的 Confluence MCP 服务器工具完成,它将自动调用相应的工具并利用返回的信息来回答你或执行操作。例如:
- 问:“我的 Confluence 里有哪些空间?” (LLM 可能调用 'listSpaces' 工具)
- 说:“在 '我的项目' 空间里创建一个标题为 '周会纪要' 的新文档,内容是今天的会议要点。” (LLM 可能调用 'createDocument' 工具)
- 问:“文档 ID 为 12345 的页面有多少个版本?” (LLM 可能调用 'getPageHistory' 工具)
请确保你的提示清晰地表达了对 Confluence 功能的需求,以便 LLM 能够识别并正确使用工具。
信息
分类
生产力应用