Боты и автоматизация2026-08-02Обновлено: 2026-10-0710 минАвтор:

MCP-сервер: что это простыми словами и как подключить в 2026

Проверено 7 октября 2026: ревизия MCP, устаревшие функции, транспорты, команды и пути подключения к Claude, Codex и Cursor, доступ к файлам и безопасность по первоисточникам на 07.10.2026. Проверила Редакция Submarine School. Источники: modelcontextprotocol.io, modelcontextprotocol.io, modelcontextprotocol.io, code.claude.com, developers.openai.com, cursor.com, github.com, modelcontextprotocol.io.

MCP-сервер: что это простыми словами и как подключить в 2026

MCP-сервер соединяет ИИ-ассистента с внешними действиями, данными и шаблонами обращений: эта программа отдаёт их как инструменты, ресурсы и промпты по открытому протоколу MCP (Model Context Protocol). Он работает локально через stdio или удалённо через Streamable HTTP, а в Claude Desktop, Claude Code, Codex и Cursor подключается записью в конфиг или командой. Клиент должен поддерживать MCP и выбранный транспорт.

Зачем понадобился отдельный протокол

MCP нужен, чтобы интеграцию с внешним сервисом можно было использовать в разных ИИ-приложениях. Раньше каждая связка «ассистент плюс внешний сервис» писалась отдельно: свой формат описания функций у одного вендора, свой у другого, при переносе интеграцию приходилось переделывать. MCP убирает эту работу: сервис один раз описывает себя по общим правилам и подключается к клиентам, которые понимают стандарт и поддерживают нужный транспорт. Официальная документация сравнивает это с разъёмом USB-C для ИИ-приложений.

Anthropic представила MCP 25 ноября 2024 года как открытый стандарт подключения ИИ-приложений к внешним системам.

9 декабря 2025 года Anthropic передала MCP в Agentic AI Foundation, целевой фонд под управлением Linux Foundation. Сооснователями стали Anthropic, Block и OpenAI. На дату передачи в экосистеме было больше 10 000 активных публичных MCP-серверов; среди приложений с поддержкой стандарта Anthropic назвала ChatGPT, Cursor, Gemini, Microsoft Copilot и Visual Studio Code.

Версии протокола обозначаются датой. На 7 октября 2026 года текущая ревизия имеет номер 2026-07-28.

Учиться проще, когда уже видели результат. Завтра в 12:00 МСК на бесплатном мастер-классе ИИ-агент на ваших глазах выполняет задачу целиком, а в Claude Code за эфир собирают работающий сервис.

Посмотреть бесплатно

Из чего состоит связка: хост, клиент и сервер

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

  • Хостом служит само ИИ-приложение (Claude Code, Claude Desktop, VS Code, ChatGPT). Оно управляет подключениями и решает, что показать модели.
  • Клиент работает внутри хоста. На каждый сервер хост поднимает отдельного клиента со своим соединением.
  • Сервер отдаёт данные и умения. Эта программа работает локально на вашем компьютере или на чужой машине в интернете.

Модель никуда не «ходит» сама, все обращения идут через хост. Внутри протокол разделён на два слоя: слой данных описывает обмен сообщениями по JSON-RPC 2.0, слой транспорта отвечает за канал, по которому эти сообщения бегут.

По теме: MCP-серверы в Cursor: подключение и безопасная проверка

Что MCP-сервер отдаёт агенту

MCP-сервер отдаёт инструменты, ресурсы и промпты; в документации они называются примитивами:

  • Инструменты (tools): функции, которые модель вызывает, чтобы что-то сделать: прочитать файл, выполнить SQL, создать задачу. У каждой есть имя, JSON-схема параметров и, как правило, описание. Список приходит по tools/list, вызов идёт через tools/call.
  • Ресурсы (resources): данные для чтения, адресуемые по URI. Содержимое файла, схема базы, ответ API.
  • Промпты (prompts): готовые шаблоны обращений, которые сервер предлагает пользователю.

Пример из спецификации: сервер к базе отдаёт инструменты для выборок, ресурс со схемой таблиц и промпт с примерами обращений к ней.

В ревизии 2026-07-28 объявлены устаревшими Roots, Sampling и Logging. Вместо Roots рекомендуется передавать папки и файлы через параметры инструментов или настройки сервера; вместо Sampling обращаться к API модели напрямую; вместо Logging писать в stderr при stdio или использовать OpenTelemetry.

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

