天气查询服务器

一个基于Go语言的天气信息查询服务器,提供当前天气和预报数据,支持坐标和城市名称查询。

  • by raythurman2386
  • Go
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 raythurman2386/goweathermcp

使用说明

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命令。

释放

要创建新版本,请执行以下操作:

  1. 标记提交: git tag -a v1.0.0 -m "First release"
  2. 按下标签: git push origin v1.0.0 GitHub Action将使用GoReleaser自动构建和发布版本。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