使用说明
开放式Meteo MCP服务器(Java)
一台统一服务器 提供天气、雪况和空气质量数据 通过 三个API接口 (REST、MCP、聊天)-所有这些都由同一台设备提供支持 核心业务逻辑-通过 开放气象API.
概述
统一架构: 具有共享业务逻辑的单服务器应用程序 公开三个不同的API接口:
| 接口 | 端点 | 目的 |
|---|---|---|
| REST API | /api/* |
直接HTTP/JSON访问天气服务 |
| MCP API | /sse |
人工智能助手的模型上下文协议(Claude) |
| 聊天API | /api/chat/* |
带记忆的对话式AI界面 |
共享能力:
- 11 MCP工具 -天气、雪、空气质量、位置、警报、天文学、, 海洋的
- 4 MCP资源 -天气代码、参数、空气质量指数参考、瑞士 位置
- 3个MCP提示 -滑雪旅行、户外活动、旅行计划
快速开始
# Clone and build
git clone https://github.com/schlpbch/open-meteo-mcp-java.git
cd open-meteo-mcp-java
mvn clean install
# Run
mvn spring-boot:run
# Or with Docker
docker compose up --build
终点:
- 健康:http://localhost:8888/actuator/health
- 休息:http://localhost:8888/api/weather(及其他
/api/*端点) - MCP:http://localhost:8888/sse
- 聊天:http://localhost:8888/api/chat
架构: 所有三个API共享相同的天气服务、业务 逻辑和数据模型。选择最适合您用例的界面- REST用于直接集成,MCP用于AI助手,或Chat用于对话 互动。
MCP工具
核心工具
| 工具 | 说明 |
|---|---|
search_location |
地理编码-按名称搜索位置 |
get_weather |
天气预报,包括温度、降水 |
get_snow_conditions |
雪深、降雪量、滑雪条件 |
get_air_quality |
空气质量指数、污染物、紫外线指数、花粉 |
高级工具
| 工具 | 说明 |
|---|---|
get_weather_alerts |
基于阈值的天气警报 |
get_comfort_index |
户外活动舒适度评分(0-100) |
get_astronomy |
日出、日落、黄金时段、月相 |
search_location_swiss |
瑞士特定位置搜索 |
compare_locations |
多地点天气比较 |
get_historical_weather |
历史数据(1940年至今) |
get_marine_conditions |
湖泊和海岸的波浪/涌浪数据 |
Claude桌面集成
添加到您的Claude Desktop配置中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"open-meteo": {
"command": "java",
"args": ["-jar", "/path/to/open-meteo-mcp-2.0.2.jar"]
}
}
}
或者使用中的安装脚本 claude-desktop/.
配置
# Environment variables
AZURE_OPENAI_KEY=your_key
OPENAI_API_KEY=your_key
ANTHROPIC_API_KEY=your_key
REDIS_URL=redis://localhost:6379
# application.yml
openmeteo:
chat:
enabled: true
memory:
type: redis # or inmemory
测试
mvn test # Run all tests
mvn test jacoco:report # With coverage report
当前: 577项测试通过,81%的指令覆盖率(超过80%的目标)
文档
- 建筑.md -系统设计
- docs/MCP_DOCUMENTATION.md -MCP协议 参考
- docs/openapi-open-meeo.yaml -REST API规范
- docs/openapi-chat.yaml -聊天API规范
- CLAUDE.md -AI开发指南
技术栈
- Java 25 使用虚拟线程
- 弹簧靴4.1.0-M4 / 春季AI 2.0.0-M4 / 春季安全7.1.0-M3
- 码头工人 (日蚀特穆林)/ Redis 8
- JUnit5 +Mockito+AssertJ+反应堆测试
- JJWT 0.12.7 (JWT身份验证)/ 杰克逊3 (JSON序列化)
许可证
Apache 2.0-请参阅 许可证
信用:
v2.1.2 -企业就绪