Карта экосистемы Model Context Protocol: клиенты, транспорты, SDK, готовые серверы, реестр и инструменты отладки. Материал помогает выбрать способ подключения, найти реализацию и проверить её до использования.

📖 Если вы ещё не знакомы с протоколом, начните со справочника по MCP. Здесь основное внимание уделено практической экосистеме.

Проверено по официальной спецификации и репозиторию MCP 5 сентября 2026 года. Материал основан на этих источниках; запуск серверов и команд в рамках проверки не выполнялся.

Содержание

  1. Для кого
  2. Как устроено подключение
  3. stdio и Streamable HTTP
  4. SDK для разработки
  5. Где искать MCP-серверы
  6. Референсные и архивные серверы
  7. Как выбрать и подключить сервер
  8. Практические комбинации
  9. Инструменты разработки и отладки
  10. Что делать, если сервер не работает
  11. Версии и совместимость
  12. Официальные источники

Для кого

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

Как устроено подключение

MCP-хостом называют ИИ-приложение, внутри которого работает MCP-клиент. В типичном сценарии клиент устанавливает соединение с сервером, получает сведения о доступных возможностях и обменивается с ним сообщениями формата JSON-RPC.

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

stdio и Streamable HTTP

Официальная спецификация MCP версии 2025-06-18 определяет два стандартных транспорта.

ТранспортГде работает серверКак передаются сообщенияКогда подходит
stdioКлиент запускает сервер как локальный дочерний процессЧерез стандартный ввод и выводЛокальные инструменты, файлы и процессы
Streamable HTTPСервер работает как самостоятельный процесс и принимает подключенияHTTP POST и, при необходимости, GET с потоком Server-Sent Events (SSE)Удалённые и многопользовательские серверы

Для stdio действуют строгие правила:

  • сервер читает сообщения из stdin и отправляет ответы в stdout;
  • сообщения кодируются в UTF-8 и отделяются переводом строки;
  • в stdout нельзя писать ничего, кроме корректных сообщений MCP;
  • диагностические сообщения можно направлять в stderr;
  • сообщения stdio не должны содержать встроенные переводы строк.

Streamable HTTP использует единую конечную точку MCP. Каждое JSON-RPC-сообщение клиента отправляется отдельным POST-запросом. Клиент должен передавать заголовок Accept с поддержкой application/json и text/event-stream. Для JSON-RPC-запроса сервер возвращает один JSON-объект или открывает SSE-поток. Принятое уведомление или ответ сервера может завершаться статусом 202 Accepted без тела.

При GET сервер либо открывает SSE-поток, либо возвращает 405 Method Not Allowed, если поток для этого метода не предоставляется.

⚠️ При реализации Streamable HTTP сервер должен проверять заголовок Origin, локально привязываться к 127.0.0.1, когда внешний доступ не нужен, и использовать надлежащую аутентификацию. Эти меры снижают риск DNS rebinding и доступа к локальному серверу со стороннего сайта.

Спецификация допускает собственные транспорты, если они сохраняют формат JSON-RPC и требования жизненного цикла MCP.


SDK для разработки

В README официального репозитория референсных серверов перечислены SDK для следующих языков и платформ:

Язык или платформаКогда выбирать
TypeScriptСерверы и клиенты в экосистеме Node.js
PythonАвтоматизация, анализ данных и Python-приложения
C#Проекты на .NET
GoКомпактные сервисы и инфраструктурные инструменты
JavaJava-приложения и серверная разработка
KotlinJVM- и Kotlin-проекты
PHPИнтеграция с PHP-приложениями
RubyRuby-приложения и внутренние инструменты
RustСистемные приложения и строгий контроль ресурсов
SwiftПриложения экосистемы Apple

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

Сторонние фреймворки и генераторы, включая FastMCP, MCP Go и инструменты генерации из OpenAPI, развиваются независимо от спецификации. Их версии, команды установки и совместимость нужно сверять с документацией конкретного проекта.

Где искать MCP-серверы

Главная точка поиска опубликованных серверов — MCP Registry. Официальный репозиторий modelcontextprotocol/servers прямо направляет пользователей в Registry, если нужен каталог серверов.

