返回市场
天气-mcp服务器

天气-mcp服务器

作者:ezh0v231 星标更新:2025-11-02

项目介绍

<div align="center"> <img alt="示例输出模板" src="assets/weather.svg"> <h1>天气API MCP服务器</h1>

License Go 版本 Go 报告卡 构建 测试

<strong>报告错误</strong> | <strong>请求功能</strong>

</div>

一个轻量级的模型上下文协议(MCP)服务器,使AI助手如Claude能够检索并解释实时天气数据。

<div align="center"> <img alt="演示示例" src="assets/weather.gif" width="480"> </div>

在Claude桌面安装

要使用您的MCP服务器与Claude桌面,请将其添加到您的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"
    }
  }
}

从源代码构建

您可以使用gocmd/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处理器
│       ├── services # 业务逻辑层
│       │   ├── core # 核心应用程序逻辑
│       │   └── mock # 测试用的模拟服务
│       ├── tools # MCP工具
│       └── view # 显示消息的模板
└── 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许可证