← Назад к блогу

Что такое MCP (Model Context Protocol)? Руководство для новичков

Каждая строка в Cursor Settings → MCP запускает отдельный процесс, чтобы Agent читал файлы или искал Issues. Разбираем цепочку настройки: три роли, отличие от Function Calling, подключение filesystem за пять минут.

1. Начнём с переключателя MCP в Cursor

Откройте Cursor → Settings → MCP. Каждая строка конфигурации говорит Host, какой локальный процесс запустить и какие возможности отдать Agent. Вы добавляете filesystem — Agent может напрямую вызывать read_file. Вы добавляете GitHub Server — он может искать Issues. Не потому, что модель внезапно стала умнее, а потому что появилась дополнительная цепочка вызова инструментов.

Эта цепочка идёт через Model Context Protocol (MCP). Полное название можно запомнить позже — сначала важно разделение ролей:

Роль Что вы видите Задача
Host Cursor, Claude Desktop Чат, оркестрация, решение вызывать ли инструменты
Server filesystem, github и т.д. в конфиге Реально читает диск, вызывает API, выполняет запросы
Client Встроен в Host, в интерфейсе обычно невидим Соединяет Host и Server по протоколу MCP

Большинство ставят MCP ради одного: чтобы ИИ получил доступ к системам за пределами окна чата — файлам проекта, тикетам, базам данных — вместо бесконечного копирования. Сначала — зачем для этого отдельный протокол, затем детали архитектуры.


2. Зачем отдельный протокол?

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

  1. Читать код из проекта, а не копировать вручную
  2. Искать во внутренней документации или тикет-системах
  3. Выполнять git commit, запускать тесты, вызывать API

Раньше распространён был Function Calling (вызов функций): разработчик жёстко прописывает набор функций в коде, модель может вызывать только их. Проблема:

Боль Без MCP С MCP
Обнаружение инструментов При смене Host переписывать интеграцию Автообнаружение возможностей сервера в рантайме
Привязка к вендору Проприетарные форматы OpenAI / Anthropic Открытый протокол, один Server для разных Host
Изоляция прав API Key легко попадает в промпт Учётные данные на стороне сервера, модель видит только интерфейс Tool
Расширяемость Новый инструмент = правка кода Host Одна строка адреса MCP-сервера в конфиге

В конце 2025 Anthropic передала MCP в Agentic AI Foundation — с участием OpenAI, Google, Microsoft и других. К 2026 году MCP стал одним из де-факто стандартов подключения инструментов к ИИ — как REST для Web API.


3. Три роли: кто есть кто

В архитектуре MCP только три ключевые роли. Новички чаще всего путают Host и Client — разберём отдельно.

3.1 Host (хост-приложение)

Программа, которой вы пользуетесь каждый день: Cursor, Claude Desktop, VS Code + Copilot, своя Agent-платформа и т.д.

Host показывает чат, вызывает языковую модель и решает, передавать ли задачу в MCP.

3.2 Client (MCP-клиент)

Коннектор внутри Host, реализованный производителем Host. Один Host может одновременно подключать несколько MCP-серверов.

Client — это «MCP-драйвер» внутри Host; пользователь его обычно не видит.

3.3 Server (MCP-сервер)

Тот, кто реально работает: отдаёт Tools, Resources и Prompts. Может быть локальным процессом или удалённым сервисом.

┌─────────────┐     ┌─────────────┐     ┌──────────────────┐
│    Host     │     │ MCP Client  │     │   MCP Server     │
│  (Cursor)   │────▶│  (встроен)  │────▶│  (filesystem)    │
│ Пользовательский интерфейс │ Перевод протокола │ Читать файлы/список каталогов │
└─────────────┘     └─────────────┘     └──────────────────┘
                           │
                           ▼
                    ┌──────────────────┐
                    │   MCP Server     │
                    │  (github)        │
                    │ Создать PR / Искать Issues │
                    └──────────────────┘

Таблица ролей

