AI University
AI University / Гиды / MCP-сервер: что это и как работает Model Context Protocol

MCP-сервер: что это и как работает Model Context Protocol

Обновлено 29.09.2026 · Автор: Владислав Попов

MCP (Model Context Protocol) — открытый стандарт, по которому нейросеть подключается к внешним инструментам и данным: файлам, GitHub, базам данных, браузеру, внутренним сервисам компании. MCP-сервер — небольшая программа, которая по этому стандарту сообщает нейросети, что она умеет (например, «найти задачу в трекере» или «прочитать таблицу»), и выполняет эти действия по её запросу. Один раз написанный MCP-сервер работает с любым совместимым приложением: Claude Desktop, Claude Code, IDE и собственными агентами.

Этот гид объясняет MCP без лишней теории: из чего состоит протокол, какие серверы уже есть, как подключить сервер к Claude, на что смотреть с точки зрения безопасности и как за полчаса написать свой сервер на Python. В конце собраны бесплатные уроки официального курса Anthropic по MCP на русском.

Зачем нужен MCP

Модель сама по себе знает только то, что было в обучении и в вашем сообщении. Чтобы она прочитала файл, сделала запрос к базе или создала задачу в трекере, ей нужен инструмент (tool): функция с описанием, которую модель может попросить вызвать.

До MCP каждый разработчик писал такие инструменты сам: схему, функцию, обработку ошибок, и так под каждый сервис. У GitHub сотни операций, и полноценный чат-бот по GitHub означал бы сотни самописных инструментов, которые нужно тестировать и поддерживать. Этот пример разбирают в уроке «Знакомство с MCP».

MCP переносит эту работу в отдельную программу, MCP-сервер. Сервер для GitHub один раз пишет, например, сам GitHub, а любое AI-приложение просто подключает его и получает готовый набор инструментов. Протокол опубликовала Anthropic в ноябре 2024 года как открытый стандарт, сейчас его поддерживают не только продукты Anthropic, но и инструменты других компаний, например OpenAI Agents SDK.

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

В MCP три роли. Их легко перепутать, поэтому сначала коротко, потом на примере.

Клиент и сервер обмениваются сообщениями, формат которых описан в спецификации MCP (это JSON-RPC). Протокол не привязан к способу связи: если сервер запущен на том же компьютере, они общаются через стандартный ввод-вывод (stdio), удалённый сервер работает по HTTP (транспорт Streamable HTTP).

Что происходит, когда вы задаёте вопрос

  1. Пользователь спрашивает: «Какие у меня открытые pull request?»
  2. Хост через MCP-клиент запрашивает у сервера список инструментов (запрос tools/list) и отправляет его модели вместе с вопросом.
  3. Модель видит инструмент с подходящим описанием и отвечает не текстом, а просьбой вызвать инструмент с такими-то аргументами.
  4. Клиент отправляет серверу запрос tools/call, сервер обращается к GitHub и возвращает результат.
  5. Результат уходит модели, и она пишет пользователю итоговый ответ.

Весь этот цикл пошагово нарисован в уроке «MCP-клиенты».

Инструменты, ресурсы и промпты

Сервер может предоставлять три вида возможностей. Разница между ними в том, кто решает, когда их использовать.

ПримитивЧто этоКто управляетПример
Инструменты (tools)действия: функция с описанием и схемой аргументовмодель сама решает, вызвать лисоздать issue, выполнить SQL-запрос, открыть страницу
Ресурсы (resources)данные для чтения по адресу (URI)приложение подставляет их в контекстсодержимое документа, список файлов, схема базы
Промпты (prompts)готовые шаблоны запросов с параметрамипользователь выбирает, например, через слеш-команду«/format документ», «/review ветка»

В курсе Anthropic все три примитива реализуют на одном учебном проекте: инструменты для чтения и правки документов, ресурсы для упоминания документа через @, промпты для слеш-команды форматирования.

Страница курса «Введение в MCP» на русском на AI University
Курс «Введение в MCP» от Anthropic на русском: 16 уроков, около часа, первые уроки бесплатно.

Примеры MCP-серверов

Готовых серверов тысячи: официальные от компаний-разработчиков сервисов и сообщества. Самые полезные для начала:

Как подключить MCP-сервер к Claude: пошагово

Общая схема одинакова для любого хоста: указать, как запустить сервер (команда и аргументы) или по какому адресу он доступен, перезапустить приложение и разрешить вызовы инструментов.

