What is MCP Server?
MCP Server is a test project that provides real-time data on currency exchange rates, weather forecasts, current weather conditions, and weekly news summaries through an API.
How to use MCP Server?
To use MCP Server, clone the repository, set up a virtual environment, install dependencies, and run the server. You can then access the API via Swagger UI.
Key features of MCP Server?
- Retrieves current dollar exchange rates.
- Provides weather forecasts and current weather for specified cities.
- Offers weekly news summaries.
- Data is returned in JSON format.
Use cases of MCP Server?
- Integrating real-time currency data into applications.
- Providing weather information for travel apps.
- Aggregating news for content management systems.
FAQ from MCP Server?
- Is the API free to use?
Yes, the project uses free APIs for data retrieval, but they may stop working at any time.
- How can I get my own API key?
You can register on the respective API provider's website (OpenWeatherMap for weather and NewsAPI for news) to obtain your own API key.
- What should I do if the API stops working?
If the API stops working, you can replace the API key in the project with your own.
MCP Server - Test Project
Описание
MCP сервер, который получает:
- Текущий курс доллара.
- Прогноз погоды в заданном городе.
- Текущую погоду в заданном городе.
- Сводку новостей за последнюю неделю.
Вся информация предоставляется через API и результат выводится в формате JSON.
Структура проекта
Проект состоит из нескольких основных файлов и папок:
app/
: Основная папка с приложением.currency.py
: Логика для получения курса валют.main.py
: Основной сервер с FastAPI.news.py
: Логика для получения новостей.weather.py
: Логика для получения прогноза погоды.
tests/
: Папка с тестами для проверки работы приложения.test_currency.py
: Тесты для работы с курсом валют.test_news.py
: Тесты для работы с новостями.test_weather.py
: Тесты для работы с прогнозом погоды.
requirements.txt
: Список зависимостей проекта..gitignore
: Файл, который игнорирует временные и системные файлы.pytest.ini
: Конфигурация для Pytest.
Установка
Для установки и запуска проекта выполните следующие шаги:
- Клонируйте репозиторий:
git clone https://github.com/nemono0ne/test_mcp_server.git
- Зайдите в папку:
cd test_mcp_server
- Создайте и активируйте виртуальное окружение:
python -m venv .venv
.\.venv\Scripts\activate # для Windows
source .venv/bin/activate # для Linux/Mac
- Установите зависимости:
pip install -r requirements.txt
5.Запустите сервер:
uvicorn app.main:app --reload
Использование API
Swagger UI доступен по адресу:
http://127.0.0.1:8000/docs
Через Swagger UI вы можете протестировать все доступные эндпоинты, такие как:
GET /currency — Получение текущего курса доллара.
GET /weather/{city_name} — Получение текущей погоды для заданного города.
GET /forecast/{city_name} — Получение прогноза погоды для заданного города.
GET /news — Получение новостей за последнюю неделю.
Примечания
-
Бесплатные API: В проекте используются временные бесплатные API для получения данных о курсе доллара, погоде и новостях. Эти API могут перестать работать в любое время, так как предоставляются без обязательства поддержки.
- Для погоды используется API с сайта OpenWeatherMap. Если API перестанет работать, вы можете зарегистрироваться на сайте и получить собственный API-ключ, который можно заменить в проекте.
- Для новостей используется API с сайта NewsAPI. Аналогично, если API перестанет работать, зарегистрируйтесь на сайте, получите ключ и обновите его в проекте.
Важные моменты при тестировании погоды
-
Город: Убедитесь, что название города указано правильно, лучше на английском языке.
-
Примеры запросов:
GET /weather/Moscow
GET /weather/New York
GET /weather/Paris
-
Ошибки: Если город не найден, проверьте правильность написания, особенно для городов с пробелами или специальными символами.
-
Прогноз и погода: Для текущей погоды используйте
GET /weather/{city_name}
, а для прогноза —GET /forecast/{city_name}
.