Сервер по-прежнему может попросить у пользователя уточнение или подтверждение действия через elicitation. Теперь это работает по шаблону Multi Round-Trip Requests: сервер возвращает ответ «нужен ввод», а клиент повторяет исходный запрос с ответом пользователя.

Ещё одна деталь ревизии 2026 года: протокол стал бессессионным. Каждое обращение несёт свою версию и возможности в поле _meta. Сервер обязан поддерживать server/discover, а клиент может вызвать его, чтобы узнать возможности сервера, или сразу отправить другой запрос. Благодаря этому удалённый сервер живёт за обычным балансировщиком.

MCP Inspector показывает списки инструментов и ресурсов со стороны клиента, после этого чужие конфиги читаются легче. Для запуска нужен Node 22.19.0 или новее. Первая команда запускает Inspector, вторая сразу подключает Filesystem к ~/Desktop:

npx @modelcontextprotocol/inspector
npx -y @modelcontextprotocol/inspector npx @modelcontextprotocol/server-filesystem ~/Desktop

Транспорты: локальный процесс и удалённый сервер

Стандартных транспортов два: stdio и Streamable HTTP. Спецификация разрешает и собственные транспорты. Обычно stdio означает локальный процесс, а Streamable HTTP используется для удалённого сервера.

При stdio клиент запускает сервер как обычный процесс на вашей машине и общается через стандартный ввод-вывод. Для этого обмена сеть не нужна, задержки минимальны, сервер может обращаться к локальным файлам. Так работает почти всё, что вы ставите себе сами.

В Streamable HTTP каждое сообщение отправляется HTTP POST, ответ приходит как JSON или поток Server-Sent Events (SSE). Так подключаются удалённые серверы чужих сервисов. Протокол предусматривает bearer-токены, API-ключи и заголовки; для получения токенов рекомендуется OAuth.

Старый транспорт HTTP+SSE объявлен устаревшим. Его заменяет Streamable HTTP; использование SSE для потока ответа внутри Streamable HTTP при этом сохраняется.

Локальный сервер обычно обслуживает одного клиента, удалённый может обслуживать многих. Для локального Filesystem в Claude Desktop и Cursor используется JSON с ключом mcpServers, у Codex тот же смысл задаётся в TOML. В инструкции подключения локального сервера приведён такой формат:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/projects"]
    }
  }
}

Последний аргумент задаёт папку, с которой Filesystem-серверу разрешено работать; можно перечислить несколько папок. Клиент с поддержкой Roots может полностью заменить этот список своим. Ограничение задаёт сам сервер, системной песочницы оно не создаёт. Этот пример относится к локальному серверу; MCP в Claude также используют через коннекторы и расширения.

По теме: Codex MCP: как подключить сервер и проверить инструменты в 2026

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

Чтобы подключить сервер, укажите в клиенте команду запуска локального процесса или адрес удалённого сервера. Перед локальными серверами на npx проверьте установленный Node.js командой ниже. В шаблонах замените <имя> именем сервера, <пакет> названием его пакета, а <адрес> адресом удалённого сервера.

node --version

В Claude Desktop откройте Settings, затем Developer и Edit Config. По инструкции MCP конфиг лежит в ~/Library/Application Support/Claude/claude_desktop_config.json на macOS или %APPDATA%\Claude\claude_desktop_config.json на Windows. Добавьте сервер в ключ mcpServers, как в JSON выше. После сохранения полностью закройте приложение и откройте его снова.

В Claude Code удалённый сервер добавляют с --transport http, локальный с --transport stdio; всё после -- передаётся серверу. Область хранения задают флагом --scope. По документации Claude Code область local действует по умолчанию: сервер записывается в ~/.claude.json и работает только в текущем проекте; project использует .mcp.json в корне проекта, который можно сохранить в git; user хранится в ~/.claude.json и действует для всех проектов. claude mcp list показывает серверы, /mcp открывает управление ими внутри сессии. Перенос из Claude Desktop командой claude mcp add-from-claude-desktop доступен только на macOS и WSL. Транспорт SSE устарел.

claude mcp add --transport http notion https://mcp.notion.com/mcp
claude mcp add --transport stdio <имя> -- npx -y <пакет>
claude mcp list
claude mcp add-from-claude-desktop

