Перейти к содержанию
Обучение 10 мин чтения

MCP для AI: конспект курса Anthropic

Как устроен Model Context Protocol: хост, клиент, сервер, tools, resources, prompts, транспорты и базовые правила безопасности.

Авторский конспект

07/08
Anthropic Academy

Я прохожу курс на английском и собираю главное на русском.

Исходник
на английский
Конспект
на русском
В серии
7 из 8
Сертификат Introduction to MCP — Anthropic Academy
Сертификат Проверить

MCP легко принять за тему только для разработчиков. Но протокол определяет, как AI-приложение получает внешние данные и инструменты, поэтому его полезно понимать всем, кто подключает к модели рабочие сервисы.

Собственно, об этом и статья. Курс Anthropic Academy объясняет, что такое MCP, как он устроен и зачем нужен. Я добавила практические примеры из своего опыта.

Курс: Introduction to Model Context Protocol (MCP) Платформа: Anthropic Academy Ссылка: anthropic.skilljar.com/introduction-to-model-context-protocol Длительность: ~45 минут Язык: English Бесплатно, с сертификатом Авторский конспект по материалам курса. Не является официальным переводом или публикацией Anthropic.

Сертификат курса Introduction to MCP от Anthropic — Валерия Ом

Это часть серии «Учусь вместо вас». Также в серии: Claude 101, AI Fluency for Educators, Advanced Prompt Engineering, Claude Code in Action и Agent Skills.

Что такое MCP и почему его называют «USB для AI»?

MCP (Model Context Protocol) — открытый стандарт, который позволяет AI-моделям подключаться к внешним сервисам и данным. Курс использует красивую метафору: MCP это «USB-C для искусственного интеллекта». До USB каждое устройство имело свой уникальный разъём. Принтер, сканер, камера, телефон. Куча несовместимых проводов. USB создал единый стандарт, и всё стало подключаться к одному порту.

С AI похожая задача: без общего протокола каждая интеграция требует собственной схемы подключения. MCP стандартизирует обмен, но для конкретного сервиса всё равно нужен совместимый сервер с нужными возможностями.

На практике MCP может убрать ручное копирование между таблицей и чатом. Хост вызывает инструмент чтения, передаёт результат модели и, при отдельном разрешении, выполняет запись. Это удобнее, но повышает требования к доступам и журналу действий.

Без MCPС MCP
Копировать данные из сервисаClaude читает данные напрямую
Вставлять в чатClaude анализирует в контексте
Копировать результат обратноКлиент может предложить запись через инструмент
Каждый сервис — отдельная схемаОбщий протокол для совместимых серверов

MCP создан Anthropic как открытый стандарт и поддерживается разными приложениями. Но совместимость конкретного сервера и клиента всё равно нужно проверять отдельно.

Как устроена архитектура MCP: сервер, клиент, хост?

Архитектура MCP состоит из трёх компонентов: MCP Host, MCP Client и MCP Server. Курс объясняет это через аналогию с офисом.

MCP Host — это приложение, в котором работает пользователь. Claude Desktop, Claude Code, IDE с AI-плагином. Представьте офисное здание: это место, где вы физически находитесь и работаете.

MCP Client — протокольный слой внутри хоста. Он устанавливает и поддерживает соединение с серверами. Это как ресепшен в офисе: принимает запросы, направляет к нужному отделу.

MCP Server — лёгкая программа, которая предоставляет доступ к конкретному сервису. Один сервер для Google Sheets, другой для Slack, третий для базы данных. Как отдельные департаменты в компании: каждый отвечает за свою область.

┌─────────────────────────────────────────┐
│           MCP Host                      │
│  (Claude Desktop / Claude Code / IDE)   │
│                                         │
│    ┌─────────────────────────────┐      │
│    │       MCP Client            │      │
│    │  (протокольный слой)        │      │
│    └──────────┬──────────────────┘      │
└───────────────┼─────────────────────────┘

    ┌───────────┼───────────┐
    │           │           │
    ▼           ▼           ▼
┌───────┐  ┌───────┐  ┌───────┐
│Server │  │Server │  │Server │
│Sheets │  │ Slack │  │  CRM  │
└───────┘  └───────┘  └───────┘

В моей конфигурации Claude Code выступает хостом и создаёт отдельное клиентское соединение для каждого подключённого сервера. Один хост может работать с несколькими серверами, не смешивая их соединения напрямую.

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