Сам репозиторий решает другую задачу: в нём хранится небольшое число референсных реализаций, поддерживаемых руководящей группой MCP (steering group). Это учебные примеры функций протокола и SDK; репозиторий не позиционирует их как готовые к производственной эксплуатации.

Дополнительные независимые каталоги:

КаталогНазначение
SmitheryПоиск, установка и размещение MCP-серверов
GlamaКаталог с категориями и фильтрами
mcp.runЗапуск совместимых серверов в облачной среде
OpenToolsПоиск серверов и инструментов сообщества
PulseMCPНаблюдение за обновлениями экосистемы
⚠️ Наличие сервера в каталоге или примера в официальном репозитории не доказывает безопасность и готовность к производственной эксплуатации. Проверяйте исходный код, владельца, запрашиваемые права, способ хранения токенов и модель угроз.

Референсные и архивные серверы

В README, проверенном 5 сентября 2026 года, перечислены семь референсных серверов:

СерверНазначение
EverythingТестовый сервер с prompts, resources и tools
FetchПолучение и преобразование веб-контента
FilesystemОперации с файлами в пределах настроенного доступа
GitЧтение, поиск и изменение Git-репозиториев
MemoryПостоянная память на основе графа знаний
Sequential ThinkingПошаговая обработка последовательностей рассуждений
TimeРабота со временем и часовыми поясами

Ранее находившиеся в этом репозитории серверы AWS KB Retrieval, Brave Search, EverArt, GitHub, GitLab, Google Drive, Google Maps, PostgreSQL, Puppeteer, Redis, Sentry, Slack и SQLite перенесены в servers-archived. Их прежние пакеты нельзя автоматически считать актуальными официальными рекомендациями.

Если нужен один из таких сервисов:

  1. Найдите актуальную публикацию в MCP Registry.
  2. Проверьте, выпустил ли поставщик собственный сервер.
  3. Сверьте владельца пакета и ссылку на исходный код.
  4. Изучите разрешения и способ авторизации.
  5. Проверьте дату последнего обновления и совместимость с вашим клиентом.

Как выбрать и подключить сервер

Шаг 1. Определите задачу и границы доступа

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

Шаг 2. Проверьте происхождение реализации

Предпочтительный порядок поиска:

  1. MCP Registry и официальный сайт поставщика.
  2. Репозиторий организации, которой принадлежит подключаемый сервис.
  3. Независимый каталог с обязательной проверкой владельца и исходного кода.
  4. Собственная реализация через подходящий SDK, если доверенного готового сервера нет.

Шаг 3. Подключите локальный сервер

Пример конфигурации reference server для работы с ограниченной директорией:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/path/to/allowed/files"
      ]
    }
  }
}

Путь в последнем аргументе ограничивает область доступа сервера. На Windows официальный репозиторий рекомендует запускать npx через cmd /c:

{
  "mcpServers": {
    "filesystem": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\path\\to\\allowed-files"
      ]
    }
  }
}

Не передавайте серверу домашнюю директорию или весь диск, если для задачи достаточно одной рабочей папки.

Шаг 4. Подключите удалённый сервер

Для Streamable HTTP нужен URL единой конечной точки MCP. При собственной реализации проверьте:

  • поддержку POST и GET на одной конечной точке; при GET сервер должен открыть SSE-поток или вернуть 405;
  • заголовок Accept с application/json и text/event-stream;
  • ответы application/json и text/event-stream;
  • проверку Origin;
  • аутентификацию;
  • обработку Mcp-Session-Id, если сервер создаёт сессии;
  • передачу согласованной версии в заголовке MCP-Protocol-Version.

Шаг 5. Проверьте наблюдаемый результат

Подключение можно считать успешным, когда клиент запускает локальный процесс или устанавливает HTTP-соединение без ошибки, завершает инициализацию и показывает ожидаемые сервером tools, resources или prompts. Если сервер предоставляет безопасную операцию чтения, выполните её; иначе используйте другой безвредный тестовый вызов.

Практические комбинации

Локальная работа с файлами

Подключите Filesystem reference server и передайте ему только каталог проекта. После запуска запросите список доступных файлов и чтение заранее выбранного тестового документа. Успех подтверждается содержимым ответа и отсутствием доступа за пределами разрешённой директории.

