天气信息服务器

一个基于位置坐标提供天气信息的模型上下文协议(MCP)服务器,适用于AI助手和其他客户端集成。

  • by dbillion
  • HTML
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 dbillion/weather-mcp-server

使用说明

气象MCP服务器

一种基于位置坐标提供天气信息的模型上下文协议(MCP)服务器。

概述

天气MCP服务器是一种专门的服务,它实现了模型上下文协议,为人工智能助手和其他客户端提供天气信息。它提供了一个基于纬度和经度坐标检索天气数据的简单工具。

特性

  • 符合MCP的服务器实现
  • 基于位置坐标的气象信息服务
  • 用于LLM集成的安全API密钥管理
  • 轻量级服务器,依赖性最小
  • 已准备好与AI助手集成

先决条件

  • Java 21或更高版本
  • Maven 3.6.0或更高版本
  • Google Gemini API密钥

设置

1.克隆存储库

git clone <repository-url>
cd weather-mcp-server

2.启动服务器

使用提供的启动脚本构建并启动服务器:

./start-server.sh

脚本将:

  • 提示您输入Google Gemini API密钥
  • 构建项目
  • 启动MCP服务器

3.启动客户端(在单独的终端中)

cd weather-client
mvn spring-boot:run

用法

服务器公开了以下工具:

getWeatherByLocation(lat, lon)

  • 描述:根据纬度和经度按位置获取天气信息
  • 参数:
    • lat (int):纬度坐标
    • lon (int):经度坐标
  • 退货:基于所提供坐标的天气描述

配置

服务器使用以下配置:

  • 服务器名称: weather-mcp-server
  • 服务器版本: 1.0.0
  • 运输标准: stdio
  • 所需环境变量: GOOGLE_GEMINI_API_KEY

项目结构

weather-mcp-server/
├── src/
│   └── main/
│       └── java/
│           └── dev/dayo/
│               └── weathermcpserver/
│                   ├── WeatherMcpServerApplication.java
│                   └── service/
│                       └── WeatherService.java
├── weather-client/
│   └── (Client application for testing the MCP server)
├── start-server.sh (Startup script with API key prompt)
└── pom.xml

与MCP客户端集成

服务器可以与MCP兼容的客户端集成。服务器通过stdio传输公开天气工具,该传输在应用程序属性中配置。

此存储库中的客户端(weather-client)已配置为通过中的配置与此服务器通信 weather-client/src/main/resources/mcp-servers.config.json.

对于外部MCP集成,服务器使用stdio传输运行,可以按以下方式调用:

java -jar /path/to/your/cloned/weather-mcp-server/target/weather-mcp-server-0.0.1-SNAPSHOT.jar

替换 /path/to/your/cloned/weather-mcp-server 使用克隆存储库的实际路径。

安全

  • API密钥未存储在存储库中
  • 这 .gitignore 文件阻止提交环境文件
  • API密钥仅在运行时加载到内存中

发展

要运行测试,请执行以下操作:

mvn test

要在不运行测试的情况下进行构建,请执行以下操作:

mvn clean package -DskipTests

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 提交拉取请求

许可证

[在此处指定您的许可证]