← Блог / Skills & MCP

Что такое MCP (Model Context Protocol) простыми словами

·7 мин

Claude Code умеет читать файлы, запускать тесты и менять код — но по умолчанию он заперт внутри репозитория. Он не может заглянуть в живую базу данных, открыть браузер или свериться с актуальной документацией. MCP — это стандартный разъём, через который агент дотягивается до внешнего мира. Разберём, что такое Model Context Protocol, чем tool отличается от resource и как Claude находит подключённые серверы.

Зачем нужен MCP и что это такое

Представьте, что вы отлаживаете баг в CoffeeCRM: агент читает код, находит подозрительный SQL-запрос, но не может сам проверить реальные данные в базе — ему нужно ваше посредничество. Это и есть «стена», которую ломает MCP.

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

Хорошая аналогия: MCP — это USB-C для AI-агентов. Раньше под каждый инструмент писали свою интеграцию — свой «кабель». Теперь есть один разъём: написал сервер один раз — его видит любой MCP-совместимый клиент: Claude Code, Claude Desktop, Cursor и другие.

Протокол описывает две роли:

  • MCP-клиент — тот, кто потребляет возможности. В нашем случае — Claude Code.
  • MCP-сервер — тот, кто предоставляет возможности. Например, сервер Postgres, умеющий ходить в базу.

Важный момент: «сервер» здесь — не обязательно что-то в облаке. Чаще всего это маленький локальный процесс, который Claude Code запускает сам и общается с ним через stdio (стандартный ввод/вывод). Никакого развёртывания, никаких платных API — просто два процесса на вашей машине.

Tools и Resources — два типа возможностей

Сервер может давать клиенту несколько видов возможностей. Нам критичны два:

Tool (инструмент) — действие

Tool — это функция, которую агент вызывает, чтобы что-то сделать или получить по запросу. У каждого инструмента есть имя, описание и схема входных параметров.

Ключевое: инструментом управляет модель. Claude сам решает, когда и с какими аргументами вызвать tool, исходя из задачи пользователя. Tool может иметь побочные эффекты: выполнить SQL-запрос, открыть URL в браузере, отправить запрос к стороннему API.

Примеры: query у Postgres-сервера, browser_navigate у Playwright-сервера, list_products у вашего собственного MCP для CoffeeCRM.

Resource (ресурс) — данные для чтения

Resource — это именованный кусок данных, который сервер выставляет для чтения. Адресуется через URI (например, schema://coffeecrm/orders).

Ресурсом управляет пользователь или приложение: вы осознанно подключаете его в контекст — «вот эта схема таблицы пусть будет под рукой». Побочных эффектов нет — это «прочитать», а не «сделать».

Простой якорь, чтобы не путать:

Tool = глагол (сделать). Resource = существительное (прочитать).

На практике в Claude Code сегодня 90% пользы дают именно tools: агент вызывает их сам по ходу работы. Resources поддержаны не всеми клиентами одинаково, и часть готовых серверов чтение тоже реализуют как tool.

MCP-сервер против skill — где граница

После знакомства с skills возникает закономерный вопрос: а когда нужен MCP, а когда хватит skill?

Различие принципиальное:

SkillMCP-сервер
Что этоMarkdown-инструкция: знание и приёмыЗапущенный процесс: новые возможности
Что даёт агенту«Как делать» — конвенции, шаги«Чем делать» — вызываемые функции
Нужен код / рантаймНет, это текстДа, TS/Python-процесс

Формула:

Skill учит агента, КАК делать то, что он и так умеет (работать с файлами, кодом). MCP даёт агенту НОВУЮ СПОСОБНОСТЬ, которой у него физически не было.

Два кейса для закрепления:

Кейс A. «Хочу, чтобы агент генерировал NestJS-модули строго по конвенциям CoffeeCRM.» → Хватит skill. Это работа с файлами — агент умеет. Нужно только передать знание конвенций.

Кейс B. «Хочу, чтобы агент смотрел реальные данные в таблице orders живой базы CoffeeCRM.» → Нужен MCP (Postgres-сервер). Доступа к работающей БД у агента нет — это новая способность.

Хорошая новость: skill и MCP не конкурируют, они складываются. Нужно и генерировать код, и проверять его в браузере? Комбинируем skill с конвенциями + MCP Playwright.

Как Claude находит подключённые серверы

Здесь нет магии — только конфиг и динамический список возможностей.

Из терминала можно посмотреть все подключённые серверы:

claude mcp list

Команда покажет серверы и их статус: connected или нет. Если сервера нет в этом списке — Claude его не видит, сколько ни проси.

Внутри сессии — слэш-команда:

/mcp

На экране выпадет список серверов, их статус и — главное — доступные tools с описаниями. Именно по описаниям модель решает, какой инструмент применить к задаче. Чем точнее описание, тем надёжнее агент выбирает нужный tool. Это особенно важно, когда вы пишете собственный сервер (подробнее — в статье как написать свой MCP-сервер).

Серверы хранятся на трёх уровнях:

  • local — только эта машина, не коммитится (дефолт при claude mcp add).
  • project — файл .mcp.json в корне репозитория, коммитится и шарится с командой.
  • user — для всех ваших проектов на машине.

Различие project vs local критично для командной работы: если хотите, чтобы коллега, склонировав репо, получил те же серверы — это .mcp.json с scope: project. Если сервер локальный (например, путь к вашей локальной БД) — local.

Точный синтаксис команд и поля конфига лучше сверять с актуальной документацией — они меняются между версиями Claude Code.

Как это работает на реальном проекте

В модуле 3 курса мы подключаем три готовых MCP-сервера к CoffeeCRM — локально и без платных ключей:

  • Postgres — агент напрямую смотрит реальные данные в базе, воспроизводит баги, проверяет миграции.
  • Playwright — агент открывает браузер, кликает по UI, проверяет формы. Это E2E-тестирование руками агента.
  • Context7 — агент в любой момент сессии может подтянуть актуальную документацию нужной библиотеки, не полагаясь на свои устаревшие знания.

Все три подключаются через .mcp.json в корне проекта — команда клонирует репо и сразу получает рабочее окружение.

Подробная инструкция по подключению — в статье как подключить MCP-серверы.

Итог

MCP — протокол-разъём (USB-C для агентов): один стандарт, через который Claude Code дотягивается до внешнего мира. Обычно это локальный процесс по stdio — ничего сложного в инфраструктурном смысле.

Ключевые понятия:

  • Tool — действие, которое агент вызывает сам по ходу задачи.
  • Resource — данные для чтения, которые подключают осознанно.
  • Нет внешнего мира (база, браузер, чужой API) — скорее всего хватит skill. Есть — нужен MCP.
  • Claude обнаруживает инструменты динамически: /mcp покажет всё, что доступно прямо сейчас.

Если хотите разобраться системно — от первого запуска до написания собственного MCP-сервера — посмотрите полный курс по Claude Code.

Курс

Освойте Claude Code системно

6 модулей, реальный fullstack-проект до деплоя, свои skills, MCP и агенты.

Смотреть программу курса