Host
Приложение, которое вы открываете; UX и инференс модели
Client
Встроен в Host; общается с Server по протоколу MCP
Server
Настроенный вами сервис инструментов; выполняет конкретные действия

4. Что может отдавать MCP-сервер? Три возможности

4.1 Tools — чтобы ИИ «действовал»

Самое частое. У каждого Tool есть имя, описание и схема параметров. Модель сама решает, вызывать ли его.

Типичные примеры:

  • read_file(path) — прочитать файл
  • search_issues(query) — искать Issues на GitHub
  • run_sql(query) — запрос к базе данных

Tools — операции с побочными эффектами (запись файлов, HTTP-запросы), им нужен контроль прав.

4.2 Resources — только чтение для ИИ

Похоже на «подписываемый источник данных»: содержимое файлов, документация API, схема БД. ИИ может list / read Resources, не обязательно меняя их через Tool.

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

4.3 Prompts — переиспользуемые сценарии

Готовые шаблоны промптов на сервере с параметрами. Например «шаблон code review» или «шаблон генерации SQL».

Host может вставить их в один клик — меньше повторного написания промптов.

Сравнение возможностей

Возможность Побочные эффекты Типичное применение Приоритет для новичка
Tools Да Команды, запись файлов, вызов API ★★★★★
Resources Нет (только чтение) Документы, конфиг, schema ★★★☆☆
Prompts Нет Стандартизированные review/перевод ★★☆☆☆

5. MCP vs плагины vs Function Calling vs REST

Частый вопрос: «Разве нельзя просто REST API?» Можно — но сценарии разные.

Измерение REST API Function Calling Плагин браузера / ChatGPT MCP
Открытость протокола Открытый Проприетарный формат вендора Проприетарный для платформы Открытый стандарт
Обнаружение инструментов Нужно знать endpoint заранее Список функций на этапе компиляции Установка из магазина Динамическое обнаружение в рантайме
Повторное использование между Host Адаптер под каждый Host Разный SDK у каждой модели Почти не кросс-платформенно Один Server — несколько Host
Локальные инструменты Свой HTTP-сервис Встроено в код Ограничено Нативно stdio / SSE
Для кого Классическая backend-интеграция ИИ внутри одного приложения Потребительский чат Цепочка инструментов разработчика, экосистема Agent

Мнемоника: REST — «знаю адрес и вызываю»; Function Calling — «заранее сказал модели, какие у неё приёмы»; MCP — «подключился к серверу и на месте спросил, что ты умеешь».

~~Считать MCP заменой REST~~ неверно — многие MCP Server внутри оборачивают REST API. MCP — слой подключения эпохи ИИ, а не замена HTTP.


6. Как происходит полный вызов?

Пример: «Найди все TODO-комментарии в проекте». Упрощённый поток:

  1. Пользователь вводит задачу в Host (чат Cursor)
  2. Host отправляет диалог модели с приложенным списком Tools подключённых MCP-серверов (имя + описание)
  3. Модель решает вызвать search_files с параметрами { "pattern": "TODO", "path": "/project" }
  4. MCP Client передаёт запрос на filesystem MCP Server
  5. Server выполняет grep / обход и возвращает JSON
  6. Модель формирует ответ на естественном языке или вызывает другие инструменты

Транспорт (Transport)

Способ Описание Типичные сценарии
stdio Локальный процесс, stdin/stdout Claude Desktop, локальный Server в Cursor
SSE / HTTP Удалённое HTTP long connection Общий MCP-шлюз команды, облачный деплой

Локально чаще всего stdio: в конфиге command + args, Host запускает дочерний процесс.


7. Где можно использовать MCP?

Поддержка MCP у основных Host в 2026:

Host Поддержка MCP Настройка
Cursor ✅ встроена Settings → MCP → добавить сервер
Claude Desktop ✅ нативно claude_desktop_config.json
VS Code (GitHub Copilot и др.) ✅ развивается Расширения / панель настроек
Windsurf / Zed ✅ или частично Документация продукта
Свой Agent ✅ через SDK @modelcontextprotocol/sdk

