Каждая строка в 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. Зачем отдельный протокол?
По умолчанию большие модели обрабатывают только то, что вы отправили в диалог. В реальной работе часто нужно:
- Читать код из проекта, а не копировать вручную
- Искать во внутренней документации или тикет-системах
- Выполнять
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 на GitHubrun_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-комментарии в проекте». Упрощённый поток:
- Пользователь вводит задачу в Host (чат Cursor)
- Host отправляет диалог модели с приложенным списком Tools подключённых MCP-серверов (имя + описание)
- Модель решает вызвать
search_filesс параметрами{ "pattern": "TODO", "path": "/project" } - MCP Client передаёт запрос на filesystem MCP Server
- Server выполняет grep / обход и возвращает JSON
- Модель формирует ответ на естественном языке или вызывает другие инструменты
Транспорт (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 → Settings → MCP → Add 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 и откройте снова.
9. Популярные MCP-серверы
Сообщество предлагает множество готовых 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–2 Server только для чтения, проверить поведение
- Разделить прод и эксперименты: свободный конфиг на ноутбуке, командная среда на отдельной машине с whitelist каталогов
- Нужна macOS-цепочка (Xcode, симулятор): Server должен работать на Mac — рассмотрите облачный Mac mini для круглосуточного хостинга
10. Чеклист безопасности: не делайте из ИИ «супер-админа»
MCP даёт модели способность выполнять действия. Prompt injection (вредоносные страницы/документы, подталкивающие модель к опасным Tools) — реальный риск.
Четыре обязательных пункта
- Минимальные права: filesystem только на подкаталог проекта, запрет
~,/etc - Изоляция учётных данных: API Token в переменных окружения Server, не в чате и не в конфиге в Git
- Отдельная учётная запись: продакшен MCP под выделенным системным пользователем, без
sudo - Аудит-лог: записывать каждый вызов Tool с параметрами
Матрица рисков
| Конфигурация | Уровень риска | Пояснение |
|---|---|---|
| Только чтение + один каталог проекта | Низкий | Повседневная разработка |
| Записываемый filesystem без ограничения путей | Очень высокий | Модель могут подтолкнуть к удалению файлов |
| Server с выполнением shell | Очень высокий | Только изолированная VM / выделенная машина |
| Удалённый SSE без аутентификации | Очень высокий | Обязательны Token / mTLS |
Принцип: права ИИ не должны превышать то, что вы дали бы стажёру-джуниору.
11. Пять частых заблуждений
- «MCP — это вид большой модели» — Неверно. MCP — протокол, не связанный с GPT, Claude и т.д.
- «С MCP модель стала сильнее» — Неверно. MCP расширяет только руки и глаза (инструменты и данные), не рассуждение.
- «MCP только локально» — Неверно. stdio для локального, SSE/HTTP — облако и общий доступ команды.
- «MCP заменит LangChain» — Неточно. LangChain — фреймворк оркестрации, MCP — протокол подключения инструментов; часто работают вместе.
- «Все 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
Рекомендуемый путь:
- Сегодня: добавить в Cursor filesystem или GitHub Server
- На этой неделе: прочитать исходник официального Server — как определяется Tool
- При необходимости: практический деплой 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 — следующий шаг.