EvolCode
треки/ИИ-агенты·01 / 07
10 мин чтения

MCP — стандарт чтобы не писать tool use каждый раз

Ты написал агента который умеет читать твои Notion-доки. Через неделю хочешь подключить эту же фичу к Claude Code. Через месяц — к Cursor. Каждый раз надо переписывать tool use под формат конкретного клиента. Anthropic решили эту боль и сделали MCP — единый протокол. Пишешь сервер один раз, любой MCP-совместимый клиент его подключает. Это open standard, который уже поддерживают Claude Desktop, Claude Code, Cursor, Zed и десятки других.

Что такое MCP в одном предложении

MCP (Model Context Protocol) — это спецификация того, как ИИ-клиент общается с ИИ-инструментом. По сути это JSON-RPC поверх stdio или HTTP. Сервер выставляет три типа возможностей: tools (функции которые модель может вызывать — то же что обычный tool use), resources (данные которые модель может прочитать — файлы, БД, API), prompts (готовые шаблоны промптов которые сервер предоставляет). Клиент при подключении спрашивает у сервера «что у тебя есть», получает список, и предоставляет это модели.

Зачем это вместо обычного tool use

Главные плюсы: (1) Переносимость — один сервер работает в Claude Desktop, Claude Code, Cursor без переписывания. (2) Готовая экосистема — на GitHub уже сотни MCP-серверов: GitHub, Slack, Postgres, Notion, Google Drive, Sentry, Linear и т.д. Подключаешь готовое вместо собственного кода. (3) Локальные данные — MCP-сервер работает у тебя на машине, может читать локальные файлы и БД, не отправляя их в облако. (4) Стандартизация — обновление модели не ломает интеграции. Минусы: ещё один слой абстракции, для прототипа быстрее написать прямой tool use.

Stdio vs HTTP — два транспорта

MCP-сервер общается с клиентом через один из двух транспортов. Stdio — клиент запускает процесс сервера, общение через stdin/stdout. Подходит для локальных интеграций (доступ к файлам, локальной БД). Большинство готовых серверов работают так. HTTP/SSE — сервер крутится отдельно, клиент стучится по сети. Подходит для удалённых сервисов и команд (один сервер на всех). У stdio проще security model: клиент запускает процесс, нет сетевых дыр.

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

В Claude Desktop / Claude Code конфиг лежит в ~/.config/claude или claude_desktop_config.json. Добавляешь блок mcpServers с командой запуска: "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"] }. Перезапускаешь клиент — и Claude видит инструменты filesystem (читать файлы, писать, искать). Никакого кода. На awesome-mcp-servers на GitHub лежат конфиги для десятков популярных сервисов.

Свой MCP-сервер — когда оно того стоит

Свой сервер пишут когда: (1) Нужно подключение к собственному API/БД которое никто не сделал. (2) Хочется переиспользовать инструменты в нескольких клиентах. (3) Команда работает с одной кодобазой и нужны общие helper-инструменты. SDK есть на TypeScript и Python — пишется быстрее чем кажется (стартер на 50 строк). Подробно — в следующих уроках модуля. Пока главная мысль: MCP это стандарт, и понимать его так же важно как понимать tool use напрямую.

примерjson
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/me/projects"
      ]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxx"
      }
    },
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://localhost/mydb"
      ]
    }
  }
}

Конфиг claude_desktop_config.json — подключаем 3 готовых MCP-сервера

главное
  • 01MCP = стандартный протокол между ИИ-клиентами и инструментами. JSON-RPC поверх stdio или HTTP.
  • 02Сервер выставляет tools, resources и prompts. Клиент при подключении подхватывает их автоматом.
  • 03Готовых серверов уже сотни — GitHub, Slack, Postgres, Notion, файловая система.
  • 04Подключение в Claude Desktop/Code = одна запись в JSON-конфиге, без кода.
  • 05Свой MCP пишут когда: нет готового, нужно использовать в нескольких клиентах, или команде нужны общие helper-инструменты.
проверь себя
01Главное преимущество MCP перед прямым tool use?
02В каком случае предпочесть транспорт stdio (а не HTTP)?
03Что такое resources в MCP?
следующий урок: Браузерный агент за 30 минут — Playwright + Claude