Skip to main content
Glama
tengzhijian

Weather MCP

by tengzhijian

Weather MCP

CI npm version License: MIT

Простой и удобный инструмент MCP для запроса погоды, поддерживающий работу через CLI и в качестве MCP-сервера.

Функциональные возможности

  • 🌤️ Запрос погоды в реальном времени - получение текущей погоды для любого города мира

  • 🔧 Поддержка CLI - запрос погоды прямо из командной строки

  • 🤖 Протокол MCP - поддержка AI-клиентов, таких как Claude и Cursor

  • 🌍 Глобальный охват - поддержка названий городов на разных языках, включая китайский и английский

  • ⚡ Бесплатный API - использование бесплатного погодного сервиса Open-Meteo, API-ключ не требуется

  • 📝 Типобезопасность - полная поддержка типов TypeScript + Zod

Related MCP server: Weather MCP Server

Установка

Способ 1: Глобальная установка через npm (рекомендуется)

npm install -g weather-mcp

Способ 2: Использование напрямую через npx

npx weather-mcp weather 北京

Способ 3: Установка из исходного кода

git clone https://github.com/tengzhijian/weather-mcp.git
cd weather-mcp
npm install
npm run build

Использование CLI

# 查询天气
weather-mcp weather 北京
weather-mcp weather Shanghai

# 查看帮助
weather-mcp --help
weather-mcp --version

Пример вывода

{
  "ok": true,
  "data": {
    "city": "北京 (中国)",
    "temperature": 22,
    "humidity": 70,
    "description": "多云",
    "windSpeed": 9.3,
    "updatedAt": "2024-01-15T08:30:00.000Z"
  }
}

Настройка MCP-сервера

Claude Desktop

Отредактируйте файл %APPDATA%/Claude/settings.json (Windows) или ~/Library/Application Support/Claude/settings.json (Mac):

{
  "mcpServers": {
    "weather": {
      "command": "npx",
      "args": ["-y", "weather-mcp", "--mcp"]
    }
  }
}

Cursor

В разделе Cursor Settings → MCP добавьте:

{
  "mcpServers": {
    "weather": {
      "command": "npx",
      "args": ["-y", "weather-mcp", "--mcp"]
    }
  }
}

Локальная версия для разработки

Если вы запускаете проект из исходного кода:

{
  "mcpServers": {
    "weather": {
      "command": "node",
      "args": ["/path/to/weather-mcp/dist/index.js", "--mcp"]
    }
  }
}

Доступные инструменты

getWeather

Запрос информации о погоде для указанного города.

Параметры:

  • city (string, обязательно): название города, например: Пекин, Шанхай, Гуанчжоу, London, Tokyo

Возвращаемые данные:

  • city: название города (включая страну)

  • temperature: температура (в градусах Цельсия)

  • humidity: влажность (в процентах)

  • description: описание погоды (ясно, облачно и т.д.)

  • windSpeed: скорость ветра (км/ч)

  • updatedAt: время обновления данных

listSupportedCities

Получение примера списка городов, поддерживаемых для запроса.

Возвращаемые данные:

  • cities: пример списка популярных городов

  • note: примечание (фактически поддерживаются любые города мира)

Примеры использования в AI-клиентах

После завершения настройки вы можете напрямую спрашивать в клиентах, таких как Claude или Cursor:

"Какая сегодня погода в Пекине?" "Будет ли завтра дождь в Шанхае?" "Узнай погоду в Нью-Йорке"

AI автоматически вызовет инструмент getWeather для получения информации о погоде.

Разработка

# 安装依赖
npm install

# 开发模式
npm run dev weather 北京

# 运行测试
npm test

# 类型检查
npm run typecheck

# 构建
npm run build

Технологический стек

  • TypeScript - типобезопасный JavaScript

  • MCP SDK - протокол контекста модели (Model Context Protocol)

  • Commander.js - фреймворк для CLI

  • Zod - валидация схем

  • Vitest - фреймворк для тестирования

  • Open-Meteo - бесплатный API погоды

Структура проекта

weather-mcp/
├── src/
│   ├── index.ts           # 入口文件
│   ├── cli.ts             # CLI 命令
│   ├── mcp-server.ts      # MCP Server
│   ├── weather-gateway.ts # 天气 API 封装
│   └── version.ts         # 版本号
├── tests/                 # 测试文件
├── .github/workflows/     # GitHub Actions
├── package.json
├── tsconfig.json
└── README.md

CI/CD

Проект использует GitHub Actions для автоматизации:

  • CI: автоматический запуск тестов при каждом PR и Push (Node.js 18/20/22)

  • Release: ручной запуск публикации в npm

Лицензия

MIT

Благодарности

  • Погодные данные предоставляются бесплатно через API Open-Meteo

  • Соответствует спецификации Model Context Protocol

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides real-time weather data, hourly forecasts, and daily summaries using the free Open-Meteo API with no API key required. It enables users to search for weather conditions by specific coordinates or city names across multiple measurement units.
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A production-ready MCP server that provides real-time weather information, forecasts, and alerts to LLM clients using the Open-Meteo API, with support for 26+ global cities, dual transport (STDIO/HTTP), and Docker deployment.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    A no-API-key-required MCP server that wraps Open-Meteo APIs to provide geocoding and weather forecast data, enabling city lookups and multi-day forecasts through tools, resources, and prompts.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A minimal MCP server that provides current weather and forecasts for any city using the free Open-Meteo API, no API key required.
    7 npm
    -