使用说明

项目简介

本项目是 Tanzu GenAI Showcase 仓库中的一个示例,演示了如何使用 Java Spring Boot 和 Model Context Protocol (MCP) 构建一个事件推荐聊天机器人后端。该后端作为一个 MCP 服务器,可以向 LLM 客户端提供事件推荐相关的上下文信息和功能。

主要功能点

  • 资源管理 (Resources): 虽然示例中没有显式展示资源管理,但后端服务具备管理和提供事件数据的潜力,可以扩展为更完善的资源管理功能。
  • 工具注册和执行 (Tools): 实现了 'chat_assistant' 工具,演示了如何注册和执行工具,允许 LLM 客户端调用聊天助手功能。
  • Prompt 模板 (Prompts): 'McpConfig.java' 中定义的 'PromptTemplate' 体现了 Prompt 模板的概念,虽然较为简单,但展示了如何定制 LLM 交互模式。
  • JSON-RPC 通信: 通过 Spring WebFlux 和 REST Controller ('ChatController.java') 实现了基于 HTTP 的 JSON-RPC 通信,接收客户端请求并返回 JSON 响应。
  • 会话管理: 'ChatService.java' 中使用 'ConcurrentHashMap' 管理聊天会话,实现了基本会话管理功能。

安装步骤

  1. 环境准备: 确保已安装 JDK 17+ 和 Maven。
  2. 克隆仓库: 'git clone https://github.com/cf-toolsuite/tanzu-genai-showcase.git'
  3. 进入后端目录: 'cd tanzu-genai-showcase/java-spring-langgraph-mcp-angular/backend'
  4. 构建项目: 'mvn clean install'
  5. 运行后端服务: 'mvn spring-boot:run' (默认运行在 'http://localhost:8080')

服务器配置 (MCP 客户端配置)

MCP 客户端需要配置连接到此 MCP 服务器的信息。以下是一个可能的 JSON 配置示例,用于配置 MCP 客户端连接到该服务器:

{
  "serverName": "event-recommendation-mcp-server",  // MCP 服务器名称,客户端可自定义
  "command": "java",  // 启动 MCP 服务器的命令,这里是 java
  "args": [  // 启动命令的参数
    "-jar",
    "./target/event-recommendation-backend-0.0.1-SNAPSHOT.jar" // Spring Boot 应用的 JAR 文件路径
  ],
  "transport": "http", // 使用 HTTP 传输协议
  "baseUrl": "http://localhost:8080/mcp" // MCP 服务的基础 URL,/mcp 是默认的 MCP 端点前缀
}

基本使用方法

  1. 启动 MCP 服务器: 按照安装步骤运行后端 Spring Boot 服务。
  2. 配置 MCP 客户端: 在 MCP 客户端中,配置上述 JSON 信息,确保客户端能够连接到运行中的 MCP 服务器。
  3. 客户端交互: MCP 客户端可以通过 JSON-RPC 协议,向 MCP 服务器发送请求,例如:
    • 调用 'chat_assistant' 工具,进行对话交互。
    • 客户端可以根据 MCP 服务器提供的能力声明 (未在此仓库中显式实现),了解服务器提供的资源和工具。
  4. 示例应用: 仓库同时包含了 Angular 前端 ('java-spring-langgraph-mcp-angular/frontend'),可以作为 MCP 客户端的示例参考,虽然它没有直接使用 JSON-RPC 与 MCP 服务器通信,而是通过 REST API 间接交互,但可以帮助理解如何构建一个基于此 MCP 服务器的应用。

注意: 此示例主要用于演示 MCP 的概念,可能缺少生产级别 MCP 服务器的完整特性,例如完善的资源管理、细粒度的权限控制、以及更丰富的传输协议支持等。

信息

分类

AI与计算