使用说明
项目简介
本项目是 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' 管理聊天会话,实现了基本会话管理功能。
安装步骤
- 环境准备: 确保已安装 JDK 17+ 和 Maven。
- 克隆仓库: 'git clone https://github.com/cf-toolsuite/tanzu-genai-showcase.git'
- 进入后端目录: 'cd tanzu-genai-showcase/java-spring-langgraph-mcp-angular/backend'
- 构建项目: 'mvn clean install'
- 运行后端服务: '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 端点前缀 }
基本使用方法
- 启动 MCP 服务器: 按照安装步骤运行后端 Spring Boot 服务。
- 配置 MCP 客户端: 在 MCP 客户端中,配置上述 JSON 信息,确保客户端能够连接到运行中的 MCP 服务器。
- 客户端交互: MCP 客户端可以通过 JSON-RPC 协议,向 MCP 服务器发送请求,例如:
- 调用 'chat_assistant' 工具,进行对话交互。
- 客户端可以根据 MCP 服务器提供的能力声明 (未在此仓库中显式实现),了解服务器提供的资源和工具。
- 示例应用: 仓库同时包含了 Angular 前端 ('java-spring-langgraph-mcp-angular/frontend'),可以作为 MCP 客户端的示例参考,虽然它没有直接使用 JSON-RPC 与 MCP 服务器通信,而是通过 REST API 间接交互,但可以帮助理解如何构建一个基于此 MCP 服务器的应用。
注意: 此示例主要用于演示 MCP 的概念,可能缺少生产级别 MCP 服务器的完整特性,例如完善的资源管理、细粒度的权限控制、以及更丰富的传输协议支持等。
信息
分类
AI与计算