项目简介

该项目是一个基于 Spring Boot AI 构建的 Model Context Protocol (MCP) 服务器示例。它集成了 Atlassian Confluence Cloud,并将 Confluence 中的多种文档管理操作(如列出空间、创建文档、获取页面历史等)封装为可通过 MCP 协议供大型语言模型 (LLM) 客户端调用的工具。这个服务器使得 LLM 能够直接与你的 Confluence 实例交互,执行相关任务。

主要功能点

  • Confluence Cloud 集成: 连接到你的 Confluence Cloud 账户,以便访问和管理内容。
  • 可调用工具: 提供了多个功能,允许 LLM 执行操作,例如:
    • 列出 Confluence 中的所有空间。
    • 获取特定空间内的文档数量。
    • 列出特定空间内的所有文档。
    • 在指定空间中创建新文档(页面),包含标题和内容。
    • 获取特定文档(页面)的版本历史。
    • 获取特定文档(页面)的元数据。
  • 易于测试: 可以与任何符合 MCP 标准的客户端配合使用,包括例如 Claude 桌面应用等。

安装步骤

  1. 克隆仓库: 使用 Git 命令将项目仓库克隆到你的本地计算机。
    git clone https://github.com/BootcampToProd/spring-boot-ai-confluence-mcp-server.git
    cd spring-boot-ai-confluence-mcp-server
  2. 配置 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'。
  3. 构建项目: 项目使用 Maven 构建。请确保你的系统安装了 Java 和 Maven。
    mvn clean package
    这将在 'target' 目录下生成一个可执行的 JAR 文件。
  4. 运行服务器: 使用 Java 命令运行生成的 JAR 文件。
    java -jar target/spring-boot-ai-confluence-mcp-server-*.jar
    (请将 'spring-boot-ai-confluence-mcp-server-*.jar' 替换为实际生成的 JAR 文件名) 服务器启动后,它将通过标准输入/输出 (Stdio) 等协议准备好与 MCP 客户端通信。

服务器配置 (供 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 能够识别并正确使用工具。

信息

分类

生产力应用