Weather MCP Server
MCP-сервер погоды
Сервер протокола контекста модели (MCP) для данных о погоде с поддержкой OpenAPI. Этот сервер предоставляет информацию о погоде из API OpenWeatherMap и может использоваться LLM-агентами через MCP.
Возможности
Транспорт MCP stdio для интеграции с LLM-агентами
HTTP REST API со спецификацией OpenAPI 3.0
4 инструмента для работы с погодой:
Получение текущей погоды по городу
Получение текущей погоды по координатам
Получение прогноза погоды (5 дней, интервалы по 3 часа)
Получение сводки температурного диапазона
Поддержка фиктивных данных для тестирования без API-ключа
TypeScript-реализация с полной типизацией
Установка
cd weather-mcp-server
npm install
npm run buildИспользование
1. MCP-сервер (транспорт stdio)
Запустите MCP-сервер для LLM-агентов:
npm startИли в режиме разработки:
npm run dev2. HTTP-сервер с OpenAPI
Запустите HTTP-сервер с REST API:
npm run dev:httpСервер запустится по адресу http://localhost:3000 со следующими эндпоинтами:
/health— проверка работоспособности/openapi— спецификация OpenAPI/api/v1/weather/current/{city}— текущая погода по городу/api/v1/weather/current/coordinates— текущая погода по координатам/api/v1/weather/forecast/{city}— прогноз погоды
3. Конфигурация
Установите ваш API-ключ OpenWeatherMap (необязательно — если он не указан, будут использоваться фиктивные данные):
export OPENWEATHER_API_KEY=your_api_key_hereИли создайте файл .env:
OPENWEATHER_API_KEY=your_api_key_hereИнструменты MCP
Сервер предоставляет следующие инструменты MCP:
Название инструмента | Описание | Параметры |
| Получить текущую погоду по городу |
|
| Получить текущую погоду по координатам |
|
| Получить прогноз погоды |
|
| Получить сводку температурного диапазона |
|
Эндпоинты API
HTTP REST API
Все эндпоинты возвращают JSON со следующей структурой:
{
"success": true,
"data": { ... }
}1. Текущая погода по городу
GET /api/v1/weather/current/{city}Пример:
curl http://localhost:3000/api/v1/weather/current/London2. Текущая погода по координатам
GET /api/v1/weather/current/coordinates?lat={latitude}&lon={longitude}Пример:
curl "http://localhost:3000/api/v1/weather/current/coordinates?lat=51.5074&lon=-0.1276"3. Прогноз погоды
GET /api/v1/weather/forecast/{city}?days={days}Пример:
curl "http://localhost:3000/api/v1/weather/forecast/New%20York?days=3"Тестирование
Запустите набор тестов:
npm testЗапустите инспектор MCP для отладки:
npm run inspectСтруктура проекта
weather-mcp-server/
├── src/
│ ├── index.ts # MCP stdio server
│ ├── http-server.ts # HTTP server with OpenAPI
│ ├── types/
│ │ └── weather.ts # TypeScript types and Zod schemas
│ ├── utils/
│ │ └── weather-client.ts # OpenWeatherMap API client
│ └── tools/
│ └── weather-tools.ts # MCP tool definitions
├── dist/ # Compiled JavaScript
├── test/
│ └── test.js # Test suite
├── package.json
├── tsconfig.json
└── README.mdЗависимости
@modelcontextprotocol/sdk— MCP SDK для TypeScriptexpress— фреймворк для HTTP-сервераaxios— HTTP-клиент для вызовов APIzod— валидация схемtypescript— компилятор TypeScript
Лицензия
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/akdrione/weather-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server