Skip to main content

A weather MCP server built with FastMCP

Project description

天气 MCP 服务器

这是一个基于 FastMCP 构建的天气查询服务器,提供城市天气信息查询服务。

功能特点

  • 支持全球城市天气查询
  • 提供温度、湿度和天气描述信息
  • 支持摄氏度和华氏度温度单位切换
  • 基于 Model Context Protocol (MCP) 实现
  • 完整的日志记录

安装要求

  • Python 3.8+
  • OpenWeatherMap API 密钥
  • uv (Python 包管理工具)

快速开始

  1. 克隆仓库:
git clone <repository-url>
cd weather-mcp-server
  1. 安装依赖:
make install
  1. 设置环境变量: 创建 .env 文件并添加以下内容:
OPENWEATHER_API_KEY=你的OpenWeatherMap_API密钥
  1. 运行服务器:
make run

安装和使用

选项 1:使用 uvx(推荐)

使用 uvx 将自动从 PyPI 安装包,无需克隆仓库。将以下配置添加到 Claude Desktop 的配置文件 claude_desktop_config.json 中:

{
  "mcpServers": {
    "weather-mcp-server": {
      "command": "uvx",
      "args": [
        "weather-mcp-server"
      ],
      "env": {
        "OPENWEATHER_API_KEY": "你的OpenWeatherMap_API密钥"
      }
    }
  }
}

选项 2:本地开发模式

  1. 克隆仓库并安装依赖:
git clone <repository-url>
cd weather-mcp-server
make install
  1. 设置环境变量: 创建 .env 文件并添加以下内容:
OPENWEATHER_API_KEY=你的OpenWeatherMap_API密钥
  1. 在 Claude Desktop 配置文件中添加:
{
  "mcpServers": {
    "weather": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/src/weather_mcp_server",
        "run",
        "weather-mcp-server"
      ],
      "env": {
        "OPENWEATHER_API_KEY": "你的OpenWeatherMap_API密钥"
      }
    }
  }
}

配置文件位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json

重启 Claude Desktop 以加载新的 MCP 服务器。

开发

本项目使用 Makefile 来简化常用命令。

可用命令

make install  # 安装依赖
make format   # 格式化代码
make lint     # 运行代码检查
make clean    # 清理临时文件
make run      # 运行服务器

发布新版本

make release version=v0.1.0

MCP 工具

服务器提供以下 MCP 工具:

get_weather

获取指定城市的天气信息。

参数:

  • city: 城市名称(必填)
  • units: 温度单位(可选,默认为 "metric")
    • "metric": 摄氏度
    • "imperial": 华氏度

示例请求:

{
    "name": "get_weather",
    "kwargs": {
        "city": "Beijing",
        "units": "metric"
    }
}

示例响应:

{
    "temperature": 20.5,
    "humidity": 65,
    "description": "晴",
    "city": "Beijing"
}

现在您可以通过 Claude 使用自然语言命令与天气服务进行交互,例如:

  • "查看北京的天气"
  • "东京现在的温度是多少"
  • "伦敦的天气情况如何"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

weather_mcp_server-1.0.1.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

weather_mcp_server-1.0.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file weather_mcp_server-1.0.1.tar.gz.

File metadata

  • Download URL: weather_mcp_server-1.0.1.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for weather_mcp_server-1.0.1.tar.gz
Algorithm Hash digest
SHA256 6c245dff1263256d5895d62f9038ca724934b3bd103a096c8226e61f6d245a3c
MD5 22077e566fdb8d7732a888de57a50fe9
BLAKE2b-256 4add6b71a322cc9cd536f2638538be424e8e53b042ec6e34704c866c364a7310

See more details on using hashes here.

File details

Details for the file weather_mcp_server-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for weather_mcp_server-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 94b009854c7858dd7f865b72f9163a5e5ed6132d1ffd6de877e032b7f2952a98
MD5 d7276921d0efc9fd6ef6dbf63ee67b76
BLAKE2b-256 8745cc3f43ddffef1667c1b821fe5f5930198f807a8a85a8265487304e68103f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page