使用说明
项目简介
本项目 'loot-mcp' 是一个基于 Spring AI 框架构建的 MCP (Model Context Protocol) 服务器示例。它演示了如何使用 Spring AI 注册和暴露工具 (Tools),供 LLM (大型语言模型) 客户端调用。目前,该示例提供了一个简单的 "lootTable" 工具,用于生成随机战利品。
主要功能点
- 工具注册: 使用 Spring AI 的 '@Tool' 注解将 Java 方法注册为可供 LLM 客户端调用的工具。
- 随机战利品生成: 提供 'lootTable' 工具,根据输入的骰子点数,返回不同的战利品描述。
安装步骤
- 克隆仓库:
git clone https://github.com/cpage-pivotal/loot-mcp.git cd loot-mcp - 使用 Maven 构建项目:
构建成功后,会在 'target' 目录下生成可执行的 JAR 文件,例如 'loot-mcp-0.0.1-SNAPSHOT.jar'。./mvnw package
服务器配置 (MCP客户端配置)
MCP 客户端需要配置以下信息才能连接到此 MCP 服务器。以下是一个 JSON 格式的配置示例,请根据实际情况修改:
{ "serverName": "LootMCP Server", // MCP 服务器的名称,可以自定义 "command": "java", // 启动 MCP 服务器的命令,这里使用 java 命令 "args": [ // 启动命令的参数 "-jar", // 指定运行 JAR 文件 "target/loot-mcp-0.0.1-SNAPSHOT.jar" // MCP 服务器 JAR 文件的路径,请根据实际构建结果修改 ] }
参数注释:
- 'serverName': 为 MCP 服务器指定一个易于识别的名称,客户端可以显示这个名称。
- 'command': 指定用于启动服务器进程的命令。对于 Spring Boot JAR 应用,通常是 'java' 命令。
- 'args': 一个字符串数组,包含传递给 'command' 命令的参数。
- '"-jar"': 'java' 命令的参数,表示运行一个 JAR 文件。
- '"target/loot-mcp-0.0.1-SNAPSHOT.jar"': JAR 文件的路径。请务必根据实际构建生成的 JAR 文件名和路径进行修改。 如果在项目根目录下运行 MCP 客户端,相对路径 'target/loot-mcp-0.0.1-SNAPSHOT.jar' 通常是可行的。
基本使用方法
-
启动 MCP 服务器: 打开终端,进入项目根目录,使用 MCP 客户端配置中 'command' 和 'args' 定义的命令启动服务器。例如,在项目根目录下直接运行:
java -jar target/loot-mcp-0.0.1-SNAPSHOT.jar服务器成功启动后,会监听 MCP 客户端的连接请求。
-
配置 MCP 客户端连接: 在 MCP 客户端中,配置上述 JSON 格式的服务器配置信息,确保客户端能够找到并连接到正在运行的 'loot-mcp' 服务器。
-
调用 'lootTable' 工具: 通过 MCP 客户端,可以向服务器发送请求,调用 'lootTable' 工具。客户端需要提供一个整数作为 'dieRoll' 参数(8面骰子的结果),服务器将返回根据该参数生成的随机战利品描述。
注意: 此示例仅提供了一个简单的工具,更完善的 MCP 服务器可能需要实现更丰富的功能,例如资源管理、Prompt 模板管理、更完善的错误处理和安全性等。
信息
分类
AI与计算