README
🚀 天气API MCP服务器
天气API MCP服务器是一个轻量级的模型上下文协议(MCP)服务器,可让AI助手(如Claude)获取并解释实时天气数据。
🚀 快速开始
环境准备
使用此项目前,请确保已安装Go语言。
克隆项目
git clone https://github.com/TuanKiri/weather-mcp-server.git
cd weather-mcp-server
安装依赖
go mod tidy
编译并运行服务器
go run internal/server/server.go
📦 安装指南
在Claude Desktop上安装
要将您的MCP服务器与Claude Desktop一起使用,请将其添加到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"
}
}
}
从源代码构建
您可以在cmd/github-mcp-server目录中使用go构建二进制文件。
go build -o weather-mcp-server ./cmd/weather-mcp-server
使用Docker容器
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处理器
│ ├── services # 业务逻辑层
│ │ ├── core # 核心应用程序逻辑
│ │ └── mock # 测试中的模拟服务
│ ├── tools # MCP工具
│ └── view # 显示消息的模板
└── pkg
测试
如果您添加了新功能,请确保为它们包含测试。
1. 安装mockgen工具:
go get github.com/golang/mock/mockgen/cmd/...
2. 在项目根目录中运行以下命令生成模拟文件:
mockgen -source internal/server/handlers/weather.go -package mocks > internal/server/mocks/weather.go
🤝 贡献
贡献非常受欢迎!请查看贡献指南以获取详细信息。
📄 许可证
此项目受MIT License的保护。
Scan to contact