天气服务MCP服务器

一款基于Spring Boot的MCP服务器,提供天气信息查询功能,支持SSE和HTTP协议。

  • by PIsberg
  • Java
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 PIsberg/mcp-book-mcp-server-weather-api-http

使用说明

气象工具MCP服务器

这是一个Spring Boot应用程序,充当模型上下文协议(MCP)服务器,使用WeatherAPI提供天气信息。

示例代码来自《你需要了解的关于MCP服务器的知识》一书,其中包含Java和spring引导示例 作者:彼得·伊斯伯格 URL:TODO

特性

  • 天气工具:暴露a weather-tool 获取指定城市的当前天气。
  • MCP支持:通过SSE(服务器发送事件)和HTTP实现模型上下文协议。
  • 端点:
    • GET /sse:MCP连接的SSE端点。
    • POST /sse:流式HTTP客户端的端点。
    • POST /message:用于处理JSON-RPC消息的端点。

先决条件

  • Java 21或更高版本
  • Maven 3.6或更高版本
  • A. WeatherAPI API密钥

构建说明

要构建应用程序,请在项目根目录中运行以下命令:

mvn clean package

这将在 target/ 目录(例如。, target/weather-tool-0.0.1-SNAPSHOT.jar).

运行说明

您可以使用Maven插件运行应用程序:

mvn spring-boot:run

或者直接运行构建的JAR文件:

java -jar target/weather-tool-0.0.1-SNAPSHOT.jar

服务器将在端口上启动 8080 默认情况下。

用法

工具输入模式

这 weather-tool 接受以下参数:

  • q (字符串,必填):城市名称(例如“London”)。
  • key (string,必填):您的WeatherAPI密钥。

JSON-RPC请求示例

您可以使用POST请求来测试该工具 http://localhost:8080/message:

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "weather-tool",
    "arguments": {
      "q": "London",
      "key": "YOUR_API_KEY"
    }
  },
  "id": 1
}