Протокол контекста модели (MCP)
Что такое MCP?
Протокол контекста модели (MCP) позволяет Cursor подключаться к внешним инструментам и источникам данных. Устанавливайте MCP‑серверы и управляйте ими на странице настроить или настраивайте их в mcp.json.
Зачем использовать MCP?
MCP подключает Cursor к внешним системам и данным. Вместо того чтобы снова и снова объяснять структуру проекта, подключите инструменты напрямую.
MCP‑серверы можно писать на любом языке, который умеет выводить данные в stdout или обслуживать HTTP-конечные точки: Python, JavaScript, Go и т. д.
Просматривайте официальные плагины в Cursor Marketplace. Плагины сообщества и MCP‑серверы доступны в cursor.directory.
Как это работает
MCP‑серверы предоставляют возможности через протокол, подключая Cursor к внешним инструментам и источникам данных.
Cursor поддерживает три способа подключения:
| Транспорт | Среда выполнения | Развертывание | Пользователи | Входные данные | Аутентификация |
|---|---|---|---|---|---|
stdio | Локально | Управляется Cursor | Один пользователь | Команда оболочки | Вручную |
SSE | Локально/удалённо | Развернуть как сервер | Несколько пользователей | URL SSE‑конечной точки | OAuth |
Streamable HTTP | Локально/удалённо | Развернуть как сервер | Несколько пользователей | URL HTTP‑конечной точки | OAuth |
Поддержка протокола и расширений
Cursor поддерживает следующие возможности протокола MCP и его расширений:
| Функция | Поддержка | Описание |
|---|---|---|
| Инструменты | Поддерживается | Функции, которые может выполнять ИИ-модель |
| Промпты | Поддерживается | Шаблонные сообщения и рабочие процессы для пользователей |
| Ресурсы | Поддерживается | Структурированные источники данных, которые можно читать и использовать в ссылках |
| Корни | Поддерживается | Инициируемые сервером запросы о границах URI или файловой системы |
| Запрос дополнительной информации | Поддерживается | Инициируемые сервером запросы дополнительной информации у пользователей |
| Приложения (расширение) | Поддерживается | Интерактивные представления интерфейса, возвращаемые инструментами MCP |
Приложения MCP
Cursor поддерживает расширение MCP Apps. Инструменты MCP могут возвращать интерактивный пользовательский интерфейс наряду со стандартными выходными данными.
MCP Apps используют прогрессивное улучшение. Если хост не может отобразить интерфейс приложения, тот же инструмент всё равно работает через обычные ответы MCP.
Установка MCP‑серверов
Установка в один клик
В Cursor Marketplace доступны официальные плагины, которые можно установить в один клик из раздела настроить, а пользовательские серверы можно настроить с помощью mcp.json. Плагины сообщества и MCP‑серверы ищите на cursor.directory. Нажмите «Add to Cursor» в карточке маркетплейса, чтобы установить плагин и пройти аутентификацию через OAuth.
Администраторы команд также могут распространять MCP‑серверы через маркетплейс команды. Серверы, распространяемые командой, отображаются в разделе «настроить» наряду с личными MCP‑серверами и MCP‑серверами рабочего пространства.
Использование mcp.json
Настройте пользовательские MCP‑серверы с помощью JSON-файла:
{ "mcpServers": { "server-name": { "command": "npx", "args": ["-y", "mcp-server"], "env": { "API_KEY": "value" } } }}{ "mcpServers": { "server-name": { "command": "python", "args": ["mcp-server.py"], "env": { "API_KEY": "value" } } }}// Сервер MCP, использующий HTTP или SSE, работает на удалённом сервере{ "mcpServers": { "server-name": { "url": "http://localhost:3000/mcp", "headers": { "API_KEY": "value" } } }}Статическая OAuth-аутентификация для удалённых серверов
Для MCP‑серверов, использующих OAuth, вместо динамической регистрации клиента можно указать в mcp.json статические учётные данные OAuth-клиента. Используйте этот вариант, если:
- Поставщик MCP предоставляет фиксированный Client ID (и при необходимости Client Secret)
- Поставщик требует внести redirect URL в белый список (например, Figma, Linear)
- Поставщик не поддерживает динамическую регистрацию OAuth-клиентов 2.0
Добавьте object auth в записи удалённых серверов, использующие url:
{ "mcpServers": { "oauth-server": { "url": "https://api.example.com/mcp", "auth": { "CLIENT_ID": "your-oauth-client-id", "CLIENT_SECRET": "your-client-secret", "scopes": ["read", "write"] } } }}| Поле | Обязательное | Описание |
|---|---|---|
| CLIENT_ID | Да | Идентификатор клиента OAuth 2.0 от MCP-провайдера |
| CLIENT_SECRET | Нет | Секрет клиента OAuth 2.0 (если провайдер использует конфиденциальных клиентов) |
| scopes | Нет | Запрашиваемые области OAuth. Если не указаны, Cursor использует /.well-known/oauth-authorization-server для обнаружения scopes_supported |
Статический URL перенаправления
Cursor использует фиксированные URL перенаправления OAuth для MCP‑серверов. Зарегистрируйте callback для каждой платформы, через которую аутентифицируются ваши пользователи:
https://www.cursor.com/agents/mcp/oauth/callbackhttp://localhost:8787/callback- Веб-версия и агенты Cursor:
https://www.cursor.com/agents/mcp/oauth/callback - Настольное приложение:
http://localhost:8787/callback
При настройке OAuth-приложения MCP-провайдера зарегистрируйте оба URL как разрешённые URI перенаправления, если пользователи проходят аутентификацию как в веб-версии, так и в настольном приложении. Сервер определяется по параметру OAuth state, поэтому эти URL перенаправления работают для всех MCP‑серверов.
Использование с интерполяцией config
Значения auth поддерживают такую же интерполяцию, как и другие поля:
{ "mcpServers": { "oauth-server": { "url": "https://api.example.com/mcp", "auth": { "CLIENT_ID": "${env:MCP_CLIENT_ID}", "CLIENT_SECRET": "${env:MCP_CLIENT_SECRET}" } } }}Используйте переменные среды для идентификатора клиента и секрета клиента вместо их жёсткого кодирования.
Конфигурация STDIO-сервера
Для STDIO-серверов (локальных серверов командной строки) настройте следующие поля в файле mcp.json:
| Поле | Обязательно | Описание | Примеры |
|---|---|---|---|
| type | Да | Тип подключения к серверу | "stdio" |
| command | Да | Команда для запуска исполняемого файла сервера. Она должна быть доступна через системную переменную PATH или содержать полный путь к файлу. | "npx", "node", "python", "docker" |
| args | Нет | Массив аргументов, передаваемых команде | ["server.py", "--port", "3000"] |
| env | Нет | Переменные среды для сервера | {"API_KEY": "${env:api-key}"} |
| envFile | Нет | Путь к файлу среды для загрузки дополнительных переменных | ".env", "${workspaceFolder}/.env" |
Параметр envFile доступен только для STDIO-серверов. Удалённые серверы (HTTP/SSE) не поддерживают envFile. Для удалённых серверов используйте интерполяцию конфигурации с переменными среды, заданными в профиле оболочки или системной среде.
Использование API расширений
Для программной регистрации MCP-серверов Cursor предоставляет API расширений, позволяющий динамически настраивать их без изменения файлов mcp.json. Это особенно полезно в корпоративной инфраструктуре и для автоматизации настройки.
Справочник по API расширений
Регистрируйте MCP-серверы программно с помощью
vscode.cursor.mcp.registerServer()
Расположение конфигураций
Конфигурация проекта
Создайте .cursor/mcp.json в проекте для инструментов, используемых только в этом проекте.
Глобальная конфигурация
Создайте ~/.cursor/mcp.json в домашнем каталоге для инструментов, доступных во всех проектах.
Подстановка переменных в конфигурации
Используйте переменные в значениях mcp.json. Cursor подставляет значения переменных в полях command, args, env, url и headers.
Поддерживаемый синтаксис:
${env:NAME}— переменные среды${userHome}— путь к домашней папке пользователя${workspaceFolder}— корень проекта (папка, содержащая.cursor/mcp.json)${workspaceFolderBasename}— имя корневой папки проекта${pathSeparator}и${/}— разделитель путей ОС
Примеры
{ "mcpServers": { "local-server": { "command": "python", "args": ["${workspaceFolder}/tools/mcp_server.py"], "env": { "API_KEY": "${env:API_KEY}" } } }}{ "mcpServers": { "remote-server": { "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer ${env:MY_SERVICE_TOKEN}" } } }}Аутентификация
Серверы MCP используют переменные среды для аутентификации. Передавайте API-ключи и токены через конфигурацию.
Cursor поддерживает OAuth для серверов, которым это необходимо.
Управление MCP для администраторов Enterprise
Распространение MCP и политика MCP настраиваются отдельно. Администраторы команд могут распространять общие MCP‑серверы. Администраторы Enterprise могут настраивать политику MCP.
Распространение Team MCP
Настройте общие командные MCP‑серверы в разделе Dashboard > Integrations & MCP. Эти серверы доступны Cloud Agents.
Чтобы сделать существующий отдельный командный MCP‑сервер доступным в Agent Window, IDE и CLI, выберите Add to Team Marketplace в разделе Team MCP Servers. Cursor свяжет сервер с маркетплейсом команды Default, не прерывая доступ Cloud Agent. После этого участники команды смогут установить и настроить его в разделе настроить.
Связывание MCP‑сервера с маркетплейсом не устанавливает и не включает его для всех. Настройте доступ к маркетплейсу и режимы установки плагинов в разделе Dashboard > Plugins. Полный процесс описан в разделе Перенос существующих Team MCP.
Allowlist MCP
Администраторы Enterprise могут в дашборде Cursor определять, какие MCP‑серверы пользователи могут запускать. Откройте Настройки команды > Конфигурация MCP, чтобы настроить, какие серверы и инструменты может запускать команда. Добавление конфигурации MCP в allowlist означает её одобрение. При этом сервер не распространяется и не устанавливается.
Используйте allowlist MCP, чтобы задать одобренные серверы:
- Записи команд одобряют локальные MCP‑серверы
stdioпо шаблону команды. - Записи URL одобряют удалённые MCP‑серверы HTTP/SSE по шаблону URL.
- Allowlist инструментов ограничивают, какие инструменты одобренного сервера могут запускаться автоматически. Оставьте allowlist инструментов пустым, чтобы разрешить автоматический запуск всех инструментов этого сервера.
Управление сетевым доступом
Для удалённых MCP URL-адресов разрешены только адреса, соответствующие настроенному шаблону URL-записи.
Локальные MCP‑серверы, запускаемые командами, используют заданный для каждого сервера сетевой режим:
- Разрешить всё: разрешить исходящий сетевой доступ.
- Allowlist: разрешить доступ только к указанным адресам.
- Запретить всё: заблокировать исходящий сетевой доступ.
- Без песочницы: запускать без песочницы для команд и сети.
Пользовательские расширения MCP
Администраторы могут разрешить пользователям настраивать собственные MCP‑серверы, не соответствующие заданным администраторами шаблонам команд или URL. Для пользовательских MCP, не соответствующих шаблону, заданному администратором, список запрещённых сетевых адресов пользовательских MCP может блокировать подходящие сетевые адреса.
Использование MCP в чате
Cursor автоматически использует MCP‑инструменты из списка Available Tools, когда это необходимо. В их число входит Plan Mode. Укажите название нужного инструмента или опишите, что вам требуется. Включить или отключить MCP‑серверы можно в разделе настроить на боковой панели.
Одобрение инструментов
По умолчанию Cursor запрашивает одобрение перед использованием инструментов MCP. Нажмите стрелку рядом с названием инструмента, чтобы просмотреть аргументы.
Режим запуска
MCP использует те же режимы запуска, что и терминальные команды. Например, в режиме Auto-review инструменты MCP из allowlist запускаются сразу, а всё остальное передаётся классификатору.
Ответ инструмента
Cursor отображает ответ в чате с раскрывающимися разделами аргументов и ответов:
Изображения в контексте
MCP‑серверы могут возвращать изображения — скриншоты, диаграммы и т. д. Возвращайте их в виде строк в кодировке base64:
const RED_CIRCLE_BASE64 = "/9j/4AAQSkZJRgABAgEASABIAAD/2w...";// ^ полная строка base64 сокращена для удобства чтенияserver.tool("generate_image", async (params) => { return { content: [ { type: "image", data: RED_CIRCLE_BASE64, mimeType: "image/jpeg", }, ], };});Подробности реализации см. в этом примере сервера. Cursor прикрепляет полученные изображения к чату. Если модель поддерживает изображения, она их анализирует.
Рекомендации по безопасности
При установке MCP‑серверов соблюдайте следующие меры безопасности:
- Проверяйте источник: Устанавливайте MCP‑серверы только от надёжных разработчиков и из проверенных репозиториев
- Проверяйте права доступа: Проверяйте, к каким данным и API будет обращаться сервер
- Ограничивайте API-ключи: Используйте API-ключи с минимально необходимыми правами доступа
- Проводите аудит кода: Для критически важных интеграций проверяйте исходный код сервера
Помните, что MCP‑серверы могут обращаться к внешним сервисам и выполнять код от вашего имени. Перед установкой всегда проверяйте, что делает сервер.
Примеры из реальной практики
Практические примеры использования MCP:
- Интеграция с Xcode — Подключите Cursor к Xcode 26.3+ для сборок, тестов, предпросмотров SwiftUI и поиска в документации Apple
- Руководство по веб-разработке — Интегрируйте Linear, Figma и инструменты браузера в рабочий процесс разработки
Часто задаваемые вопросы
MCP‑серверы подключают Cursor к внешним инструментам, таким как Google Drive, Notion и другим сервисам, чтобы включить документацию и требования в процесс разработки.
Просмотреть журналы MCP можно так:
- Откройте панель «Выходные данные» в Cursor (Cmd+Shift+UCtrl+Shift+U)
- Выберите «Журналы MCP» в раскрывающемся списке
- Проверьте наличие ошибок подключения, проблем с аутентификацией или сбоев сервера
В журналах отображаются инициализация сервера, вызовы инструментов и сообщения об ошибках.
Да! Серверы можно включать и отключать, не удаляя их:
- Откройте настроить на боковой панели
- Найдите MCP‑сервер, который хотите изменить
- Используйте переключатель, чтобы включить или отключить его
Отключённые серверы не загружаются и не отображаются в чате. Это полезно для устранения неполадок или уменьшения числа инструментов.
Если MCP‑сервер перестанет работать:
- Cursor покажет сообщение об ошибке в чате
- Вызов инструмента будет отмечен как неуспешный
- Вы можете повторить операцию или проверить журналы для получения подробностей
- Другие MCP‑серверы продолжат работать как обычно
Cursor изолирует сбои серверов, чтобы один сервер не влиял на работу других.
Для серверов на основе npm:
- Удалите сервер из настроить
- Очистите кэш npm:
npm cache clean --force - Добавьте сервер снова, чтобы получить последнюю версию
Для пользовательских серверов обновите локальные файлы и перезапустите Cursor.
Да, но следуйте рекомендациям по безопасности:
- Используйте переменные среды для секретов, никогда не прописывайте их в коде
- Запускайте серверы с конфиденциальными данными локально, используя транспорт
stdio - Ограничьте права доступа API-ключей необходимым минимумом
- Проверяйте код сервера перед подключением к системам с конфиденциальными данными
- Рассмотрите запуск серверов в изолированных средах