使用说明
气象MCP服务器(Java)
一个Java实现 模型上下文协议(MCP) 通过免费提供当前天气数据的服务器 开放气象API。不需要API密钥。
这是一个Java端口 PHP版本.
工具
get_current_weather
获取一个城市的当前天气。
输入:
{ "location": "Berlin" }
输出:
{
"location": "Berlin",
"country": "Germany",
"coordinates": { "latitude": 52.524, "longitude": 13.4105 },
"temperature": { "current": 5.1, "feels_like": 2.3, "unit": "°C" },
"humidity": "74%",
"wind": { "speed": 14.4, "direction": "SW", "unit": "km/h" },
"conditions": "Partly cloudy",
"timestamp": "2026-02-19T11:00"
}
构建与运行
# Build the fat JAR
mvn package
# Run manually
java -jar target/weather-mcp-1.0.0.jar
# Run tests
mvn test
MCP集成
建成后 .mcp.json 文件会自动使用Claude Code注册此服务器:
{
"mcpServers": {
"weather": {
"command": "java",
"args": ["-jar", "/Users/stephan/IdeaProjects/WeatherMCPExample/target/weather-mcp-1.0.0.jar"]
}
}
}
项目结构
src/main/java/com/example/weather/
├── Main.java # Entry point — registers tools and starts server
├── McpServer.java # MCP/JSON-RPC 2.0 protocol handler (stdio)
└── WeatherService.java # Open-Meteo geocoding + weather API client
src/test/java/com/example/weather/
├── McpServerTest.java # Tests for JSON-RPC protocol handling
└── WeatherServiceTest.java # Tests for weather data, compass, WMO codes
需求
- Java 21+
- Maven 3.6+