JavaRush /Курсы /Claude Code SELF /Радар ходит за данными сам: MCP

Радар ходит за данными сам: MCP

Claude Code SELF
7 уровень , 3 лекция
Открыта

1. Что такое MCP и зачем он нужен поверх API

— Слушай, с этим API всё понятно, — пишет Тёма. — Есть USGS, есть адрес окошка, есть JSON. Скажу ИИ: сходи по этому адресу, забери свежие толчки, отдай Сане в радар. Он же сходит?

— Сходит, — соглашается Лёха. — ИИ это умеет: дёрнуть открытый адрес, забрать ответ. Тут ты прав, никакого фокуса. Вопрос не «сходит или нет», а как ты это будешь делать каждый день.

— В смысле каждый день?

— А ты подумай. Сегодня попросил — сходил, принёс. Завтра нужны свежие толчки — снова руками пишешь ему «сходи по адресу earthquakes.usgs.gov/..., вот формат, вот поля». Послезавтра захотел отобразить курс биткоина — лезешь искать адрес биржи, опять диктуешь ИИ, где окошко и что там в ответе. Под каждый сервис — заново объясняй машине, куда стучаться и как разбирать ответ. Это как всякий раз чертить курьеру карту от руки.

— Ну… муторно, да, — соглашается Тёма. — А можно как-то проще?

— Можно и проще — один раз настраиваешь ИИ готовое подключение к сервису, и дальше просто говоришь словами «принеси толчки». Адрес, формат, поля — всё уже внутри подключения, ИИ не надо ничего объяснять. Вот эта штука и называется MCP.

— MCP. А расшифровывается как?

— Model Context Protocol. Но не запоминай, тебе расшифровка ничего не даёт. По смыслу — это способ один раз подключить к ИИ внешний сервис, чтоб дальше дёргать его словами, а не объяснять заново каждый раз все детали. Подключил такой «кабель» к землетрясениям — у ИИ появилась готовая кнопка «принеси толчки». Подключил к GitHub — кнопка «покажи задачи». Подключил к парсеру сайтов — кнопка «сходи на сайт и забери оттуда нужное».

2. Чем MCP отличается от API

— То есть это типа умного API? — уточняет Тёма.

— Понимаю, почему так кажется, — близко, но мимо. И эту разницу важно не смазать. API живёт у сервиса — это его окошко выдачи, оно одно на всех: хоть программа стучится, хоть ты руками. А MCP есть у ИИ, и у сервиса — это то, чем ИИ к этому API обращается. За MCP-подключением и командой «принеси толчки» стоит всё тот же обычный API геологов. MCP его не заменяет и не «улучшает» — он стандартно подключает его к ИИ, чтоб тебе не диктовать машине формат запросов руками. Давай разложу, кто где стоит:

Что Где живёт Зачем
API у сервиса (USGS) окошко, через которое контора отдаёт данные — любой программе
MCP у ИИ, у сервиса кабель, которым ИИ сам подключается к окошку, без твоих объяснений
ты руками человек курьер: сам сбегал, скопировал, принёс

API — это КУДА стучаться. MCP — это ЧЕМ ИИ туда стучится вместо тебя.

— То есть, — рассуждает вслух Тёма, — раньше курьером был я: сам сходил на сайт, скопировал, принёс Сане. А с MCP-кабелем курьером становится ИИ?

— Точно. И ты ему больше не чертишь карту каждый раз — MCP-кабель её уже знает.

3. MCP как единый стандарт — USB

Тёма кивает, но тут же морщится — что-то всё равно не сходится.

— Погоди. Если за MCP-подключением всё равно обычный API, и ИИ к API и так умеет ходить… зачем вообще городить отдельный MCP? Чем плохо просто дать ему адрес?

— Хороший вопрос, в самую точку. Смотри. У USGS свои правила, у GitHub свои, у биржи свои — каждый сервис имеет свой API и свою документацию к нему. Без MCP-кабеля выходит, что ИИ под каждый сервис надо заново настраивать весь процесс коммуникации: где адрес, какой формат, какие поля, нужен ли ключ. А MCP-кабель — это когда это все один раз упаковали в стандартную форму, понятную любому ИИ. Идеальный пример для этой ситуации — USB.

— USB? Как флешка?

