使用说明

项目简介

本项目 'jbang-mcp-examples' 是一组使用 JBang 和 Quarkus MCP Server Stdio 框架构建的示例 MCP 服务器。它演示了如何快速创建提供不同工具的 MCP 后端服务,例如:

  • MCPCalculator: 提供基本的算术运算功能。
  • MCPStopWatch: 提供秒表启动和停止功能。
  • MCPRealWeather: 提供查询实时天气信息的功能。

这些示例旨在帮助开发者理解 MCP 服务器的构建方式,并作为快速搭建自定义 MCP 服务器的起点。

主要功能点

  • 工具 (Tools) 示例: 包含了计算器、秒表和天气查询三个工具的实现,展示了如何通过 '@Tool' 注解将 Java 方法暴露为 MCP 工具。
  • 易于运行: 使用 JBang 可以直接运行 Java 源代码文件,无需复杂的构建和部署过程。
  • Quarkus MCP Server Stdio: 利用 Quarkus MCP Server Stdio 框架简化 MCP 服务器的开发,处理了底层的 JSON-RPC 通信和协议细节。
  • 可扩展性: 展示了如何通过添加新的 Java 类和 '@Tool' 注解来扩展 MCP 服务器的功能。

安装步骤

  1. 安装 SDKMAN!: 如果您的机器上没有安装 SDKMAN!,请先安装 SDKMAN!,这是一个管理多个软件开发工具包 (SDKs) 的工具。您可以访问 SDKMAN! 官网 获取安装指南。
  2. 安装 JBang: 使用 SDKMAN! 安装 JBang。打开终端并执行以下命令:
    sdk install jbang
  3. 克隆仓库: 克隆 'jbang-mcp-examples' 仓库到本地:
    git clone https://github.com/jabrena/jbang-mcp-examples.git
    cd jbang-mcp-examples

服务器配置

以下是针对每个示例 MCP 服务器的 MCP 客户端配置信息。您需要将这些配置添加到您的 MCP 客户端配置中,以便客户端能够连接并使用这些服务器提供的工具。

1. MCPCalculator 服务器配置

{
  "serverName": "MCPCalculator",
  "command": "jbang",
  "args": [
    "./src/main/java/MCPCalculator.java"
  ],
  "description": "提供基本的算术运算工具 (加、减、乘、除)"
}

参数说明:

  • 'serverName': 服务器名称,客户端用于标识和管理连接。
  • 'command': 启动服务器的命令,这里使用 'jbang' 命令直接运行 Java 源代码。
  • 'args': 传递给 'jbang' 命令的参数,指定要运行的 Java 文件路径。
  • 'description': 服务器的简要描述,方便客户端用户了解服务器功能。

2. MCPRealWeather 服务器配置

{
  "serverName": "MCPRealWeather",
  "command": "jbang",
  "args": [
    "./src/main/java/MCPRealWeather.java"
  ],
  "description": "提供查询实时天气信息的工具"
}

参数说明:

  • 配置项含义与 'MCPCalculator' 相同。

3. MCPStopWatch 服务器配置

{
  "serverName": "MCPStopWatch",
  "command": "jbang",
  "args": [
    "./src/main/java/MCPStopWatch.java"
  ],
  "description": "提供秒表启动和停止工具"
}

参数说明:

  • 配置项含义与 'MCPCalculator' 相同。

注意:

  • 以上配置假设您在 'jbang-mcp-examples' 仓库的根目录下运行 MCP 客户端。如果客户端运行目录不同,您可能需要调整 'args' 中的文件路径。
  • 这些示例服务器默认使用 'stdio' 传输协议,无需额外配置网络端口。

基本使用方法

  1. 启动 MCP 服务器: MCP 服务器在 MCP 客户端连接时会自动启动,无需手动启动。
  2. 使用 MCP 客户端: 在您的 MCP 客户端中配置上述服务器信息后,客户端将能够连接到这些示例服务器并调用它们提供的工具。具体的工具调用方式请参考您的 MCP 客户端的使用文档。例如,您可以使用客户端发送 JSON-RPC 请求调用 'MCPCalculator' 的 'operation' 工具进行数学计算,或调用 'MCPRealWeather' 的 'getWeather' 工具查询天气。

例如,要使用 'MCPCalculator' 的 'operation' 工具进行加法运算,客户端可能需要发送类似以下的 JSON-RPC 请求:

{
  "jsonrpc": "2.0",
  "method": "operation",
  "params": {
    "operation": "add",
    "a": 5,
    "b": 3
  },
  "id": 1
}

请根据您的 MCP 客户端的具体使用方法来构造和发送请求,并解析服务器返回的响应。

信息

分类

AI与计算