Claude Desktop

  1. Установите Node.js или Python, в зависимости от того, на чём написан сервер. Серверы на Node.js обычно запускаются через npx, на Python через uvx или python.
  2. Откройте в настройках приложения раздел Developer и нажмите Edit Config. Откроется файл claude_desktop_config.json (в Windows он лежит в %APPDATA%\Claude, в macOS в ~/Library/Application Support/Claude).
  3. Добавьте сервер в раздел mcpServers, как в примере ниже, и сохраните файл.
  4. Полностью закройте и снова откройте Claude Desktop. Инструменты сервера появятся в меню инструментов в окне чата.
  5. При первом вызове инструмента приложение спросит разрешение. Читайте, что именно и с какими аргументами собирается сделать модель.
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/me/Documents/notes"
      ]
    },
    "notes": {
      "command": "python",
      "args": ["/Users/me/mcp/notes_server.py"],
      "env": { "NOTES_DIR": "/Users/me/Documents/notes" }
    }
  }
}

Последний аргумент файлового сервера — папка, к которой ему разрешён доступ. Указывайте конкретную рабочую папку, а не весь диск.

Claude Code

В Claude Code серверы добавляют командой в терминале (не внутри сессии Claude Code):

# локальный сервер, запускается командой после --
claude mcp add notes -- python /Users/me/mcp/notes_server.py

# удалённый сервер по HTTP
claude mcp add --transport http my-service https://example.com/mcp

# посмотреть подключённые серверы
claude mcp list

Чтобы сервер был у всей команды, его описывают в файле .mcp.json в корне репозитория. Внутри сессии команда /mcp показывает статус серверов. Если надоели запросы разрешений, доверенный сервер можно разрешить целиком в настройках проекта: в список allow добавляется строка вида mcp__имя_сервера. Этот приём, а также работа с браузером через Playwright MCP, показан в уроке 11 курса «Claude Code в действии».

MCP, обычный API, плагины и function calling: в чём разница

Частый вопрос: зачем MCP, если есть API и вызов функций? Это не конкуренты, а разные уровни. Function calling (в терминах Anthropic, tool use) — способность модели попросить вызвать функцию. MCP — стандарт того, где эти функции живут и как приложение их находит.

Обычный APIFunction calling (tool use)Плагины ChatGPTMCP
Для когодля программистадля модели внутри вашего приложениядля модели внутри ChatGPTдля любой модели в любом совместимом приложении
Кто пишет схему и код инструмента—вы, в своём приложенииавтор плагинаавтор сервера, часто сам сервис
Переиспользованиенужна интеграция под каждое приложениетолько в вашем кодетолько в ChatGPTодин сервер для Claude Desktop, Claude Code, IDE, агентов
Что умеет кроме действий—только функциитолько действияинструменты, ресурсы, промпты, уведомления
Статусбазовый способ интеграцииесть у всех крупных моделейзакрыты в 2024 годуоткрытый стандарт, развивается

MCP не отменяет tool use: внутри хоста инструменты сервера всё равно передаются модели как обычные инструменты. Поэтому полезно сначала понять механику tool use, её разбирает курс «Работа с инструментами Claude».

Безопасность MCP

MCP-сервер — это программа с доступом к вашим данным и аккаунтам, которой управляет модель. Отсюда простые правила.

Как написать свой MCP-сервер на Python

Для своего сервера удобнее всего официальный SDK: есть версии для Python и TypeScript, а также для других языков. SDK сам формирует JSON-схему инструмента по сигнатуре функции и строке документации, поэтому схемы вручную писать не нужно. Ниже сервер заметок с одним инструментом, одним ресурсом и одним промптом.

# pip install "mcp[cli]"
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("notes")
NOTES = "notes.txt"

@mcp.tool()
def add_note(title: str, text: str) -> str:
    """Сохранить заметку с заголовком в файл заметок."""
    with open(NOTES, "a", encoding="utf-8") as f:
        print(f"{title}: {text}", file=f)
    return "Заметка сохранена"

@mcp.resource("notes://all")
def all_notes() -> str:
    """Все заметки целиком."""
    with open(NOTES, encoding="utf-8") as f:
        return f.read()

@mcp.prompt()
def weekly_review() -> str:
    """Шаблон для еженедельного разбора заметок."""
    return "Прочитай мои заметки и составь список дел на неделю по приоритетам."

