Блок 9 Презентация

MCP-серверы — Подключение внешних инструментов — Презентация

Продолжительность: ~10 минут Цель: Студенты понимают, что такое MCP, как работают серверы и как настроить Claude Code для использования внешних инструментов.


Слайд 1: Проблема интеграции

Вот ваш ежедневный рабочий процесс как разработчика:

  1. Прочитать issue на GitHub
  2. Открыть кодовую базу в редакторе
  3. Внести изменения
  4. Запустить тесты
  5. Запушить ветку
  6. Открыть PR, связанный с issue
  7. Ответить на комментарии ревью
  8. Написать обновление в 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-сервер – это небольшой процесс, который:

  1. Предоставляет набор инструментов (функций, которые Claude может вызывать)
  2. Общается с Claude по протоколу MCP
  3. Выполняет реальные 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-сервера. Воспользуюсь им.”

Что происходит:

  1. Claude вызывает инструмент list_issues с параметрами {owner: "your-name", repo: "ai-coderrank", state: "open", labels: ["bug"]}
  2. MCP-сервер получает вызов
  3. Сервер выполняет реальный запрос к GitHub API
  4. Результаты возвращаются в Claude
  5. 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 и управляет вашим рабочим процессом – всё из терминала.


Готовы проверить себя?

Пройти квиз →