Три примитива MCP: инструменты, ресурсы, промпты

MCP определяет три типа возможностей, которые сервер может предоставить. Курс называет их «примитивами» (primitives). Это базовые строительные блоки протокола.

Tools (инструменты)

Tools — это действия, которые AI может выполнить. Отправить сообщение, создать запись в базе, сгенерировать изображение. Ключевое слово здесь: model-controlled. Модель сама решает, когда и какой инструмент использовать, на основе контекста разговора.

Например, сервер генерации изображений может предоставить инструмент generate_image. Модель способна выбрать его по описанию задачи, но интерфейс должен сохранять человеку возможность увидеть и отклонить вызов.

Resources (ресурсы)

Resources — это данные, которые сервер предоставляет. Файлы, записи из базы, содержимое документов. Ключевое слово: application-controlled. Приложение (хост) решает, какие ресурсы загрузить в контекст.

Курс разделяет ресурсы на два типа:

Static resources — данные с фиксированным URI. Конкретный файл, конкретная таблица. URI не меняется.

Templated resources — динамические данные с параметрами в URI. Например, sheets://spreadsheet/{sheet_id}. Параметр {sheet_id} подставляется в момент запроса. Это позволяет работать с разными таблицами через один шаблон.

Например, сервер таблиц может предоставить templated resource вида sheets://spreadsheet/{sheet_id}. Один шаблон работает с разными таблицами, а конкретный идентификатор подставляется в момент запроса.

Prompts (промпты)

Prompts — готовые сценарии взаимодействия, которые сервер предлагает пользователю. Ключевое слово: user-controlled. Пользователь явно выбирает, какой промпт активировать.

Это как меню в ресторане. Сервер говорит: «У меня есть такие сценарии работы». Пользователь выбирает: «Хочу вот этот». Claude получает структурированную инструкцию и выполняет.

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

ПримитивКто контролируетЧто делаетПример
ToolsМодельВыполняет действияОтправить email, создать задачу
ResourcesПриложениеПредоставляет данныеСодержимое файла, записи из CRM
PromptsПользовательАктивирует сценарии«Проанализируй эту таблицу»

Transport-agnostic: почему это важно?

MCP разделяет протокольные сообщения и транспорт. В актуальной спецификации основные варианты подключения: stdio для локального процесса и Streamable HTTP для удалённого сервера.

stdio — стандартный ввод/вывод. Сервер запускается как процесс на вашей машине, общается через stdin/stdout. Это самый простой вариант для локальных серверов.

Streamable HTTP — транспорт для удалённых серверов на основе HTTP POST и GET с необязательным SSE для потоковых сообщений. Он заменил прежний отдельный HTTP+SSE transport.

Почему это важно? Логика сервера может быть общей для разных способов развёртывания, но транспорт, авторизация и обработка нескольких клиентов требуют отдельной конфигурации и тестирования.

Для локального инструмента подходит stdio: клиент запускает сервер как дочерний процесс. Для общего сервиса обычно нужен Streamable HTTP с авторизацией, ограничением доступа и защищённым соединением.

Python SDK: как писать MCP-серверы без боли

Курс показывает, как создать MCP-сервер на Python. Главная идея: декораторы вместо JSON-схем. Раньше для описания инструмента нужно было писать громоздкую JSON Schema. Сейчас достаточно декоратора @mcp.tool.

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("my-server")

@mcp.tool
def get_weather(city: str) -> str:
    """Получить погоду для города."""
    # логика получения погоды
    return f"Погода в {city}: солнечно, 22°C"

Декоратор @mcp.tool автоматически создаёт описание инструмента из docstring и типов аргументов. Не нужно дублировать информацию в JSON. Код становится чище, ошибок меньше.

Для ресурсов работает аналогично:

@mcp.resource("file://{path}")
def read_file(path: str) -> str:
    """Прочитать содержимое файла."""
    with open(path) as f:
        return f.read()

Python SDK снижает объём служебного кода, но собственный сервер всё равно остаётся программой с доступом к данным и действиям. Его нужно тестировать, ограничивать и поддерживать как обычную интеграцию.

MCP Inspector: как отлаживать серверы

Курс знакомит с MCP Inspector — инструментом для тестирования серверов. Это веб-интерфейс, который позволяет подключиться к серверу, посмотреть доступные инструменты, ресурсы и промпты, вызвать их вручную и увидеть результат.