— Ага. Смотри: флешка, мышка, камера, принтер — устройства совсем разные, а втыкаются в один и тот же разъём, и компьютер каждое понимает. Никто не паяет под мышку отдельный провод (хотя именно так раньше и делали). USB — это общая договорённость, как всё это подключать. MCP — ровно такой же общий разъём, только для ИИ и сервисов. Тот, кто делает сервис, один раз настраивает к нему MCP-подключение — и дальше любой ИИ сможет с ним работать по единым правилам. Ты просто втыкаешь — и у ИИ новая способность.

MCP — это «USB» для ИИ: единый разъём, в который втыкаются разные сервисы.

— А в Claude Code это где? Он такие MCP-кабели понимает?

— Более чем: Claude Code умеет втыкать такие кабели из коробки. Подключать MCP-серверы — его встроенная фича. Один MCP-разъём — один новый подключенный сервис: сервер землетрясений даёт нам «толчки», сервер парсера сайтов — фичу «спарси сайт». Воткнул MCP-кабель — у агента стало на одну "руку" больше. Сейчас покажу на примере.

— А втыкать сложно? Или как с флешкой? Неправильно, потом перевернуть, потом опять перевернуть. И наконец, хорошо :)

— Чем-то похоже, да.

4. Как подключить MCP-сервер в Claude Code

— Давай специально возьмем самый простой пример, — предлагает Лёха, — без ключа, чтоб ты прочувствовал саму суть, а не утонул в настройках. Землетрясения как раз отдаются публично. Открываешь обычный терминал и пишешь команду:

# подключаем MCP-сервер открытых данных. Имя "quakes" — любое, придумываешь сам.
claude mcp add --transport http quakes <адрес-MCP-сервера-открытых-данных>

— А можно подробности?

— Сейчас будут. Смотри, claude mcp add — это «Claude, добавь mcp-кабель». --transport http — общаемся с ним по сети, не локальное приложение. quakes — имя, под которым мы его запомним, сам придумал. Дальше — адрес самого mcp-кабеля. Нажал Enter — кабель добавлен. Проверяем, что подключилось:

claude mcp list

В списке появляется quakes со статусом ✓ Connected. Нет статуса или ошибка — первым делом сюда смотришь: верный ли адрес, живой ли сервер. Это и есть супер-навык «починить mcp-кабель». А потом запускаешь claude и пишешь в сессии команду /mcp:

/mcp          # команда внутри сессии: показывает кабели и их кнопки-инструменты

— И там будет мой quakes?

— И там будет твой quakes, а рядом — список его "действий/кнопок". Это то, что ИИ теперь умеет вызвать. И всё, дальше ты просто просишь словами.

Тёма не выдерживает — пробует прямо сейчас. Пишет агенту:

Достань через quakes землетрясения за последний час, возьми из каждого
mag, coordinates, time и собери радар: магнитуда → размер точки,
свежесть → яркость, координаты → куда ставить.

Палец зависает над Enter. Жмёт.

Секунда. На экране бежит строчка запроса. Радар, который до этого показывал выдуманные точки, моргает — и зажигает первую настоящую. Где-то на той стороне планеты несколько минут назад дрогнула земля, и вот она — точкой на его экране.

— Это что, реально?! — Тёма тычет пальцем в монитор. — Прям сейчас там землетрясение?

— Только что тряхнуло, — отзывается Лёха. — Кабель тянет всё, что тряхнуло за последний час. И заметь: ты не диктовал ИИ ни адреса, ни формата JSON. Сказал «достань через quakes» — он сам сходил к окошку, сам забрал ответ, сам разобрал поля. Курьер больше не ты.

Тёма откидывается на спинку и пару секунд просто смотрит.

— Слушай, это же бомба, — выдыхает он. И тут же загорается: — А я тогда к чему угодно так подключусь? Вот хочу ролики с YouTube качать через ИИ — смогу?

— Тормози, — фыркает Лёха. — Воткнуть кабель — это не «дать ИИ весь интернет». Каждый кабель открывает ровно один сервис. Тот, что к землетрясениям, даёт землетрясения — и больше ничего. Ни твой банк, ни YouTube, ни чужую базу он не откроет. Нужен другой сервис — подключаешь другой кабель, отдельный, под него.

И добавляет:

— И даже внутри одного кабеля ИИ может ровно то, что ему разрешено. Дали ключ только на чтение — удалить ничего не сможет, хоть тресни. Это не «открыли весь мир», это «открыли одну конкретную дверь».

