Редакция PLPB ·
Cursor MCP: как подключать внешние инструменты и ограничивать доступ
Практический гайд по Cursor MCP: что такое Model Context Protocol, как устроены mcp.json и транспорты, где хранить ключи и как безопасно разрешать внешние инструменты.
Короткий ответ
MCP в Cursor — способ подключить к Agent внешние инструменты и источники данных через Model Context Protocol. Серверы можно настроить через mcp.json; Cursor поддерживает локальный stdio, удалённые SSE и Streamable HTTP-соединения. Начинайте с одного понятного сервера, проверяйте его команды и выдавайте минимальные разрешения.
Официальная документация Cursor по MCP описывает серверы, транспорты, конфигурацию и способы установки. MCP расширяет возможности Agent, но одновременно увеличивает поверхность доступа, поэтому безопасность важнее количества интеграций.
Что MCP добавляет к Cursor
Без MCP Agent работает с кодом, контекстом и встроенными инструментами Cursor. MCP может добавить доступ к внешней системе: базе знаний, трекеру задач, сервису аналитики, внутреннему API или другому источнику данных.
Принцип простой:
Не следует считать MCP безопасным только потому, что это стандарт. Риск зависит от конкретного сервера, его кода, токенов и прав.
Три варианта транспорта
stdio
Сервер запускается локальной командой и общается через стандартные потоки. Это удобно для личного проекта: Cursor управляет процессом, а сервер не обязан быть доступен по сети.
SSE
Сервер работает как удалённый или локальный HTTP endpoint с Server-Sent Events. Он удобен, если инструмент развёрнут отдельно, но требует проверки URL, TLS, авторизации и доступности сети.
Streamable HTTP
Современный HTTP-вариант для подключения удалённого сервера. Важно проверить, как сервер принимает токены, какие домены разрешены и какие операции доступны аккаунту.
Актуальные названия транспортов и ограничения сверяйте в справке Cursor MCP, потому что реализация и интерфейс могут обновляться.
Где лежит mcp.json
Конфигурация может быть привязана к проекту или к пользовательскому окружению — точное расположение зависит от способа установки и текущей версии Cursor. Пример локального сервера выглядит так:
{
"mcpServers": {
"project-tools": {
"command": "npx",
"args": ["-y", "example-mcp-server"],
"env": {
"API_KEY": "${API_KEY}"
}
}
}
}Это только форма примера. Не вставляйте настоящий ключ в файл и не коммитьте конфигурацию с секретными значениями. Используйте переменные окружения, секретное хранилище или механизм авторизации, который рекомендует конкретный сервер.
Чек-лист перед подключением
До установки MCP-сервера ответьте на вопросы:
Если на часть вопросов нет ответа, не подключайте сервер к рабочему проекту. Сначала протестируйте его в отдельном окружении без чувствительных данных.
Минимальные права
Разделите серверы по задачам. Инструмент, который читает документацию, не должен иметь права изменять базу. Сервер для трекера задач не должен видеть секреты проекта. Если нужна запись, начните с read-only режима и включайте изменение только для конкретного сценария.
Полезные ограничения:
MCP и терминал Agent
Не смешивайте «MCP подключён» с «Agent получил доступ ко всему компьютеру». Реальный доступ формируется суммой разрешений: сервер, процесс Cursor, операционная система, переменные окружения и команды терминала.
Официальная справка по .cursorignore отдельно предупреждает: ignore-файл не блокирует терминал и MCP-серверы Agent. Поэтому секреты должны быть защищены на уровне окружения, а не только паттерном исключения.
Как провести первый тест
Пример запроса:
Покажи список подключённых MCP-инструментов.
Для каждого укажи назначение, требуемые разрешения и может ли он менять данные.
Ничего не вызывай без моего подтверждения.MCP в командном проекте
Для команды зафиксируйте:
Эти требования можно кратко описать в Cursor Rules, но текстовое правило не заменяет технические права в целевой системе.
MCP и приватность
MCP может передавать во внешний сервис не только запрос, но и выбранный контекст, если инструмент этого требует. До подключения прочитайте политику сервера и проверьте, какие данные входят в payload. Cursor Data Use & Privacy Overview полезен для понимания базового потока данных Cursor, но не заменяет политику стороннего MCP-сервера.
Если проект закрытый:
Когда MCP не нужен
Не подключайте MCP, если задачу можно решить через локальный файл, обычный поиск или встроенный терминал без нового внешнего доступа. Дополнительная интеграция оправдана, когда она повторяет полезное действие часто и даёт понятный выигрыш.
Чем больше серверов включено, тем сложнее понять, какой инструмент вызвал Agent и куда ушли данные. Маленькая, документированная конфигурация обычно лучше длинного списка интеграций.
Пример read-only конфигурации
Для первого теста выбирайте сервер, который только читает тестовые данные. Форма конфигурации может выглядеть так:
{
"mcpServers": {
"docs-reader": {
"command": "npx",
"args": ["-y", "example-docs-server"],
"env": {
"DOCS_TOKEN": "${DOCS_TOKEN}"
}
}
}
}Название пакета здесь условное. Не устанавливайте его как готовую рекомендацию: проверьте официальный источник, код и документацию именно того сервера, который нужен вам.
OAuth, токены и окружение
Если сервер использует OAuth, проверьте redirect URL, область доступа и способ отзыва разрешения. Если используется API-ключ:
mcp.json;Для локального stdio-сервера помните, что команда запускается в вашем окружении. Проверьте, какая версия runtime используется, какие переменные доступны процессу и какие каталоги он может читать.
Как объяснить Agent границы MCP
Добавьте правило на время теста:
MCP-инструменты используй только после моего подтверждения.
Сначала покажи название инструмента, входные данные и ожидаемый эффект.
Не вызывай операции записи, удаления и публикации.После успешного read-only теста можно разрешить один безопасный write-сценарий на тестовых данных и отдельно проверить журнал операции.
Если MCP не работает
Проверьте по порядку:
Сохраните текст ошибки без секретов. Не копируйте в публичный issue полный вывод терминала, если в нём могут быть токены или пути к закрытым данным.
Модель угроз для MCP
Составьте простую таблицу:
| Актив | Возможный риск | Контроль |
|---|---|---|
| API-ключ | Утечка через лог или prompt | Переменная окружения, минимальный scope |
| Репозиторий | Чтение лишних файлов | Узкая область, права ОС, проверенный сервер |
| База данных | Незапланированная запись | Read-only роль и подтверждение |
| Внешний сервис | Публикация или удаление | Отдельный аккаунт и ручной review |
Такая модель полезнее общего обещания «сервер безопасный», потому что связывает риск с конкретным контролем.
Частые вопросы (FAQ)
Что такое MCP в Cursor?
Это протокол, через который Cursor подключает внешние инструменты и источники данных к Agent.
Где хранить API-ключ для MCP?
Не в Git и не в тексте статьи или промпта. Используйте переменную окружения, секретное хранилище или штатную OAuth-конфигурацию сервера.
Безопасны ли сторонние MCP-серверы?
Автоматически — нет. Проверяйте код, владельца, разрешения, сетевые обращения, обработку данных и срок действия токена.
Может ли MCP менять файлы?
Зависит от объявленных инструментов и разрешений. Считайте операции записи потенциально опасными и включайте их только после проверки.
Защищает ли .cursorignore от MCP?
Нет. Ignore-файл не блокирует доступ MCP-сервера и терминала Agent. Нужны отдельные ограничения окружения и прав.
Сколько MCP-серверов подключать?
Столько, сколько вы можете проверить и сопровождать. Для старта достаточно одного read-only сервера на тестовых данных.
Нужен доступ к сервису?
Выберите товар в каталоге, оформите заказ и оплатите его на сайте. Дальнейшие шаги появятся в чате заказа.
Каталог подписокВопросы: help@plpb.tech