Skip to main content
Glama
ASXRND

MCP Weather & Accruals Server

by ASXRND
server.py2.65 kB
#!/usr/bin/env python3 """ MCP Сервер для получения погоды через OpenWeatherMap API Запускает MCP сервер с инструментами для получения текущей погоды и прогноза. """ import logging import sys import traceback from mcp.server.fastmcp import FastMCP from modules.config import Config from modules.weather_api import get_current_weather, get_forecast # Валидируем конфигурацию перед запуском if not Config.validate(): sys.exit(1) logger = logging.getLogger("WeatherServer") # Создаем экземпляр MCP сервера с именем "weather" mcp = FastMCP("weather") logger.info(Config.get_config_summary()) @mcp.tool() async def current_weather(city: str, units: str = "metric") -> str: """ Инструмент MCP для получения текущей погоды. Получить текущую погоду для указанного города. Args: city: Название города на русском или английском (например, "Москва" или "Moscow") units: Система измерения - "metric" (Цельсий) или "imperial" (Фаренгейт) Returns: Строка с описанием текущей погоды или сообщение об ошибке. """ return await get_current_weather(city, units) @mcp.tool() async def weather_forecast(city: str, days: int = 3, units: str = "metric") -> str: """ Инструмент MCP для получения прогноза погоды. Получить прогноз погоды на несколько дней. Args: city: Название города на русском или английском days: Количество дней для прогноза (автоматически ограничивается от 1 до 5) units: Система измерения - "metric" (Цельсий) или "imperial" (Фаренгейт) Returns: Строка с прогнозом погоды или сообщение об ошибке. """ return await get_forecast(city, days, units) # Запуск сервера if __name__ == "__main__": logger.info("Запуск MCP сервера погоды...") try: mcp.run(transport="stdio") except Exception as e: logger.critical(f"Критическая ошибка при запуске MCP сервера: {e}\n{traceback.format_exc()}") sys.exit(1)

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/ASXRND/MCP_deepseek'

If you have feedback or need assistance with the MCP directory API, please join our Discord server