使用说明

项目简介

本项目 'loot-mcp' 是一个基于 Spring AI 框架构建的 MCP (Model Context Protocol) 服务器示例。它演示了如何使用 Spring AI 注册和暴露工具 (Tools),供 LLM (大型语言模型) 客户端调用。目前,该示例提供了一个简单的 "lootTable" 工具,用于生成随机战利品。

主要功能点

  • 工具注册: 使用 Spring AI 的 '@Tool' 注解将 Java 方法注册为可供 LLM 客户端调用的工具。
  • 随机战利品生成: 提供 'lootTable' 工具,根据输入的骰子点数,返回不同的战利品描述。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/cpage-pivotal/loot-mcp.git
    cd loot-mcp
  2. 使用 Maven 构建项目:
    ./mvnw package
    构建成功后,会在 'target' 目录下生成可执行的 JAR 文件,例如 'loot-mcp-0.0.1-SNAPSHOT.jar'。

服务器配置 (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' 通常是可行的。

基本使用方法

  1. 启动 MCP 服务器: 打开终端,进入项目根目录,使用 MCP 客户端配置中 'command' 和 'args' 定义的命令启动服务器。例如,在项目根目录下直接运行:

    java -jar target/loot-mcp-0.0.1-SNAPSHOT.jar

    服务器成功启动后,会监听 MCP 客户端的连接请求。

  2. 配置 MCP 客户端连接: 在 MCP 客户端中,配置上述 JSON 格式的服务器配置信息,确保客户端能够找到并连接到正在运行的 'loot-mcp' 服务器。

  3. 调用 'lootTable' 工具: 通过 MCP 客户端,可以向服务器发送请求,调用 'lootTable' 工具。客户端需要提供一个整数作为 'dieRoll' 参数(8面骰子的结果),服务器将返回根据该参数生成的随机战利品描述。

注意: 此示例仅提供了一个简单的工具,更完善的 MCP 服务器可能需要实现更丰富的功能,例如资源管理、Prompt 模板管理、更完善的错误处理和安全性等。

信息

分类

AI与计算