Боты и автоматизация2026-09-219 минРедакция Submarine School

MCP-серверы в Cursor: подключение и безопасная проверка

MCP-серверы в Cursor: подключение и безопасная проверка

MCP-сервер в Cursor добавляет агенту внешние инструменты: чтение документации, работу с выбранной папкой, запросы к базе или API. Сам протокол не делает подключение безопасным автоматически. Перед первым запуском нужно решить, кому виден сервер, какими данными он располагает и какие вызовы вы готовы подтверждать. Ниже настройка для локального процесса и удалённого сервиса, проверка результата и диагностика без догадок.

Карта результата перед настройкой

Исходные условия: Cursor установлен, проект открыт, выбран официальный или проверенный MCP-сервер. Ожидаемый результат: Cursor показывает конкретный набор инструментов, а тестовый запрос вызывает только разрешённый инструмент в нужной области. Обязательные шаги: выбрать проектный или глобальный конфиг, настроить транспорт, перезапустить обнаружение, прочитать список tools и выполнить безопасный тест.

  • Проверка: сервер имеет состояние подключения, инструменты видны по именам, тест возвращает ожидаемые данные и не меняет файлы.
  • Частые сбои: неверная команда, пакет не установлен, переменная окружения недоступна, URL указывает не на MCP endpoint, сервер пишет логи в stdout.
  • Ограничение: MCP передаёт инструменты, но качество и безопасность их кода остаются ответственностью автора сервера и пользователя.
  • Способ не подходит, если нужен лишь разовый фрагмент текста или документации: безопаснее вставить его в контекст без постоянной интеграции.

Где Cursor хранит настройки MCP

По официальной документации Cursor о MCP есть две области. Файл .cursor/mcp.json внутри проекта действует только в этом проекте и может быть частью командной настройки. Файл ~/.cursor/mcp.json действует глобально для всех проектов пользователя. Для первого подключения выбирайте проектную область: так легче увидеть границу доступа и не включить экспериментальный сервер в чужой репозиторий.

Правило выбора области: сервер, связанный с одним репозиторием или его тестовой базой, храните в проектном конфиге. Глобальным делайте только тот инструмент, который нужен почти везде и не получает секретов конкретного проекта. Сам конфиг не должен содержать токены, если сервер умеет брать их из переменных окружения или OAuth.

Подключение сервера даёт агенту инструменты, но рабочий проект требует понятного сценария и проверки результата. На бесплатном вебинаре показываем, как собрать такую систему с ИИ.

Занять место

Локальный сервер через stdio

При stdio Cursor запускает процесс на вашем компьютере и общается с ним через стандартные потоки. Минимальная форма конфига выглядит так:

{
  "mcpServers": {
    "docs-local": {
      "command": "node",
      "args": ["./tools/docs-server.mjs"],
      "env": {
        "DOCS_ROOT": "./docs"
      }
    }
  }
}

Используйте фиксированный локальный файл или зафиксированную версию пакета. Команда с автоматической загрузкой последней версии удобна, но результат может измениться без правки проекта. Важная граница: локальный сервер запускается с правами вашего пользователя. Если ему передали корень проекта или домашний каталог, он потенциально видит всё внутри.

Логи stdio-сервера должны идти в stderr. Если программа печатает служебные сообщения в stdout, они смешиваются с сообщениями протокола, и Cursor может показать ошибку разбора или оборвать соединение. Этот сбой часто принимают за проблему Cursor, хотя исправлять нужно вывод сервера.

По теме: Как создать приложение с ИИ-агентом в 2026 году

Удалённый сервер через HTTP

Cursor поддерживает удалённые MCP-серверы по Streamable HTTP, а также SSE для совместимости. Для современного сервиса используйте URL, который прямо указан автором как MCP endpoint:

{
  "mcpServers": {
    "team-service": {
      "url": "https://example.org/mcp"
    }
  }
}

Если сервис поддерживает OAuth, Cursor проводит авторизацию отдельно. Не копируйте токен в публичный репозиторий и не вставляйте его в запрос агенту. Для внутреннего сервиса заведите отдельную учётную запись с минимальными правами, а не используйте личный ключ администратора.

Проверяемый порядок подключения

  1. Прочитайте документацию сервера и выпишите ожидаемые инструменты до установки. Если список неясен, не запускайте команду из чужого сообщения.
  2. Создайте .cursor/mcp.json в тестовом проекте. Передайте только тестовую папку или учётную запись только на чтение.
  3. Откройте настройки MCP в Cursor и убедитесь, что появилось именно заданное имя сервера.
  4. Разверните список инструментов и сравните его с выписанным. Неожиданный инструмент записи, запуска команд или отправки сообщений означает остановку.
  5. В новом чате попросите выполнить одно чтение, например получить название тестовой страницы. Просмотрите предложенный вызов и параметры до подтверждения.
  6. Повторите запрос с заведомо недоступным ресурсом. Правильный результат это отказ или явная ошибка, а не данные из другой области.

