Go天气MCP服务器
A. 模型上下文协议(MCP) 用Go编写的服务器,使用免费软件提供天气信息和预报 开放气象API.
特性
- 按坐标获取天气:使用纬度和经度检索当前天气和预报。
- 按城市获取天气:使用内置的地理编码按城市名称搜索天气。
- 可定制单元:支持各种温度、风速和降水单位。
- 详细预测:包括每小时(24小时)和每日预报。
工具
get_weather
使用坐标获取特定位置的当前天气和预报。
latitude(必填):位置的纬度。longitude(必填):位置的经度。location_name(可选):位置的描述性名称。temperature_unit(可选):celsius或fahrenheit.wind_speed_unit(可选):kmh,ms,mph,kn.precipitation_unit(可选):mm或inch.
get_weather_by_city
使用地理编码按名称获取城市的天气。
city(必填):城市名称。country_code(可选):2个字母的国家代码,用于缩小搜索范围。temperature_unit(可选):celsius或fahrenheit.wind_speed_unit(可选):kmh,ms,mph,kn.precipitation_unit(可选):mm或inch.
安装
先决条件
- 走 1.24.0或更高版本(基于
go.mod).
构建
克隆存储库并构建二进制文件:
go build -o goweathermcp main.go配置
克劳德桌面
要将此服务器与Claude Desktop一起使用,请将以下内容添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"goweather": {
"command": "/path/to/goweathermcp/goweathermcp",
"args": ["-temp-unit", "fahrenheit", "-wind-unit", "mph", "-precip-unit", "inch"]
}
}
}替换 /path/to/goweathermcp/goweathermcp 使用构建二进制文件的实际绝对路径。你可以省略 args 如果您更喜欢默认值(摄氏度、公里小时、毫米)。
发展
要在开发模式下运行服务器,请执行以下操作:
go run main.go服务器使用 stdio 为了通信,直接运行它将等待MCP JSON-RPC命令。
释放
要创建新版本,请执行以下操作:
- 标记提交:
git tag -a v1.0.0 -m "First release" - 按下标签:
git push origin v1.0.0
GitHub Action将使用GoReleaser自动构建和发布版本。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
