MCP-серверы — Подключение внешних инструментов — Презентация
Продолжительность: ~10 минут Цель: Студенты понимают, что такое MCP, как работают серверы и как настроить Claude Code для использования внешних инструментов.
Слайд 1: Проблема интеграции
Вот ваш ежедневный рабочий процесс как разработчика:
- Прочитать issue на GitHub
- Открыть кодовую базу в редакторе
- Внести изменения
- Запустить тесты
- Запушить ветку
- Открыть PR, связанный с issue
- Ответить на комментарии ревью
- Написать обновление в Slack
Шаги 2-4? Claude Code справляется с ними отлично. Но шаги 1, 5-8? Claude не видит ваши GitHub Issues. Он не может открывать PR. Он не знает о существовании Slack. Он заперт внутри вашего локального терминала.
Это и есть проблема интеграции. Claude отлично работает с кодом, но код не существует в вакууме. Он существует внутри рабочего процесса, охватывающего множество инструментов, платформ и сервисов. Без доступа к этим инструментам Claude похож на шеф-повара, который может приготовить что угодно, но не может прочитать меню или подать блюдо.
MCP решает эту проблему.
Слайд 2: Что такое MCP на самом деле
MCP = Model Context Protocol. Это открытый стандарт, определяющий, как ИИ-модели подключаются к внешним инструментам и источникам данных.
Представьте это как USB для ИИ. До USB у каждого периферийного устройства был свой разъём – принтеры, клавиатуры, мыши, камеры использовали разные кабели. USB сказал “один стандартный разъём, всё подключается одинаково”. MCP делает то же самое для ИИ-интеграций.
Before MCP: With MCP:
Claude ──custom code──> GitHub Claude ──MCP──> GitHub
Claude ──custom code──> Slack Claude ──MCP──> Slack
Claude ──custom code──> Jira Claude ──MCP──> Linear
Claude ──custom code──> Database Claude ──MCP──> PostgreSQL
(Each requires building & maintaining a custom integration)
(One protocol. Plug any server in.)
MCP-сервер – это небольшой процесс, который:
- Предоставляет набор инструментов (функций, которые Claude может вызывать)
- Общается с Claude по протоколу MCP
- Выполняет реальные API-вызовы к внешнему сервису
С точки зрения Claude, MCP-инструменты выглядят и работают точно так же, как встроенные. Ему неважно (и не нужно знать), что create_issue приходит от MCP-сервера, а не встроена в бинарник. У него просто больше доступных инструментов.
Слайд 3: Доступные MCP-серверы
Экосистема MCP быстро растёт. Вот серверы, с которыми вы столкнётесь чаще всего:
Официальные / хорошо поддерживаемые серверы
| Сервер | Что предоставляет | Сценарий использования |
|---|---|---|
| GitHub | Issues, PR, ревью, комментарии, управление репо | Полный GitHub-воркфлоу из Claude |
| Filesystem | Чтение/запись файлов в дополнительных директориях | Доступ к файлам за пределами проекта |
| PostgreSQL | Запросы и инспекция баз данных | Отладка проблем с данными, исследование схем |
| Slack | Отправка сообщений, чтение каналов | Командная коммуникация |
| Linear | Issues, проекты, циклы | Управление проектами |
| Docker | Управление контейнерами | Сборка, запуск, инспекция контейнеров |
| Puppeteer | Автоматизация браузера | Тестирование, скриншоты |
Сообщество серверов
Сообщество создало 50+ MCP-серверов для всего – от Notion до Google Drive и AWS. Качество варьируется – проверяйте звёзды на GitHub, дату последнего коммита и отзывчивость мейнтейнера на issues.
Где искать: https://github.com/modelcontextprotocol/servers – официальный список. Также смотрите https://mcp.so для поискового каталога.
Слайд 4: Конфигурация – .mcp.json
MCP-серверы настраиваются в JSON-файле. Вот структура:
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your-token>"
}
},
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/allowed/directory"
]
}
}
}
Каждая запись сервера содержит:
command– что запускать (обычноnpxдля серверов на Node)args– аргументы для команды (имя пакета плюс специфичная конфигурация сервера)env(опционально) – переменные окружения, которые нужны серверу (API-токены и т.д.)
Этот файл располагается в .mcp.json для конфигурации уровня проекта. Конфигурация уровня пользователя хранится в ~/.claude.json (управляется автоматически через claude mcp add --scope user).
Когда Claude Code запускается (или когда вы перезапускаете сессию), он запускает каждый настроенный MCP-сервер как фоновый процесс. Серверы работают на протяжении всей сессии.
Слайд 5: Как Claude использует MCP-инструменты
После настройки MCP-сервера его инструменты автоматически появляются в арсенале Claude. Вот как это выглядит на практике:
Вы говорите: “Перечисли все открытые issues в репозитории ai-coderrank с лейблом bug”
Claude думает: “У меня есть инструмент list_issues от GitHub MCP-сервера. Воспользуюсь им.”
Что происходит:
- Claude вызывает инструмент
list_issuesс параметрами{owner: "your-name", repo: "ai-coderrank", state: "open", labels: ["bug"]} - MCP-сервер получает вызов
- Сервер выполняет реальный запрос к GitHub API
- Результаты возвращаются в Claude
- Claude представляет issues вам в читаемом формате
Вы не писали никакого кода. Не настраивали никаких API-вызовов. Вы просто задали вопрос, и Claude использовал нужный инструмент для ответа.
Тот же процесс работает для создания issues, комментирования PR, чтения файлов из других директорий, запросов к базам данных – любого инструмента, который предоставляет любой настроенный MCP-сервер.
Слайд 6: Разрешения – Управление доступом MCP
Вот в чём дело с предоставлением Claude доступа к вашему GitHub-аккаунту: возможно, вы не хотите, чтобы он делал всё. Может быть, вас устраивает чтение issues, но некомфортно, что он может пушить код. Может быть, он может просматривать PR, но не должен их мержить.
Для этого есть разрешения. Команда /permissions в Claude Code показывает и управляет доступом к инструментам:
> /permissions
Allowed:
- mcp__github__list_issues
- mcp__github__get_issue
- mcp__github__create_issue
- mcp__github__list_pull_requests
Denied:
- mcp__github__merge_pull_request
- mcp__github__delete_branch
MCP-инструменты следуют соглашению об именовании mcp__<server>__<tool>. Вы можете разрешать или запрещать каждый из них по отдельности или использовать шаблоны:
- Разрешить все операции чтения GitHub:
mcp__github__get_*,mcp__github__list_* - Заблокировать все деструктивные операции: запретить
mcp__github__delete_*,mcp__github__merge_*
Это даёт вам точный контроль. Claude может быть полезным помощником, который читает ваши issues и открывает PR, без возможности мержить в main или удалять ветки.
Правило: Начинайте с доступа только на чтение. Добавляйте разрешения на запись по мере роста доверия. Никогда не одобряйте деструктивные операции автоматически.
Ключевые выводы
| Концепция | Что это | Почему это важно |
|---|---|---|
| MCP | Model Context Protocol – стандарт плагинов для ИИ | Один протокол для подключения любого инструмента |
| MCP-сервер | Процесс, предоставляющий инструменты через MCP | Каждый сервер добавляет возможности Claude |
.mcp.json |
Файл конфигурации MCP | Здесь вы объявляете, какие серверы запускать |
| MCP-инструменты | Функции, предоставляемые MCP-серверами | Claude вызывает их как встроенные инструменты |
/permissions |
Управление доступом к инструментам | Точный контроль того, что может делать Claude |
mcp__server__tool |
Соглашение об именовании MCP-инструментов | Используется для точной настройки разрешений |
Переход: Пора подключать инструменты. Сейчас вы подключите Claude к GitHub и увидите, как он создаёт issues, комментирует PR и управляет вашим рабочим процессом – всё из терминала.
Готовы проверить себя?
Пройти квиз →