При подключении MCP в Codex десктопное приложение ChatGPT, Codex CLI и расширение IDE используют общий конфиг. Документация OpenAI указывает ~/.codex/config.toml или .codex/config.toml в проекте (проектный файл читается только в доверенных проектах): таблица [mcp_servers.<имя>] содержит command и args для локального сервера либо url для удалённого. codex mcp list показывает серверы, /mcp открывает их список в интерфейсе. Для сервера с OAuth выполните codex mcp login <имя>.

codex mcp add context7 -- npx -y @upstash/context7-mcp
codex mcp add <имя> --url <адрес>
codex mcp login <имя>
codex mcp list

Для MCP-серверов в Cursor сохраните конфиг в .cursor/mcp.json внутри проекта или ~/.cursor/mcp.json для всех проектов. Используйте ключ mcpServers и JSON выше. Cursor поддерживает stdio, SSE и Streamable HTTP.

Веб-ChatGPT подключает только удалённые серверы: OpenAI указывает поддержку SSE и streaming HTTP. Локальный stdio-сервер напрямую к веб-чату не подключается.

Команды и файлы настроек различаются у Codex, Claude Code, Cursor и Copilot; серверу в каждом случае нужен совместимый клиент.

Самый короткий путь в вайбкодинг Яков Юдин раскладывает на шесть шагов на бесплатном мастер-классе завтра в 12:00 МСК: инструменты, рабочее место, первые задачи для агента. Код и английский не нужны. Досмотревшим пошаговый гайд по выбору инструмента.

Хочу на мастер-класс

Какие MCP-серверы уже существуют и кто их понимает

В официальном репозитории поддерживаются семь эталонных серверов, они же самые понятные примеры для чтения кода:

  • Filesystem: операции с файлами с ограничением по папкам.
  • Git: чтение, поиск и изменения в git-репозиториях.
  • Fetch: загрузка веб-страниц и приведение их к удобному для модели виду.
  • Memory: долгая память в виде графа знаний.
  • Time: время и часовые пояса.
  • Sequential Thinking: пошаговое рассуждение над задачей.
  • Everything: тестовый сервер с инструментами, ресурсами и промптами.

Интеграции с конкретными сервисами (GitHub, PostgreSQL, SQLite, Slack, Google Drive, браузер через Puppeteer) из этого репозитория перенесены в архив servers-archived. По README проекта для части есть замены от вендоров или сообщества: Brave Search заменён официальным сервером Brave, Slack теперь ведёт Zencoder.

Искать готовое стоит в официальном реестре. По описанию реестра он находится в статусе preview и намеренно не оценивает серверы. Реестр хранит метаданные, а пакеты лежат в npm, PyPI, Docker Hub или релизах GitHub. Свой каталог готовых подключений есть у Claude: коннекторы Claude.

На вводной странице стандарта среди клиентов названы Claude, ChatGPT, Visual Studio Code, Cursor и MCPJam. Один написанный сервер работает в терминальном агенте, редакторе или чате, если клиент поддерживает его транспорт. Вызов инструментов через такие серверы и отличает ИИ-агента от обычного чат-бота. Для доступа к сайтам через интерфейс браузера можно использовать Claude in Chrome.

По теме: Claude MCP: что это и как подключить серверы в 2026

Безопасность: что получает чужой сервер

При обычном локальном запуске MCP-сервер работает на вашем компьютере с вашими правами и видит то, что видите вы. Удалённый работает с доступом, который вы выдали ему при входе (обычно через OAuth), и видит данные, которые вы ему отправляете. Практики безопасности MCP разбирают конкретные атаки с примерами вредоносных команд.

Хост передаёт результат инструмента в контекст модели, поэтому прочитанные локальным сервером данные, которые вошли в этот результат, уходят провайдеру модели вместе с вашими сообщениями.

