mcpField
M
MCP Weather Server - Java implementation

MCP Weather Server - Java implementation

本地服务
github.com/chrischiedo媒体与设计177 周前更新

关于 MCP Weather Server - Java implementation

这是一个通过 wttr.in API 查询指定地点当前天气的 Java MCP 服务。它适合希望将天气查询接入 Claude Desktop 或其他 MCP 客户端的开发者。

主要功能

  1. 01按地点获取当前天气
  2. 02使用 wttr.in,无需 API 密钥
  3. 03通过 STDIO 传输运行

适用场景

  1. 01查询某个城市的当前天气
  2. 02询问 MCP 助手某地是否下雨
  3. 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. “内罗毕现在的天气怎么样?” sample-claude-desktop-screenshot1
2. “伦敦现在在下雨吗?” sample-claude-desktop-screenshot2
3. “告诉我巴黎现在的气温。” sample-claude-desktop-screenshot2

注意:以上提示词于 2025 年 5 月 4 日 发出。

工作原理

该服务实现了 Model Context Protocol,提供一个可从 wttr.in API 获取天气数据的工具。当 Claude 或其他 MCP 客户端连接到该服务时,可以使用 getWeatherDetailsByLocation 工具获取任意地点的当前天气状况。

扩展服务

你可以通过以下方式扩展此服务:

  1. 添加更多与天气相关的工具(预报、预警、历史数据等)
  2. 实现其他 MCP 功能,例如资源或提示词
  3. 使用功能更丰富的其他天气 API(例如 wunderground)

许可证

本项目为开源项目,采用 MIT 许可证。

更多资源

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。