Model Context Protocol (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, можно указать статические учётные данные OAuth-клиента в mcp.json вместо динамической регистрации клиента. Используйте это, если:
- Провайдер MCP выдаёт вам фиксированный Client ID (и при необходимости Client Secret)
- Провайдер требует добавить URL перенаправления в список разрешённых (например, Figma, Linear)
- Провайдер не поддерживает динамическую регистрацию OAuth 2.0-клиента
Добавьте объект 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‑серверов. Зарегистрируйте URL обратного вызова для каждого интерфейса, через который ваши пользователи проходят аутентификацию:
https://www.cursor.com/agents/mcp/oauth/callbackhttp://localhost:8787/callback- Веб и Cursor Agents:
https://www.cursor.com/agents/mcp/oauth/callback - Настольное приложение:
http://localhost:8787/callback
При настройке OAuth-приложения провайдера MCP зарегистрируйте оба URL как разрешённые URI перенаправления, если пользователи проходят аутентификацию и в веб-версии, и в настольном приложении. Сервер определяется по параметру OAuth state, поэтому эти URL перенаправления подходят для всех MCP‑серверов.
Использование вместе с интерполяцией конфигурации
Значения auth поддерживают ту же интерполяцию, что и другие поля:
{ "mcpServers": { "oauth-server": { "url": "https://api.example.com/mcp", "auth": { "CLIENT_ID": "${env:MCP_CLIENT_ID}", "CLIENT_SECRET": "${env:MCP_CLIENT_SECRET}" } } }}Используйте переменные среды для Client ID и 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 для серверов, которым он требуется.
Настройки для администраторов 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.
MCP Allowlist
Администраторы Enterprise могут контролировать, какие MCP‑серверы пользователи могут запускать из дашборда Cursor. Откройте Team Settings > Конфигурация MCP, чтобы настроить, какие серверы и инструменты команда может запускать. Добавление в allowlist одобряет конфигурацию MCP. При этом сервер не распространяется и не устанавливается.
Используйте MCP Allowlist, чтобы указать одобренные серверы:
- Записи команд одобряют локальные MCP‑серверы
stdioпо шаблону команды. - Записи URL одобряют удалённые MCP‑серверы HTTP/SSE по шаблону URL.
- Tool allowlists ограничивают, какие инструменты с одобренного сервера могут запускаться автоматически. Оставьте allowlist инструмента пустым, чтобы разрешить все инструменты с этого сервера.
Управление сетью
Удалённые URL-адреса MCP ограничиваются настроенным шаблоном URL.
Локальные MCP‑серверы, запускаемые через команды, используют свой сетевой режим для каждого сервера:
- Разрешить всё: разрешён исходящий сетевой доступ.
- Allowlist: разрешены только адреса назначения из списка.
- Запретить всё: исходящий сетевой доступ заблокирован.
- Без песочницы: запуск без командной или сетевой песочницы.
Пользовательские расширения MCP
Администраторы могут разрешить пользователям настраивать собственные MCP‑серверы вне шаблонов команд или URL-адресов, заданных администратором. Для пользовательских MCP, которые не соответствуют шаблонам, заданным администратором, список запрещённых сетевых адресов для User 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...";// ^ full base64 clipped for readabilityserver.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-ключей необходимым минимумом
- Проверяйте код сервера перед подключением к системам с конфиденциальными данными
- Рассмотрите запуск серверов в изолированных средах