Что сделать перед подключением стороннего сервера:

  1. Прочитайте команду запуска целиком. В конфиг можно спрятать что угодно, документация прямо приводит примеры вредоносных команд, замаскированных под установку сервера.
  2. Проверьте происхождение пакета: репозиторий, автора, свежесть коммитов, наличие записи в официальном реестре. Запись в реестре подтверждает наличие метаданных, безопасность сервера реестр не оценивает.
  3. Ограничьте область. Файловому серверу указывайте рабочую папку, а не домашний каталог. Токенам выдавайте минимальные права и только на чтение, если запись не нужна. В Codex enabled_tools задаёт разрешённый список инструментов, disabled_tools запрещённый, default_tools_approval_mode управляет подтверждениями. Для Filesystem в Docker папку можно подключить с флагом ro, тогда сервер сможет только читать её.
  4. Оставляйте подтверждение действий на себе. Удаление, отправка сообщений, платежи не должны проходить без вашего явного согласия.

Модель принимает решения по тексту описаний инструментов, и недобросовестный сервер может спрятать в них инструкции. Серверы, которые загружают внешний контент, тоже открывают риск prompt injection; об этом предупреждает документация Claude Code.

Anthropic не проводит аудит безопасности и не управляет MCP-серверами. Выбирайте серверы от поставщиков, которым доверяете; каждый подключённый сервер должен быть вам понятен.

Во многих клиентах описания всех подключённых инструментов попадают в контекст сразу, поэтому серверов лучше держать немного. Для большого каталога рекомендации разработчикам клиентов предлагают progressive discovery: подгружать полные описания инструментов по мере надобности.

Как выглядит свой простой MCP-сервер

Минимальный MCP-сервер можно собрать из функции с описанием. Официальный быстрый старт на Python требует Python 3.10 или новее и SDK версии 2.0 или новее; SDK ставится командой uv add "mcp[cli]".

from mcp.server import MCPServer

mcp = MCPServer("hello")

@mcp.tool()
async def greet(name: str) -> str:
    """Поздороваться с человеком по имени.

    Args:
        name: имя человека
    """
    return f"Привет, {name}!"

if __name__ == "__main__":
    mcp.run(transport="stdio")

В настройках клиента укажите команду запуска и абсолютный путь к файлу. В официальном примере файл weather.py запускают через uv с аргументами ниже. Для своего сервера замените путь и имя файла. На Windows путь в JSON пишут с двойными обратными слэшами или с прямыми слэшами /. Иногда в command нужен полный путь к uv: его находят командой which uv на macOS/Linux или where uv на Windows. При stdio нельзя печатать через print: стандартный вывод занят протоколом. Для логов используйте модуль logging, который пишет в stderr.

{
  "command": "uv",
  "args": ["--directory", "/ABSOLUTE/PATH/TO/PARENT/FOLDER/weather", "run", "weather.py"]
}

Имя параметра и строка документации попадают в описание инструмента, по ним модель понимает, когда его звать, поэтому пишите их внятно.

Собирать такой сервер удобно вместе с ИИ-ассистентом, типовой занимает несколько десятков строк. При разработке ИИ-агента внешние действия можно вынести в свой сервер; создание MCP-сервера на Python начинается с описания его инструментов.

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

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

Формой подключения. Обычный API каждое приложение подключает своим кодом. MCP-сервер отдаёт список умений в едином формате по tools/list, и клиент получает готовые описания инструментов. Часто это тонкая обёртка над существующим API.

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

Чтобы подключить готовый сервер, достаточно скопировать несколько строк в файл настроек или нажать кнопку в приложении. Для локальных серверов на npx нужен установленный Node.js, его проверяют командой node --version. Для Python-серверов нужен Python, а при запуске через uv также нужен uv. Код понадобится, только если вы пишете свой сервер, и там речь про десятки строк.

MCP-сервер это отдельная машина, которую надо арендовать?

Нет. Обычно это процесс на вашем же ноутбуке, который запускается вместе с ассистентом и закрывается вместе с ним. Свой удалённый сервер нужен, когда его должны видеть другие люди или облачные клиенты вроде веб-ChatGPT. Готовые удалённые серверы сервисов подключаются по адресу, для них арендовать машину не надо.

Как устроены хост, клиент и MCP-сервер, теперь ясно. Посмотрите, как агент с инструментами работает в реальном времени: завтра в 12:00 МСК на бесплатном мастер-классе Codex сам открывает браузер, собирает данные и сводит их в таблицу.

Записаться на эфир
Разборы, кейсы и фишки вайбкодинга каждую неделю в телеграм-канале «Яков вайбкодит».
Смотрите ИИ-агента в деле: завтра в 12:00 МСК, бесплатно Записаться