5. Сервис с ключом доступа

— Ок, буду считать что понял, — кивает Тёма. — А вот глянь. Радар работает, но выглядит слабенько — серый какой-то, примитивный очень. Хочу, чтоб смотрелся дорого, красиво, как Stripe, например. Видал их сайт? Вот прям в таком же стиле. ИИ может слазить и скопировать ихний стиль?

—Ты не поверишь... У землетрясений было готовое окошко — API. А у чужого сайта нет окошка «отдай мне свой дизайн». Никто такого API не делал. Скопировать стиль можно одним способом — пойти на сам сайт и распарсить его. Достать живьём то, у чего окошка нет.

— И ИИ так умеет?

— Сам по себе — не очень, но у нас есть волшебный кабель на этот случай. Берём Firecrawl — сервис, который умеет читать чужие сайты. Подключается mcp-кабелем, как землетрясения, но с небольшой разницей: Firecrawl просит ключ. Без него ничего отдавать не будет. Вот он, твой первый живой token.

— А где мне его взять? Покупать?

— Регистрируешься на firecrawl.dev, получаешь ключ вида fc-.... Там есть бесплатный тариф, без карты, нам на пару запросов хватит с запасом. Без ключа mcp-кабель не поднимется. Получил — подключаешь, ключ кладёшь прямо в адрес кабеля:

claude mcp add --transport http firecrawl "https://mcp.firecrawl.dev/fc-ТВОЙ_КЛЮЧ/v2/mcp"

— Слушай, а claude же сам может все подключить. Насколько я знаю. Давай я ему ключ скину. Сейчас я его скопирую в чат.

— Стоп! — обрывает Лёха, ещё до того, как палец дожал Enter. — Не в чат.

Тёма замирает, руки над клавиатурой.

— А куда? Ты же сам сказал, что ключ нужно добавить в адрес.

— В команду — да, в адрес кабеля. А вот в переписку с ИИ ключ не суют как обычный текст. И ещё одна ловушка, на ней все горят. Видишь ли, mcp-кабель по умолчанию ставится только тебе и только в этой папке. Если добавить флаг -s project при добавлении mcp — тогда настройка с твоим ключом запишется в файл проекта и уедет в общий git-репозиторий, где её увидят все. Ключ — это пропуск, оплаченный тобой.

— То есть ключ — мимо чата и мимо репозитория.

— Именно. Запомни три вещи, которые в переписку с ИИ не суют как обычный текст: ключи доступа, пароли, чужие личные данные. Заведи правило и считай дни, когда его не нарушил. Сегодня, считай, первый день без слитого ключа. Не обнуляй.

Тёма проверяет, что подключилось:

claude mcp list           # firecrawl → ✓ Connected

— Готово. И что дальше?

— Теперь просишь словами, как с толчками. Только в этот раз — сходить на сайт и скопировать стиль:

Через firecrawl скопируй стиль stripe.com — цвета, типографику, структуру —
и переделай мой радар в этом духе.

Тёма жмёт. Агент уходит на пару секунд — и возвращается. Серый радар преображается: глубокий фон, чистая типографика, мягкие градиенты. Похоже на Stripe, но не копия — свой.

— Опа, — Тёма подаётся к экрану. — Он реально слазил к ним на сайт?

— Слазил и содрал стиль, — ухмыляется Лёха. — Чувствуешь разницу? К землетрясениям у ИИ было готовое окошко — он просто взял данные. А к Stripe окошка нет — ИИ сам сходил на реальный сайт и содрал оттуда дизайн. Две руки, а суть одна: у ИИ появились новые руки наружу. Одной он берёт через готовое окно, другой лезет туда, где окна нет.

— Короче, — подытоживает Тёма. — Есть окошко у сервиса — mcp-кабель приносит данные. Нет окошка — mcp идёт на сайт и берёт сам. А ключ — мимо чата и мимо репозитория.

— Красавчик. Вот теперь можно и поработать, — отзывается Лёха.

1
Задача
Claude code, 7 уровень, 3 лекция
Недоступна
Расхождение карты модулей и сборки: недостающая зависимость
Расхождение карты модулей и сборки: недостающая зависимость
1
Задача
Claude code, 7 уровень, 3 лекция
Недоступна
Применение reverse dependency mapping к risky file
Применение reverse dependency mapping к risky file
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