Менять редактор не нужно — достаточно добавить конфигурацию.


8. Пять минут до старта: включить MCP в Cursor

Пример с официальным сервером filesystem (только чтение указанного каталога). Точный путь может слегка отличаться по версии — ключевые шаги те же.

8.1 Предварительные условия

  • Установлен Node.js 18+
  • Чётко определён каталог для доступа ИИ (лучше отдельный workspace — не весь домашний каталог)

8.2 Добавить конфигурацию

Cursor → SettingsMCPAdd new global MCP server, например:

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

Сохранить, перезапустить Cursor или обновить MCP-соединение. В статус-баре / панели MCP должен быть filesystem в состоянии подключён.

8.3 Проверка

В режиме Agent введите:

Перечисли файлы в корне /Users/you/projects/my-app и скажи, какие scripts в package.json.

Если модель сразу отдаёт список каталога, а не просит вставить вручную — MCP работает.

Частые сочетания клавиш

  • Палитра команд: + Shift + P (macOS)
  • Настройки Cursor: + ,
Claude Desktop: путь к файлу конфигурации

В macOS файл находится здесь:

~/Library/Application Support/Claude/claude_desktop_config.json

Структура как у Cursor, поле mcpServers. После изменений полностью выйдите из Claude Desktop и откройте снова.


Сообщество предлагает множество готовых Server по сценариям:

Категория Представитель Возможности
Файловая система @modelcontextprotocol/server-filesystem Чтение/запись в разрешённых каталогах
Хостинг кода GitHub MCP, GitLab MCP Issues, PR, управление репозиторием
База знаний Notion, Confluence MCP Чтение/запись страниц и баз
База данных PostgreSQL, SQLite MCP Только чтение или ограниченный SQL
Поиск Brave Search, Fetch MCP Веб-поиск, загрузка страниц
Автоматизация Puppeteer / Playwright MCP Автоматизация браузера
Экосистема Apple Xcode / simctl (сообщество) Сборка iOS, управление симулятором

Полные списки: официальный репозиторий MCP и каталог MCP Cursor. Перед установкой читайте описание прав каждого Server.

Советы по выбору

  1. Сначала мало: 1–2 Server только для чтения, проверить поведение
  2. Разделить прод и эксперименты: свободный конфиг на ноутбуке, командная среда на отдельной машине с whitelist каталогов
  3. Нужна macOS-цепочка (Xcode, симулятор): Server должен работать на Mac — рассмотрите облачный Mac mini для круглосуточного хостинга

10. Чеклист безопасности: не делайте из ИИ «супер-админа»

MCP даёт модели способность выполнять действия. Prompt injection (вредоносные страницы/документы, подталкивающие модель к опасным Tools) — реальный риск.

Четыре обязательных пункта

  1. Минимальные права: filesystem только на подкаталог проекта, запрет ~, /etc
  2. Изоляция учётных данных: API Token в переменных окружения Server, не в чате и не в конфиге в Git
  3. Отдельная учётная запись: продакшен MCP под выделенным системным пользователем, без sudo
  4. Аудит-лог: записывать каждый вызов Tool с параметрами

Матрица рисков

Конфигурация Уровень риска Пояснение
Только чтение + один каталог проекта Низкий Повседневная разработка
Записываемый filesystem без ограничения путей Очень высокий Модель могут подтолкнуть к удалению файлов
Server с выполнением shell Очень высокий Только изолированная VM / выделенная машина
Удалённый SSE без аутентификации Очень высокий Обязательны Token / mTLS

Принцип: права ИИ не должны превышать то, что вы дали бы стажёру-джуниору.