Это практический тест границы, а не только связи. Зелёный индикатор доказывает, что транспорт поднялся, но не доказывает правильность прав доступа или результата. Общую архитектуру MCP и различие между tools, resources и prompts разбирает статья что такое MCP-сервер.

Хорошая интеграция начинается с минимальных прав и проверяемого действия. На бесплатном вебинаре по вайбкодингу разбираем, как превратить это в готовый проект.

Записаться на вебинар

Подтверждения и режимы запуска

В официальном описании безопасности Cursor указано, что инструменты по умолчанию требуют подтверждения, а пользователь может настроить автоматическую проверку, список разрешённых действий или запуск без подтверждений. Для нового MCP-сервера оставьте ручное подтверждение. Автоматизация уместна позже и только для узкого инструмента чтения с предсказуемыми аргументами.

Не считайте автоматическую проверку жёсткой границей безопасности. Документация Cursor прямо предупреждает, что защитные правила снижают риск, но не дают абсолютной гарантии. Версионный контроль, минимальные права и резервная копия остаются обязательными. Если инструмент может менять репозиторий, сначала проверьте чистое состояние и просматривайте diff после каждого вызова.

По теме: Бесплатные MCP-серверы: что выбрать для безопасного старта

Практический элемент: карточка допуска сервера

Перед включением заполните короткую карточку. Она отделяет понятную интеграцию от случайного запуска кода:

  • Источник: официальный сайт или репозиторий автора, точная версия и дата проверки.
  • Транспорт: stdio или HTTPS, команда либо полный endpoint.
  • Область: один проект, одна папка, тестовая база или конкретная организация.
  • Инструменты: полный список, отдельно помечены чтение, запись и запуск команд.
  • Секреты: откуда берутся и какие минимальные права имеют.
  • Подтверждение: какие вызовы всегда остаются ручными.
  • Откат: как отключить сервер, отозвать токен и восстановить изменённые файлы.

Если хотя бы один пункт неизвестен, разрешайте только чтение тестовых данных. Для другого клиента настройка похожа, но имена команд и конфиги отличаются: не переносите их вслепую. Например, отдельная инструкция есть для Codex MCP.

Диагностика по симптомам

  • Сервер не появился: проверьте имя файла, валидность JSON и область проекта.
  • Процесс сразу завершился: выполните команду вручную в той же папке и проверьте путь к интерпретатору или пакету.
  • Ошибка протокола: убедитесь, что сервер не пишет логи в stdout и действительно поддерживает MCP.
  • Инструменты пусты: сравните версию сервера и клиента, затем проверьте журнал и ответ инициализации.
  • Удалённый сервер отвечает 401 или 403: повторите авторизацию и проверьте права отдельной учётной записи, не подменяйте её администраторской.
  • Инструмент виден, но выбирается неверно: уточните описание на стороне сервера или вызывайте его явно по имени в тесте.
  • Агент предлагает опасные аргументы: отклоните вызов, сузьте доступ сервера и добавьте правило подтверждения.

По теме: ИИ-финансовый агент: безопасный пилот без доступа к платежам

Когда писать свой сервер

Свой MCP-сервер оправдан, если нужен устойчивый доступ к внутренней системе и вы можете описать несколько маленьких проверяемых операций. Не начинайте с универсального инструмента run_anything. Лучше три функции с явными параметрами: найти документ, получить карточку по идентификатору и создать черновик. Пошаговый пример есть в материале как создать MCP-сервер на Python.

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

Можно ли подключить несколько MCP-серверов?

Да, но начинайте с одного. Большой набор похожих инструментов усложняет выбор модели и проверку прав. Добавляйте следующий сервер после того, как понятны вызовы и границы предыдущего.

Нужно ли коммитить .cursor/mcp.json?

Только если это общая настройка проекта без секретов и команда согласовала сервер. Личные пути, токены и экспериментальные команды оставляйте вне репозитория.

Подключение означает, что агент сам вызовет инструмент?

Инструмент становится доступен модели, но фактический вызов зависит от запроса, описания и режима подтверждений. Поэтому проверяйте предложенное имя и аргументы, а не только ответ после выполнения.

Если хотите собрать проект с ИИ и безопасно подключить к нему нужные инструменты, приходите на бесплатный вебинар по вайбкодингу: покажем путь от идеи до работающего результата.

Записаться на вебинар
Разборы, кейсы и фишки вайбкодинга каждую неделю в телеграм-канале «Яков вайбкодит».
Первый проект с ИИ: живой разбор, бесплатно Занять место