if __name__ == "__main__":
    mcp.run()  # по умолчанию транспорт stdio
  1. Установите SDK и сохраните код в файл notes_server.py.
  2. Проверьте сервер в инспекторе. Команда mcp dev notes_server.py открывает MCP Inspector в браузере: там видны инструменты, ресурсы и промпты, их можно вызвать вручную без модели. Инспектор разбирают в уроке 6 курса «Введение в MCP».
  3. Подключите сервер к Claude Desktop или Claude Code, как описано выше.
  4. Попросите модель «Запиши заметку: позвонить бухгалтеру в пятницу» и посмотрите, как она вызывает add_note.
  5. Доработайте описания. Модель выбирает инструмент по описанию, поэтому пишите в строке документации, когда инструмент нужен и что он возвращает.

На TypeScript схема та же: пакет @modelcontextprotocol/sdk, объект McpServer, регистрация инструмента со схемой аргументов через zod и подключение транспорта StdioServerTransport. Если нужен удалённый сервер для нескольких пользователей, вместо stdio используют Streamable HTTP, а к нему добавляют авторизацию. Транспорты подробно разбирает курс «MCP: продвинутые темы».

Частые ошибки при работе с MCP

Где выучить MCP на русском

Anthropic выпустила два официальных курса по MCP, оба переведены на русский и открываются из России без VPN. Сам Claude в России официально недоступен, но протокол открытый: навыки пригодятся с любыми совместимыми моделями и инструментами.

Первые уроки каждого курса бесплатны без регистрации. Полный доступ ко всем курсам Anthropic стоит 1490 ₽ разово, ко всем курсам платформы 4900 ₽, без подписки.

Первый урок курса «Введение в MCP» на русском
Урок 1 курса «Введение в MCP»: что будет в курсе и какой проект вы соберёте.

Что дальше: бесплатные уроки по MCP

  1. Добро пожаловать на курс — программа курса «Введение в MCP».
  2. Знакомство с MCP — зачем нужен протокол и чем MCP-сервер отличается от прямого вызова API.
  3. MCP-клиенты — транспорты и полный путь запроса от пользователя до GitHub и обратно.
  4. Sampling: как сервер обращается к модели через клиента — первая тема продвинутого курса.
  5. Основы работы с инструментами — как модель вызывает функции.

Если вы хотите не только подключать серверы, но и строить агентов, продолжение в гиде Курс по ИИ-агентам. Все курсы по теме собраны на странице курсы по MCP.

Первые уроки курса по MCP бесплатно

Официальный курс Anthropic «Введение в MCP» на русском, видео с субтитрами, без VPN. Первые уроки без регистрации.

Открыть курс по MCP

Частые вопросы

Что такое MCP-сервер простыми словами?

Это программа-переходник между нейросетью и сервисом. Она сообщает модели, какие действия доступны (например, «найти файл» или «создать задачу»), и выполняет их, когда модель просит. Работает с любым приложением, которое поддерживает Model Context Protocol.

Чем MCP отличается от function calling?

Function calling (tool use) — умение модели попросить вызвать функцию. MCP — стандарт, где эти функции живут: их пишут один раз в сервере, и любое совместимое приложение подключает их без своей интеграции. Внутри хоста инструменты MCP передаются модели как обычные инструменты.

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

В Claude Desktop добавьте сервер в файл claude_desktop_config.json (раздел mcpServers) и перезапустите приложение. В Claude Code выполните в терминале claude mcp add имя -- команда_запуска или claude mcp add --transport http имя адрес для удалённого сервера.

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

Чтобы подключить готовый сервер, достаточно отредактировать конфигурацию по инструкции. Чтобы написать свой, нужен базовый Python или TypeScript: официальный SDK берёт на себя протокол и схемы.

Безопасны ли MCP-серверы?

Настолько, насколько надёжен сервер и насколько узкие права вы ему дали. Ставьте серверы из официальных источников, давайте токены с минимальными правами, не разрешайте без подтверждения удаление и отправку данных, помните о prompt injection через недоверенный контент.

Работает ли MCP только с Claude?

Нет. Протокол открытый, его поддерживают разные AI-приложения и SDK, в том числе OpenAI Agents SDK. Сервер, написанный один раз, подойдёт разным клиентам.

Есть ли курс по MCP на русском?

Да, два официальных курса Anthropic: «Введение в MCP» (16 уроков) и «MCP: продвинутые темы» (18 уроков). Первые уроки бесплатны без регистрации, курсы открываются из России без VPN.

Владислав Попов

Владислав Попов
PhD (University of York), основатель Стадики и AI University. Отбирает и переводит на русский официальные курсы Anthropic, OpenAI и Google.