# Model Context Protocol: Как подключить Python-скрипты к ИИ-агентам

Источник: https://www.youtube.com/watch?v=DosHnyq78xY
Канал: freeCodeCamp.org
Опубликовано: 15.10.2025

---

В мире искусственного интеллекта наступает новая эра — эра агентов, способных не просто генерировать текст, но и активно взаимодействовать с внешним миром. Ключевым стандартом в этой области становится Model Context Protocol (MCP), открытый протокол, который позволяет безопасно подключать ИИ-модели к вашим базам данных, локальным файлам и сторонним сервисам.

## 🛠️ Что такое MCP и почему это важно
[[JUMP:01:49]]

Model Context Protocol (MCP) — это набор стандартизированных правил, которые позволяют ИИ-агентам (таким как GitHub Copilot, Claude Desktop или Gemini) интеллектуально взаимодействовать с внешними данными и функциями [2:02]. По сути, это способ научить нейросеть пользоваться вашими собственными инструментами так, как это делали бы вы сами.

Как отмечает автор курса Карлос Леон, на сегодняшний день существует два основных типа реализации MCP-серверов:

*   **Standard Input/Output (STDIO):** используется для локального развертывания. ИИ-агент взаимодействует с сервером как с отдельным процессом, запущенным на вашем компьютере [2:15].
*   **HTTP Stream (SSE):** предназначен для удаленных подключений и продакшн-решений. Это позволяет внешним приложениям (например, ChatGPT или Mistral) подключаться к серверам MCP через интернет [2:29].

Примеры использования уже включают в себя управление ветками через GitHub MCP или чтение и отправку сообщений в WhatsApp [2:43].

## 🏗️ Создание первого MCP-сервера: Магия функций
[[JUMP:04:44]]

Для разработки MCP-серверов на Python существуют две основные библиотеки: `fastmcp` (для создания серверов с нуля) и `fastapi-mcp` (для преобразования существующих API в формат MCP) [2:57].

Процесс создания базового сервера на базе `fastmcp` выглядит удивительно просто:

1.  Устанавливается библиотека через `pip install fastmcp` [5:12].
2.  Создается объект MCP с уникальным именем (например, «calculator»).
3.  Функции Python помечаются декоратором `@mcp.tool()`.

**Критически важная деталь:** при написании функций для MCP-сервера док-строки (`docstrings`) перестают быть просто комментариями для разработчиков [7:12]. По словам Карлоса Леона, агент (модель) читает эти описания, чтобы понять, что именно делает инструмент и когда его следует вызывать. Если вы не опишете функцию, агент просто не поймет, как ее использовать [7:25].

В рамках примера был создан стандартный набор операций: умножение, сложение, вычитание и деление. При этом библиотека автоматически генерирует схему (schema), которую ИИ-агент использует для валидации аргументов [12:22].

## 🌐 От API к MCP: Переход на HTTP-рельсы
[[JUMP:14:00]]

Второй сценарий предполагает использование библиотеки `fastapi-mcp`. Это актуально для компаний, у которых уже есть готовые API (например, на FastAPI), и они хотят сделать их доступными для ИИ-агентов [14:14].

Карлос демонстрирует, как превратить обычное веб-приложение в MCP-сервер:

*   Сначала создается стандартное API с эндпоинтами (например, `/multiply`, `/add`) [16:46].
*   Затем с помощью одной команды `MCP(app)` приложение оборачивается в протокол [22:03].
*   Далее выполняется «монтирование» сервера (`mcp.mount()`), что делает его видимым для инструментов тестирования [22:31].

Для проверки работоспособности используется **MCP Inspector** [11:01]. Это специальный интерфейс, который позволяет вручную подключаться к серверу, просматривать список доступных инструментов и тестировать их выполнение без написания клиентского кода. При использовании HTTP-транспорта важно указывать правильный адрес (например, `http://localhost:8000/mcp`) [24:42].

## 📡 Реальный кейс: Поиск по RSS-лентам и YouTube
[[JUMP:32:47]]

Более сложный и практический пример — создание сервера для поиска контента в реальном времени. Карлос Леон показывает, как использовать библиотеку `feedparser` для извлечения данных из RSS-лент сайта freeCodeCamp и их YouTube-канала [34:33].

Алгоритм работы такого инструмента:

1.  Агент принимает поисковый запрос (query) [37:02].
2.  Python-скрипт обращается к XML-файлу RSS-ленты [38:47].
3.  Скрипт фильтрует заголовки и описания на наличие ключевого слова и возвращает список заголовков и URL.

Это позволяет агенту отвечать на вопросы вроде: «Найди последние курсы по Python на freeCodeCamp». Вместо того чтобы галлюцинировать или использовать устаревшие данные обучения, модель обращается к живому источнику данных через MCP [48:08].

Для YouTube-канала процедура аналогична, но требует ID канала для формирования ссылки на RSS-фид [45:42]. Леон также добавил «секретное сообщение» — инструмент, который просто возвращает строку текста, демонстрируя возможность передачи любых внутренних данных компании агенту [48:52].

## 💻 Интеграция с редакторами кода
[[JUMP:50:00]]

Чтобы использовать созданный сервер в повседневной работе, его необходимо подключить к среде разработки. В Visual Studio Code это делается через конфигурационный файл `mcp.json` [50:15].

В конфигурации указываются:

*   Тип сервера (название).
*   Команда для запуска (путь к интерпретатору Python).
*   Аргументы (путь к файлу сервера) [50:53].

**Важный нюанс:** если вы используете виртуальное окружение, в поле `command` необходимо указывать полный путь к исполняемому файлу Python внутри папки `venv`, иначе VS Code не сможет запустить зависимости [51:21]. После настройки в панели GitHub Copilot появляется иконка доступных MCP-серверов. Теперь можно попросить ИИ: «Используй мой калькулятор, чтобы перемножить эти числа», и агент выполнит код локально [54:06].

## ☁️ Деплой и будущее протокола
[[JUMP:1:02:36]]

В завершение курса Карлос демонстрирует процесс деплоя на платформу **Fast MCP Cloud** (находящуюся в стадии бета-тестирования) [1:02:51]. 
Для успешного развертывания необходимо:

1.  Создать репозиторий на GitHub.
2.  Подготовить файл `requirements.txt` со всеми зависимостями (`fastmcp`, `feedparser`) [1:05:07].
3.  Указать точку входа (main file) в настройках облака.

После деплоя сервер становится доступен по публичному URL. Его можно подключить к продвинутым ИИ-интерфейсам, таким как **Mistral Chat** (через Custom Connectors) [1:09:11]. Это открывает возможности для создания полноценного бизнеса на базе «оберток» (wrappers) над MCP-серверами — аналога GPT Store, но с гораздо более глубокой интеграцией в инфраструктуру пользователя [1:11:08].

По мнению автора, MCP — это «трендовая тема», которая быстро развивается, и сейчас лучшее время, чтобы начать экспериментировать с собственными реализациями [1:02:36].