关于 MCP Weather Server - Java implementation
这是一个通过 wttr.in API 查询指定地点当前天气的 Java MCP 服务。它适合希望将天气查询接入 Claude Desktop 或其他 MCP 客户端的开发者。
主要功能
- 01按地点获取当前天气
- 02使用 wttr.in,无需 API 密钥
- 03通过 STDIO 传输运行
适用场景
- 01查询某个城市的当前天气
- 02询问 MCP 助手某地是否下雨
- 03集成基于地点的天气查询
MCP 相关
通过 STDIO 向 MCP 客户端提供 `getWeatherDetailsByLocation` 工具,从 wttr.in 获取当前天气。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Weather Server - Java 实现
一个简单的 Model Context Protocol(MCP)服务,可提供任意地点的天气信息。
配套博客文章:用 Java 构建简单的 MCP 服务。
什么是 MCP?
Model Context Protocol(MCP)是一种标准化方式,可让 AI 应用和 Agent 连接数据源与工具。它使 Claude 等 AI 模型能够通过标准化接口与本地系统、外部服务和自定义工具进行交互。
项目功能
- 获取任意地点的当前天气信息
- 兼容 Claude Desktop 和其他 MCP 客户端
- 使用免费的 wttr.in 天气 API(无需 API 密钥)
项目要求
- Java 17 或更高版本
- Maven 3.6 或更高版本
- Spring Boot 3.3.x 或更高版本
- 用于集成 AI 助手的 Claude for Desktop(用作 MCP 客户端)
依赖项
本项目依赖以下关键组件:
<dependencies>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-mcp-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
</dependencies>
构建和运行
该服务使用 STDIO 传输模式,通常由客户端自动启动。
克隆代码仓库
第一步是克隆项目:
git clone https://github.com/chrischiedo/weather-mcp-server-java.git
cd weather-mcp-server-java
构建项目
使用以下命令构建服务 JAR:
./mvnw clean install -DskipTests
这将在 target 目录中创建一个 JAR 文件。
运行测试
使用以下命令运行测试:
./mvnw test
使用方法
运行服务
执行 JAR 文件以启动 MCP 服务:
java -jar target/weather-mcp-server-0.0.1-SNAPSHOT.jar
Claude Desktop 集成
如需将 MCP 服务集成到 Claude Desktop,请将以下配置添加到 Claude Desktop 配置设置中:
{
"mcpServers": {
"mcp-weather-server": {
"command": "java",
"args": [
"-Dspring.ai.mcp.server.stdio=true",
"-jar",
"/absolute/path/to/weather-mcp-server-0.0.1-SNAPSHOT.jar"
]
}
}
}
注意:在 MacOS 上,可通过以下方式打开配置设置文件:
vi ~/Library/Application\ Support/Claude/claude_desktop_config.json
注意:请记得将 /absolute/path/to/ 替换为构建后的 JAR 文件的实际路径。
Claude Desktop 提示词示例
连接后,你可以让 Claude 使用天气工具:
1. “内罗毕现在的天气怎么样?”
2. “伦敦现在在下雨吗?”
3. “告诉我巴黎现在的气温。”
注意:以上提示词于 2025 年 5 月 4 日 发出。
工作原理
该服务实现了 Model Context Protocol,提供一个可从 wttr.in API 获取天气数据的工具。当 Claude 或其他 MCP 客户端连接到该服务时,可以使用 getWeatherDetailsByLocation 工具获取任意地点的当前天气状况。
扩展服务
你可以通过以下方式扩展此服务:
- 添加更多与天气相关的工具(预报、预警、历史数据等)
- 实现其他 MCP 功能,例如资源或提示词
- 使用功能更丰富的其他天气 API(例如 wunderground)
许可证
本项目为开源项目,采用 MIT 许可证。
更多资源
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。