Запуск простой:

npx @modelcontextprotocol/inspector

Inspector открывается в браузере. Вы видите список серверов, можете выбрать любой, посмотреть его возможности, отправить тестовые запросы. Это как Postman для API, только для MCP.

Inspector помогает отделить ошибку сервера от поведения модели: проверить соединение, список возможностей, входные параметры и фактический ответ инструмента.

Зачем маркетологу понимать MCP?

Три причины, почему я рекомендую пройти этот курс, даже если вы не собираетесь писать свои серверы.

1. Понимание возможностей. Зная архитектуру MCP, можно точнее оценить идею интеграции: существует ли подходящий сервер, какие данные он получает и какие действия должен выполнять.

2. Выбор инструментов. MCP-серверов становится всё больше. Когда вы понимаете разницу между Tools и Resources, между Static и Templated, вы можете оценить, какой сервер вам нужен. Не просто «подключить что-нибудь», а выбрать осознанно.

3. Коммуникация с разработчиками. Если вы работаете в команде или заказываете разработку, понимание MCP помогает ставить задачи. «Мне нужен MCP-сервер для нашей CRM с двумя инструментами: получить сделку и обновить статус». Это конкретное техническое задание, а не абстрактное «хочу интеграцию».

MCP не заменяет автоматически Zapier, Make или прямой API. Это другой слой интеграции: он полезен, когда AI-приложению нужно динамически выбирать доступные данные и инструменты в пределах заданных правил.

Что я внедрила после курса

Курс подтвердил то, что я уже использовала, и добавил понимания, как это работает под капотом. Вот что изменилось:

  1. Templated resources для однотипных источников. Один шаблон URI с параметром проще поддерживать, чем отдельную конфигурацию для каждой таблицы.

  2. Осознанный выбор между Tools и Resources. Я разделяю действие и данные, чтобы не дублировать возможности сервера.

  3. MCP Inspector как часть рабочего процесса. Перед разбором ответа модели я отдельно проверяю соединение, схему инструмента и ответ сервера.

  4. Понимание границ. MCP это про подключение к данным и действиям. Он не делает Claude умнее и не учит его новым навыкам. Зато даёт руки и глаза. Модель остаётся мозгом, MCP даёт ей тело.

Кому подойдёт этот курс?

Курс технический, но доступный. Anthropic нашли баланс между глубиной и понятностью.

Подойдёт:

  • Маркетологам и предпринимателям, которые хотят понять, как AI может работать с их инструментами
  • Тем, кто уже использует Claude и хочет расширить его возможности
  • Разработчикам, которые планируют создавать MCP-серверы

Не подойдёт:

  • Тем, кто ищет готовые решения «под ключ» (курс про понимание, не про конфигурацию)
  • Тем, кто не готов разбираться в технических концепциях

Курс короткий и даёт базовую карту протокола. На момент моего прохождения он и сертификат были бесплатными; актуальные условия лучше проверить в Anthropic Academy.


Серия «Учусь вместо вас»:

Часто задаваемые вопросы

Нужно ли уметь программировать, чтобы использовать MCP?

Для подключения готового сервера программирование часто не требуется, но нужно уметь проверить источник, команду запуска, разрешения и конфигурацию. Для собственного сервера понадобятся навыки разработки и понимание безопасности интеграций.

Чем MCP отличается от обычных API-интеграций?

MCP стандартизирует обмен между AI-приложением и сервером, но не отменяет API конкретного сервиса. Обычно MCP-сервер сам использует этот API и адаптирует его возможности к общему протоколу.

Безопасно ли давать AI доступ к корпоративным данным через MCP?

Безопасность зависит от реализации. Локальный сервер может выполнять код с правами пользователя, а удалённый требует надёжной авторизации. Подключайте только доверенные серверы, проверяйте команду запуска, минимизируйте разрешения и не передавайте чувствительные данные без необходимости.

Где найти готовые MCP-серверы?

Начать лучше с официальной документации MCP и каталогов, на которые она ссылается. Перед установкой проверяйте автора, исходный код, разрешения и актуальность каждого сервера.


Если вы хотите разобраться, как MCP и другие AI-инструменты могут работать в вашем бизнесе, запишитесь на консультацию. Разберём ваш стек, покажу, какие интеграции дадут максимальный эффект.


Читайте также