返回 MCP 目录
public公开dns本地运行

weather-api-mcp-server-f93

一个轻量级的MCP服务器,为AI助手如Claude提供实时天气数据查询和解析功能。支持本地和远程两种部署方式,包含Docker容器化方案。

article

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的保护。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端