Разработка собственного сервера

Выберите SDK для языка проекта, реализуйте один безопасный инструмент чтения и подключите сервер по stdio. Проверьте инициализацию и вызов инструмента. Изменяющие данные операции добавляйте после этого, с отдельными разрешениями и подтверждениями пользователя.

Удалённый многопользовательский сервер

Используйте Streamable HTTP, настройте аутентификацию, проверку Origin и разграничение доступа. Проверяйте не только успешный запрос, но и отказ для пользователя без нужных прав.

Инструменты разработки и отладки

ИнструментДля чего нужен
MCP InspectorПросмотр возможностей сервера и ручные тестовые вызовы
Логи в stderrДиагностика локального stdio-сервера без повреждения потока JSON-RPC
HTTP-клиент и серверные логиПроверка заголовков, кодов ответа, сессий и типов содержимого Streamable HTTP
Тестовый MCP-клиент из выбранного SDKАвтоматические проверки инициализации и вызовов инструментов

Команды референсных серверов

КомандаЧто делаетПример задачи
npx -y @modelcontextprotocol/server-memoryЗапускает Memory reference serverПодключить графовую память локальному клиенту
uvx mcp-server-git --repository path/to/git/repoЗапускает Git reference serverОграничить работу одним репозиторием
npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/filesЗапускает Filesystem reference serverДать доступ только к выбранной директории

Для stdio сначала проверьте процесс и разделение потоков. Для HTTP фиксируйте URL конечной точки, метод, код ответа, Content-Type, версию протокола и идентификатор сессии.

Что делать, если сервер не работает

Клиент не запускает сервер: проверьте команду, аргументы, рабочую директорию и наличие среды выполнения.
На Windows не запускается npx: используйте command: "cmd" и добавьте "/c", "npx" в начало args.
Клиент не разбирает ответы: убедитесь, что в stdout нет логов и произвольного текста.
Сообщения слипаются или обрываются: проверьте разделение JSON-RPC-сообщений переводами строк и отсутствие встроенных переводов строк в сообщении stdio.
HTTP endpoint возвращает 400: проверьте MCP-Protocol-Version, формат JSON-RPC, Accept и обязательные заголовки.
Сессия возвращает 404: начните новую инициализацию без прежнего Mcp-Session-Id.
После разрыва потеряны сообщения: проверьте, поддерживает ли сервер возобновление SSE через идентификаторы событий и Last-Event-ID.
Старый сервер использует HTTP+SSE: учтите, что этот транспорт относится к версии 2024-11-05 и заменён Streamable HTTP; клиенту может понадобиться режим обратной совместимости.
Процесс остаётся после закрытия клиента: найдите дочерний процесс и проверьте обработку завершения в сервере.
Инструментов слишком много: подключайте только нужные серверы и ограничивайте доступный набор инструментов средствами клиента.
Истекла авторизация: повторите вход и проверьте срок действия токена, не записывая секреты в репозиторий.
Сервер найден в старом списке: проверьте MCP Registry и сайт поставщика; прежняя reference implementation могла быть архивирована.

Версии и совместимость

Редакция спецификации 2025-06-18 отличается от 2025-03-26. Среди подтверждённых изменений:

  • удалена поддержка пакетной обработки JSON-RPC;
  • добавлен структурированный вывод инструментов;
  • добавлена возможность elicitation, при которой сервер запрашивает у пользователя дополнительные сведения;
  • появились ссылки на resources в результатах вызова инструментов;
  • уточнена модель OAuth Resource Server;
  • для HTTP-запросов после инициализации требуется заголовок MCP-Protocol-Version с согласованной версией.

Если HTTP-сервер не получил заголовок версии и не может определить её другим способом, спецификация рекомендует для обратной совместимости предполагать версию 2025-03-26. Неподдерживаемая или некорректная версия должна приводить к ответу 400 Bad Request.

Перед обновлением SDK сверяйте changelog и прогоняйте тесты инициализации, обнаружения возможностей и вызова инструментов.

Официальные источники

Следующий шаг

Подробнее о рисках подключения внешних серверов: MCP и безопасность — prompt injection, tool poisoning и как защититься.

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

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov