关于 Weather API MCP Server
Weather API MCP Server 是一个轻量级 MCP 服务,让 Claude 等 AI 助手获取并解读实时天气数据。它使用 Go 编写,并支持本地与远程两种运行方式。
主要功能
- 01按城市名获取当前天气
- 02支持本地运行与 SSE 远程连接
- 03提供 Docker 镜像构建与运行方式
- 04基于 Go 实现,附带模拟服务用于测试
适用场景
- 01在 Claude Desktop 中询问某城市的当前天气
- 02将天气服务部署为远程 MCP 服务供多个客户端使用
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 current_weather 工具,接收城市名参数并返回当前天气信息。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
一款轻量级的模型上下文协议(MCP)服务,可让 Claude 等 AI 助手检索并解读实时天气数据。
在 Claude Desktop 上安装
要在 Claude Desktop 中使用 MCP 服务,请将其添加到 Claude 配置中:
1. 本地模式
{
"mcpServers": {
"weather-mcp-server": {
"command": "/path/to/weather-mcp-server",
"env": {
"WEATHER_API_KEY": "your-api-key"
}
}
}
}
你可以在自己的 WeatherAPI 账户中获取 API 密钥。
2. 远程模式
{
"mcpServers": {
"weather-mcp-server": {
"url": "http://host:port/sse"
}
}
}
从源代码构建
你可以使用 go 在 cmd/github-mcp-server 目录中构建二进制文件。
go build -o weather-mcp-server ./cmd/weather-mcp-server
使用 Docker 容器运行 MCP
1. 构建 Docker 镜像:
docker build -t weather-mcp-server .
2. 运行 Docker 容器:
docker run -e WEATHER_API_KEY=your-api-key -d --name weather-mcp-server -p 8000:8000 weather-mcp-server
将 your-api-key 替换为你实际的 WeatherAPI API 密钥。
工具
-
current_weather - 获取某个城市的当前天气
city:城市名称(字符串,必填)
项目结构
项目由几个主要目录组成:
├── cmd
│ └── weather-mcp-server
├── internal
│ └── server
│ ├── handlers # MCP handlers
│ ├── services # Business logic layer
│ │ ├── core # Core application logic
│ │ └── mock # Mock services for testing
│ ├── tools # MCP tools
│ └── view # Templates for displaying messages
└── pkg
测试
如果你要添加新功能,请确保为其编写测试。
1. 安装 mockgen 工具:
go install go.uber.org/mock/mockgen@latest
请参阅 go.uber.org/mock 上的安装指南。
2. 使用以下命令生成模拟文件:
make generate-mocks
3. 运行单元测试:
make run-tests
贡献
欢迎提交问题或发送改进建议的拉取请求。提前感谢你的帮助!
请遵循贡献指南。
许可证
此 MCP 服务采用 MIT License 授权。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。