weather-mcp

weather-mcp
TypeScript MCP сервер, предоставляющий инструменты для работы с погодой на базе OpenWeatherMap.
Инструменты
Инструмент | Описание |
| Текущие погодные условия по названию города или широте/долготе |
| Прогноз на 5 дней / 3 часа по широте/долготе |
Транспорты
Режим | Переменная окружения | Когда использовать |
|
| Локальный Cursor / Claude Desktop |
Streamable HTTP |
| Деплой (Render и т.п.) / удалённый URL |
Официальная документация MCP: https://modelcontextprotocol.io/docs/
Удалённый сервер (Render)
Развёрнут на бесплатном тарифе Render:
Базовый URL | |
MCP-эндпоинт | |
Проверка здоровья |
Конфигурация Cursor (удалённо)
Добавьте это в Settings → MCP или ~/.cursor/mcp.json:
{
"mcpServers": {
"weather": {
"url": "https://weather-mcp-ts.onrender.com/mcp"
}
}
}Локальная сборка или API-ключ в Cursor не нужны — ключ хранится в переменных окружения Render.
Бесплатный тариф Render: сервис выключается после ~15 минут бездействия. Следующий запрос — это холодный старт, который может занять до ~50 секунд, прежде чем MCP ответит. Если инструменты Cursor выглядят зависшими при пробуждении, один раз обратитесь к
/health.
Related MCP server: mcp-weatherapi
Предварительные требования (только для локального запуска)
Node.js 20+
pnpm (или npm/yarn)
API-ключ OpenWeatherMap (получить здесь)
Настройка (локально)
pnpm install
cp .env.example .envОтредактируйте .env и укажите свой ключ:
OPEN_WEATHER_MAP_API_KEY=your_key_here
TRANSPORT=stdioСоберите сервер:
pnpm run buildЭто создаст исполняемую точку входа в dist/index.js.
Добавление в Cursor (локальный stdio)
Cursor по умолчанию не запускает этот процесс из корня проекта для загрузки переменных окружения, поэтому передайте файл окружения с абсолютным путём через флаг --env-file Node.js.
Откройте Cursor Settings → MCP или отредактируйте
~/.cursor/mcp.json.Добавьте запись
weatherв разделmcpServers:
{
"mcpServers": {
"weather": {
"command": "node",
"args": [
"--env-file",
"/ABSOLUTE/PATH/TO/weather-mcp/.env",
"/ABSOLUTE/PATH/TO/weather-mcp/dist/index.js"
]
}
}
}Замените /ABSOLUTE/PATH/TO/weather-mcp на реальный путь к проекту (например, выполните pwd из корня репозитория). Оставьте TRANSPORT=stdio (или не задавайте) в .env.
Альтернатива: переменные окружения в строке
{
"mcpServers": {
"weather": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/weather-mcp/dist/index.js"
],
"env": {
"OPEN_WEATHER_MAP_API_KEY": "your_key_here",
"TRANSPORT": "stdio"
}
}
}
}Предпочтительнее использовать .env + --env-file, чтобы ключ не попадал в mcp.json.
Сохраните, затем переключите сервер в Settings → MCP (или перезапустите Cursor).
Убедитесь, что сервер отображается как подключённый и перечисляет
get_current_weatherиget_forecast.
После изменений в коде
pnpm run buildЗатем перезагрузите MCP-сервер в Cursor.
Streamable HTTP (локально)
Режим HTTP обслуживает MCP на POST/GET /mcp (настраивается) плюс GET /health. Streamable HTTP настраивается через официальный SDK createMcpHandler + toNodeHandler.
pnpm run build
TRANSPORT=http PORT=3000 pnpm run start
# or
pnpm run start:httpВы должны увидеть что-то вроде:
Weather MCP Server running on http://0.0.0.0:3000/mcp (Streamable HTTP)Деплой на Render
Создайте Web Service из этого репозитория (корень проекта).
Сборка:
pnpm install && pnpm run build(или эквивалент дляnpm).Запуск:
node dist/index.js(илиpnpm run start).Переменные окружения:
TRANSPORT=httpOPEN_WEATHER_MAP_API_KEY=...PORTзадаётся Render автоматически
MCP URL:
https://<your-service>.onrender.com/mcp
Этот деплой:https://weather-mcp-ts.onrender.com/mcp
HTTP-эндпоинт не защищён аутентификацией. Любой, у кого есть URL, может вызывать инструменты. Добавьте аутентификацию перед широким распространением.
Ручная проверка (OpenWeatherMap)
С настроенным .env:
node --env-file=.env -e "
import { getApiKey, buildCurrentWeatherUrl, makeOWMRequest, formatCurrentWeather } from './dist/utils.js';
const apiKey = getApiKey();
const data = await makeOWMRequest(buildCurrentWeatherUrl({ apiKey, city: 'Yaounde,CM', units: 'metric' }));
console.log(data ? formatCurrentWeather(data, 'metric') : 'failed');
"Удалённая проверка здоровья:
curl -s https://weather-mcp-ts.onrender.com/healthСтруктура репозитория
weather-mcp/
├── README.md
├── package.json
├── tsconfig.json
├── .env.example
└── src/
├── index.ts # stdio + Streamable HTTP entry
├── server.ts # tool registration
├── types.ts
└── utils.tsПримечания
Никогда не коммитьте
.env(он в gitignore).Stdio-серверы не должны писать в stdout ничего, кроме MCP JSON-RPC; логи идут в stderr (
console.error).Бесплатные тарифы OpenWeatherMap покрывают текущую погоду и прогноз на 5 дней / 3 часа, используемые здесь.
Лицензия
ISC
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceWraps the OpenWeatherMap API to provide weather data through MCP, enabling AI agents to query current conditions, forecasts, and other weather information via natural language.10MIT
- AlicenseNot gradedqualityCmaintenanceProvides weather data from WeatherAPI.com through MCP, enabling AI agents to query current conditions and forecasts via natural language.11MIT
- FlicenseNot gradedqualityDmaintenanceEnables MCP clients like Kiro and Claude to access current weather conditions and forecasts for any location using the OpenWeatherMap API.
- AlicenseNot gradedqualityDmaintenanceIntegrates OpenWeatherMap API with MCP to provide weather data, forecasts, air quality, maps, alerts, and geocoding via natural language.10MIT
Related MCP Connectors
OpenWeather MCP — wraps the OpenWeatherMap API (openweathermap.org)
WeatherAPI.com MCP — wraps WeatherAPI.com (api.weatherapi.com)
Visual Crossing Weather MCP — wraps the Visual Crossing Weather Timeline API
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/RashJrEdmund/Weather-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server