11. Пять частых заблуждений

  1. «MCP — это вид большой модели» — Неверно. MCP — протокол, не связанный с GPT, Claude и т.д.
  2. «С MCP модель стала сильнее» — Неверно. MCP расширяет только руки и глаза (инструменты и данные), не рассуждение.
  3. «MCP только локально» — Неверно. stdio для локального, SSE/HTTP — облако и общий доступ команды.
  4. «MCP заменит LangChain» — Неточно. LangChain — фреймворк оркестрации, MCP — протокол подключения инструментов; часто работают вместе.
  5. «Все Server официально поддерживаются» — Неверно. Качество community Server разное — перед подключением смотрите исходники и права.

12. Готовое решение или свой Server?

Ваша ситуация Рекомендация
Cursor должен только читать файлы проекта Официальный filesystem — 5 минут
Подключить внутренний API компании Сначала Fetch / тонкая обёртка своим Server
Приватная БД + сложная бизнес-логика Свой Server на Python/TS SDK
Общий доступ команде, нужен аудит Облачный Mac / Linux, SSE-шлюз и единая аутентификация

Минимальный пример на Python (концептуальная демонстрация):

# pip install mcp
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("hello")

@mcp.tool()
def greet(name: str) -> str:
    """向指定名字打招呼"""
    return f"Hello, {name}!"

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

После запуска в конфиге Host укажите command как python /path/to/server.py.


13. Глоссарий

Термин English Кратко
MCP Model Context Protocol Открытый протокол подключения инструментов и данных к ИИ-приложениям
Host Ваше ИИ-приложение (Cursor, Claude Desktop)
Server MCP Server Сервис, отдающий Tools/Resources
Tool Функция, вызываемая моделью, часто с побочными эффектами
Resource Источник только для чтения, напр. URI файла или документа
stdio standard I/O Локальная межпроцессная связь, самый частый вариант
SSE Server-Sent Events Удалённый HTTP-поток

14. Вывод: стоит ли учить сейчас?

Стоит. Даже без написания своего Server понимание MCP помогает:

  • Безопаснее настраивать расширения Cursor / Claude Desktop
  • Договориться с командой об архитектуре «как ИИ подключается к внутренним системам»
  • Выбирать между MCP и классическими API

Рекомендуемый путь:

  1. Сегодня: добавить в Cursor filesystem или GitHub Server
  2. На этой неделе: прочитать исходник официального Server — как определяется Tool
  3. При необходимости: практический деплой MCP-сервера — круглосуточная работа Server в облаке

Настроить filesystem или GitHub и один раз увидеть, как Agent вызывает инструмент, полезнее, чем копить определения.

Нужен приватный MCP-сервер 24/7?

Выделенный облачный Mac mini M4 bare metal, постоянный SSH — для filesystem / Git / Xcode

Посуточная тарификация, Токио / Сингапур / Гонконг — CI и MCP на одной машине, лучший TCO

Дополнительное чтение

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

Чем MCP принципиально отличается от REST API?

REST — фиксированное меню: клиент заранее знает все endpoints. MCP во время выполнения обнаруживает инструменты на сервере и выбирает нужный — Agent получает новые возможности без изменения кода.

Можно ли использовать MCP без программирования?

Да. В Cursor или Claude Desktop добавьте готовые серверы (filesystem, GitHub, Notion) и опишите задачу на естественном языке. Код нужен только при создании собственных инструментов.

MCP безопасен? Может ли ИИ удалить файлы на моём ПК?

Риск зависит от включённых серверов и прав. Ограничьте filesystem конкретными папками; в продакшене — отдельные учётки, минимальные права, аудит-логи. См. чеклист в статье.

MCP — то же самое, что плагины ChatGPT?

Нет. Плагины ChatGPT — проприетарны для OpenAI. MCP — открытый протокол, переданный Agentic AI Foundation; используется в Cursor, Claude Desktop, VS Code и может быть self-hosted.

Нужно ли знать AI Agents перед изучением MCP?

Нет. Достаточно умения общаться в чате и менять настройки Cursor — по этой статье подключите filesystem. Оркестрация Agent — следующий шаг.

Ограниченное предложение →