使用说明
accuweath mcp
设置
- 在系统中定义以下环境变量
export ACCUWEATHER_API_KEY=replace-with-your-api-key
- 定义a
application-local.yaml在src/main/resources/application.yaml内容如下:
logging:
console:
enabled: true
- 如果使用Cursor,请添加以下文档源:
- Spring AI文档
- [Wiremock文档][https://wiremock.org/docs/]
- [龙目岛文件][https://projectlombok.org/features/]
跑
- 与一起跑步
SPRING_PROFILES_ACTIVE=local ./gradlew bootRun
测试
备注:如果启用Java调试器,它将产生输出到标准输出,这将触发stdio MCP协议中的错误。
MCP检查员
用以下方式进行测试 MCP检查员,从repo的根目录运行以下命令:
npx @modelcontextprotocol/inspector -e 'JAVA_TOOL_OPTIONS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005' java -jar "build/libs/accuweather-mcp-local-snapshot.jar"
这源于此 博客。
AI聊天(克劳德,光标)
- 将此配置添加到MCP设置中:
{
"mcpServers": {
"accuweather-mcp": {
"command": "PATH_TO_JAVA",
"args": ["-jar", "ABSOLUTE_PATH_TO_REPO/build/libs/accuweather-mcp-local-snapshot.jar"],
"env": {
"ACCUWEATHER_API_KEY": "API_KEY"
}
}
}
}
如果您正在使用SDKMAN, command 应 ~/.sdkman/candidates/java/current/bin/java
这来源于 MCP文件.
示例用户提示:
Use the accuweather-mcp to look up the current weather in Manchester, UK.
码头工人
该项目使用 Jib Gradle插件 构建Docker镜像。
- 构建镜像并将其加载到本地Docker守护进程中:
./gradlew jibDockerBuild
默认图像名称为 jonjam/accuweather-mcp.
要将docker镜像与MCP Inspector一起使用,命令如下:
npx @modelcontextprotocol/inspector docker run --rm -i --env "ACCUWEATHER_API_KEY=$ACCUWEATHER_API_KEY" jonjam/accuweather-mcp:latest
模式和实践
有关此项目的模式和实践的更多信息,请参阅AGENTS.md。
Git
此项目使用 语义释放 自动化版本控制、变更日志生成和发布。
重要提示: 旨在触发发布的提交消息必须根据 常规提交 标准。例如:
feat: add new forecast endpointfix: correct hourly forecast time calculation
无瑕
该项目使用Spotless Gradle插件来强制执行一致的Java风格。
./gradlew spotlessApply--格式化源代码并修复样式问题。./gradlew spotlessCheck--在不更改文件的情况下验证格式。
代码检查
静态分析和更广泛的代码质量检查由Checkstyle使用基于谷歌风格的配置(格式委托给Spotless)进行处理:
./gradlew checkstyleMain--在主要来源上运行Checkstyle。./gradlew checkstyleTest--在测试源上运行Checkstyle。
主控程序
- 工具 确保根据 规格
MCP注册表
此服务器已发布到 MCP注册表.
当使用支持注册表的MCP客户端(例如Cursor、Claude Desktop)时,您可以添加 io.github.jonjam/accuweather-mcp 从注册表,并将AccuWeather API密钥配置为 ACCUWEATHER_API_KEY 环境变量。
未来的改进
- 基于以下内容改进网关类中的错误处理 AccuWeather状态代码
- 为AccuWeather API调用添加内存缓存,该调用根据 过期头
- 在工具中添加指定所需度量(即摄氏度或华氏度)的功能
- 基于以下内容的端到端集成测试 Spring AI示例