MCP Weather and Currency Assistant
Ассистент по финансам и погоде с MCP
Консольное приложение, объединяющее локальный сервер MCP с API Responses от OpenAI. Ассистент понимает запросы на естественном языке, обнаруживает инструменты, опубликованные сервером, и выполняет их для получения актуальных данных о валютах и погоде.
Проект интегрирует FastMCP, ExchangeRate-API и Open-Meteo. Также поддерживает цепочки вызовов: например, преобразует название города в координаты, а затем запрашивает текущую погоду или прогноз.
Функциональность
Конвертация сумм между валютами по кодам ISO 4217.
Запрос курсов обмена для базовой валюты.
Геокодирование городов.
Запрос текущей погоды и прогноза на 1–7 дней.
Автоматическое обнаружение инструментов MCP клиентом.
Интерактивный интерфейс терминала на русском языке.
Повторные попытки при временных ошибках вызова OpenAI и обработка сетевых ошибок.
Related MCP server: Weather MCP Server
Архитектура
Usuario
|
v
CLI (main_client.py)
|
v
Cliente OpenAI Responses <----> Servidor MCP local (FastMCP)
|
+--> ExchangeRate-API
+--> Open-MeteoСервер предоставляется через транспорт HTTP по адресу http://127.0.0.1:8000/mcp/ по умолчанию. Клиент подключается к этому URL, загружает пять доступных инструментов и передаёт их результаты модели для формирования окончательного ответа.
Инструменты MCP
Инструмент | Описание |
| Конвертирует сумму между двумя валютами по текущему курсу. |
| Возвращает курсы базовой валюты по отношению к выборке валют. |
| Получает координаты, страну и часовой пояс города. |
| Запрашивает температуру, ощущаемую температуру, влажность, ветер и текущее состояние погоды. |
| Возвращает температуры, вероятность осадков и состояние погоды на ближайшие дни. |
Требования
Python 3.10 или выше.
Ключ API OpenAI с доступом к API Responses.
Подключение к Интернету для обращения к OpenAI и внешним API.
Ключ ExchangeRate-API необязателен. Без него используется открытая конечная точка.
Установка
Клонируйте репозиторий и создайте виртуальное окружение:
git clone <URL_DEL_REPOSITORIO>
cd <NOMBRE_DEL_REPOSITORIO>
python -m venv .venvАктивируйте виртуальное окружение:
# Windows PowerShell
.venv\Scripts\Activate.ps1
# Windows (cmd)
.venv\Scripts\activate.bat
# macOS/Linux
source .venv/bin/activateУстановите зависимости:
python -m pip install -r requirements.txtНастройка
Скопируйте пример файла конфигурации и заполните учётные данные. Файл .env является локальным и не должен включаться в репозиторий:
Copy-Item .env.example .envВ macOS или Linux:
cp .env.example .envПолученный файл должен содержать следующие переменные:
OPENAI_API_KEY=tu_clave_de_openai
# Opcional. Si se deja vacío se usa el endpoint abierto de ExchangeRate-API.
API_KEY_EXCHANGE=
# Opcionales.
MCP_HOST=127.0.0.1
MCP_PORT=8000
OPENAI_MODEL=gpt-4o-miniOPENAI_API_KEY необходим для использования клиента. Open-Meteo не требует учётных данных. Приложение использует тайм-аут 10 секунд для внешних HTTP-вызовов.
Использование
Сервер и клиент запускаются в отдельных терминалах. Сначала запустите сервер:
python main_server.pyВ другом терминале с активированным виртуальным окружением запустите клиент:
python main_client.pyТестирование
Модульные тесты покрывают логику валют, прогноза погоды, кодов WMO и обработку ошибок без вызова OpenAI или внешних API:
python -m pip install -r requirements-dev.txt
python -m pytestПосле этого можно вводить запросы, например:
Convierte 100 USD a EUR
¿Cuál es el clima actual en Madrid?
Dame la previsión del tiempo para Nueva York durante 5 días
¿Qué coordenadas tiene Tokio?Доступные команды в CLI:
Команда | Действие |
| Показывает инструменты и примеры запросов. |
| Показывает коды распространённых валют. |
| Закрывает клиент. |
Структура проекта
.
├── .env.example # Plantilla de configuración local
├── .gitignore # Archivos excluidos del repositorio
├── client/
│ ├── cli_interface.py # Interfaz interactiva de terminal
│ └── openai_client.py # Orquestación OpenAI + MCP
├── config/
│ └── settings.py # Variables de entorno y endpoints
├── server/
│ ├── api_clients.py # Clientes HTTP para las APIs externas
│ ├── currency_tools.py # Herramientas de divisas
│ ├── geocoding_tools.py # Herramienta de geocodificación
│ ├── mcp_server.py # Servidor FastMCP y registro de herramientas
│ └── weather_tools.py # Herramientas meteorológicas
├── main_client.py # Punto de entrada del cliente
├── main_server.py # Punto de entrada del servidor
├── requirements.txt # Dependencias de Python
└── README.mdВнешние API
OpenAI Responses API: интерпретация запроса и выбор инструментов.
ExchangeRate-API: курсы обмена и конвертация.
Open-Meteo: геокодирование и метеорологические данные.
Результаты зависят от доступности, лимитов и условий использования этих сервисов. Использование OpenAI может повлечь затраты в зависимости от учётной записи и настроенной модели.
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
- Alicense-qualityDmaintenanceA server that integrates the MCP library with OpenAI's API, allowing users to interact with various tools, such as the weather tool, through natural language queries.MIT
- Flicense-qualityDmaintenanceEnables users to get current weather conditions and forecasts for any city through OpenWeatherMap API integration. Designed as a sample MCP server for the Puch AI Hackathon with basic weather querying capabilities.
- Alicense-qualityDmaintenanceA MCP server for querying real-time weather information for any city worldwide using the free Open-Meteo API, supporting CLI and integration with AI clients like Claude and Cursor.15MIT
- Flicense-qualityCmaintenanceA proof-of-concept MCP server that provides weather information using the Open-Meteo API, with tools for greeting, getting weather by coordinates, and by location name.
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server for GLM chat completions using Zhipu AI models via AceDataCloud
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
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/adri14gl/MCP-Weather-and-Currency-Assistant'
If you have feedback or need assistance with the MCP directory API, please join our Discord server