MCP — это способ научить Cursor работать не только с вашим кодом, но и с внешним миром: базой данных, макетами в Figma, репозиторием на GitHub, вашими собственными инструментами. Вместо того чтобы копировать данные в чат руками, вы даёте агенту прямой канал — и он сам сходит в базу, посмотрит схему, вытащит нужное. Звучит как суперсила, и это она и есть. Но ровно та же суперсила в 2025 году обернулась серией реальных уязвимостей, поэтому подключать MCP надо с пониманием, что вы открываете агенту.
- Что такое MCP простыми словами
- Где Cursor хранит конфиг: mcp.json
- Три транспорта: stdio, SSE и Streamable HTTP
- Подключаем базу данных Postgres — безопасно
- Подключаем Figma и свои инструменты
- 40 инструментов — практический потолок
- После подключения: подтверждения и проверка
- Безопасность: чем рискуете и как закрыть
- Частые ошибки первого подключения
- Частые вопросы
Сразу оговорка про уровень: MCP — продвинутый слой. Если вы только осваиваете сам редактор и вайб-кодинг на простых проектах, подключение внешних серверов можно спокойно отложить — оно нужно, когда агенту реально не хватает контекста из вашего кода. Дальше разберём по порядку: что такое MCP простыми словами, где Cursor хранит настройки, как подключить базу данных и Figma, и — главное — как не отдать агенту больше прав, чем нужно. Всё сверено с документацией Cursor, спецификацией протокола и разборами безопасности на июль 2026.
Что такое MCP простыми словами
MCP (Model Context Protocol) — открытый протокол, который Anthropic опубликовала в ноябре 2024 года, а в декабре 2025-го передала вендор-нейтральному фонду Agentic AI Foundation под Linux Foundation (соучредители — Anthropic, Block и OpenAI). То есть это не фича одного Cursor, а общий стандарт, который поддерживают многие редакторы и модели.
Устроен он на трёх ролях:
- Host — приложение с ИИ. В нашем случае это Cursor.
- Client — коннектор внутри host, который говорит с сервером.
- Server — отдельная программа, которая отдаёт агенту инструменты (например, «сделай SQL-запрос» или «покажи макет из Figma»).
Сервер может отдавать три вещи: Tools (инструменты — действия, которые агент вызывает), Resources (данные, которые он читает) и Prompts (готовые шаблоны). Проще всего думать так: MCP-сервер — это переходник между Cursor и каким-то внешним сервисом, говорящий на языке, который понимает агент.
Где Cursor хранит конфиг: mcp.json
Настройки MCP-серверов Cursor читает из двух файлов:
.cursor/mcp.jsonв корне проекта — серверы только для этого проекта.~/.cursor/mcp.jsonв домашней папке — глобальные, для всех проектов.
Если сервер с одинаковым именем есть и там, и там, побеждает проектный. Внутри файла всё лежит под корневым ключом mcpServers — забыть его легко, и тогда Cursor просто не увидит конфиг.
Простейший пример — официальный сервер файловой системы, который даёт агенту доступ строго к указанной папке:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/project"]
}
}
}
По умолчанию Cursor спрашивает подтверждение перед каждым вызовом MCP-инструмента — авто-запуск включается отдельно через Run Mode и списки разрешённых инструментов. Если вы только начинаете осваивать редактор, поставить Cursor и попробовать всё это на кошке можно по этой ссылке — а дальше подключим первый реальный сервер.
Три транспорта: stdio, SSE и Streamable HTTP
Сервер и Cursor общаются через один из трёх «транспортов». Разница не косметическая — от неё зависит, где крутится сервер и как он авторизуется:Транспорт Где работает Кто управляет Авторизация stdio локально на вашей машине процесс поднимает Cursor вручную (env/токены) SSE (легаси) локально или удалённо внешний сервер OAuth Streamable HTTP локально или удалённо внешний сервер OAuth
На уровне самой спецификации MCP стандартных транспортов два — stdio и Streamable HTTP; старый HTTP+SSE из версии спецификации 2024-11-05 считается устаревшим. Практический вывод: для локальных инструментов выбирайте stdio, для удалённых сервисов — Streamable HTTP, а SSE трогайте только если сервис ещё не переехал на новый транспорт.
Подключаем базу данных Postgres — безопасно
Самый частый сценарий — дать агенту заглянуть в вашу базу. И самый частый способ прострелить себе ногу — вставить в конфиг строку подключения с полными правами. Правильный порядок такой:
- Заведите отдельного read-only пользователя БД. Не давайте агенту admin-доступ по умолчанию:
CREATE USER cursor_ro WITH PASSWORD '...';
GRANT SELECT ON ALL TABLES IN SCHEMA public TO cursor_ro;
- Не храните пароль в
mcp.json. И документация Cursor, и независимые гайды настаивают: секреты передаются только через переменные окружения илиenvFile(для stdio), либо через интерполяцию${env:NAME}— но не хардкодом в JSON, который легко утечёт в git.
Почему это не паранойя, а необходимость — покажет раздел про безопасность ниже. Пока запомните правило: агент должен иметь ровно те права, которые нужны для задачи, и ни одним больше. Как Cursor в целом работает с проектом и какие у него тарифы, если MCP вам зайдёт и вы захотите большего, разбирали в обзоре Cursor и его тарифов.
Подключаем Figma и свои инструменты
Figma. У Figma сейчас два MCP-сервера, и начинать проще с удалённого. Remote-сервер (https://mcp.figma.com/mcp) на время беты бесплатен, не требует десктоп-приложения и подходит большинству — с него и стоит стартовать. Второй вариант — локальный Dev Mode MCP Server: он даёт больше возможностей, но требует платного места (Dev или Full seat на плане Professional/Organization/Enterprise) и работает только через десктоп-приложение Figma. Нюанс по локальному: его адрес при переходе с SSE на Streamable HTTP сменился с http://127.0.0.1:3845/sse на http://127.0.0.1:3845/mcp — если по старому «не коннектится», проверьте новый.
GitHub. Официальный сервер запускается Docker-образом с передачей персонального токена через окружение:
{
"mcpServers": {
"github": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${env:GITHUB_PAT}" }
}
}
}
Свои инструменты. Любой сервис, для которого есть MCP-сервер (или который вы напишете сами), подключается так же — командой запуска и парой env-переменных. Экономия бывает ощутимой: в одном отчёте разработчика связка из трёх MCP-серверов (поиск по коду, компрессия контекста, агрегатор инструментов) срезала расход токенов на проекте до 90% — но это единичный кейс, а не гарантия.
40 инструментов — практический потолок
Незаметная, но важная деталь: у Cursor есть практический потолок примерно в 40 одновременно активных MCP-инструментов по всем серверам разом. Дело не в жёстком лимите, а в том, что описания всех инструментов уходят в контекст модели — чем их больше, тем больше токенов тратится впустую и тем хуже модель выбирает нужный инструмент. Вывод: не включайте все серверы сразу «на всякий случай». Держите активными только те, что нужны для текущей задачи, а остальные выключайте — и точность, и стоимость скажут спасибо.
После подключения: подтверждения и проверка
Добавили сервер в mcp.json — Cursor подхватит его и покажет список инструментов в настройках MCP. По умолчанию перед каждым вызовом инструмента агент спрашивает подтверждение: это ваш последний рубеж контроля, и на незнакомых серверах его лучше не отключать. Авто-запуск разрешённых инструментов включается отдельно, через Run Mode и списки allowlist, — осознанно, а не по инерции.
Стоит помнить, что поддержка возможностей MCP в Cursor наращивалась по версиям: по имеющимся данным, чтение данных-ресурсов (Resources) появилось в Cursor 1.6 (сентябрь 2025), а интерактивные уточняющие запросы от сервера (Elicitation) — в Cursor 1.5 (август 2025). Если какой-то примитив «не работает», первым делом проверьте, что у вас свежая версия редактора. И ещё практический момент: большинству серверов нужна установленная среда выполнения — Node.js или Python; без неё сервер молча не стартует, поэтому node --version и python --version в терминале — самая быстрая проверка перед разбором конфига.
Зачем всё это в итоге: грамотно собранная связка серверов не только расширяет возможности агента, но и экономит бюджет. В одном отчёте разработчика набор из трёх MCP-серверов (поиск по коду, компрессия контекста, агрегатор инструментов) срезал расход токенов на проекте до 90% — цифра единичного кейса, но направление верное: чем точнее агент достаёт нужный контекст сам, тем меньше вы скармливаете ему вручную.
Безопасность: чем рискуете и как закрыть
Это не пугалка, а разбор того, что реально случилось в 2025 году. MCP даёт агенту руки во внешнем мире, и этим уже пользовались.Уязвимость Суть Итог MCPoison (CVE-2025-54136, CVSS 7.2) Cursor привязывал доверие к имени сервера в конфиге, а не к команде — после первого одобрения команду можно было незаметно подменить в общем репозитории Исправлено в Cursor 1.3 (конец июля 2025) CurXecute (CVE-2025-54135, CVSS 8.5) Отравленное Slack-сообщение, которое суммировал агент, могло переписать mcp.json и запустить чужой серверИсправлено в Cursor 1.3.9 MCP Inspector (CVE-2025-49596, CVSS 9.4) Официальный отладочный инструмент не проверял источник запроса — визит на вредоносный сайт запускал команды Исправлено в версии 0.14.1
К этому — показательная демонстрация исследователей безопасности (General Analysis, середина 2025). На своём тестовом Supabase-проекте они показали: агент с привилегированным service-role доступом, обрабатывая тикет поддержки со спрятанной в тексте промпт-инъекцией, сам сформировал SQL-запрос к таблице токенов и вернул их в публичный тред. Это был контролируемый proof-of-concept на выдуманных данных, а не реальная утечка у реального сервиса, — но механика настоящая: классическая «смертельная тройка» (привилегии + недоверенный ввод + внешний канал наружу). Обратите внимание: вектор здесь — именно промпт-инъекция (вредоносная инструкция в тексте тикета обманула агента), а не SQL-инъекция в привычном смысле. Именно поэтому в разделе про базу данных мы заводили read-only пользователя — будь у агента только SELECT, вернуть или испортить лишнее он бы не смог.
Отдельно стоит понимать два класса атак, которые не ловятся обычной проверкой:
- Tool poisoning — вредоносная инструкция прячется в описании инструмента (метаданных), а не в вашем запросе. Проверка пользовательского ввода её не увидит.
- Rug pull — сервер меняет поведение инструмента уже после того, как вы дали разрешение. Большинство клиентов такие изменения не подсвечивают.
Что с этим делать на практике: ставьте серверы только из проверенных источников, давайте минимальные права (read-only, ограниченные API-ключи), храните секреты в окружении, а не в конфиге, и не подключайте что попало «чтобы попробовать». Хорошая новость: Cursor закрывал все раскрытые в 2025 году уязвимости за дни-недели, а начиная с версии 1.3 любое изменение mcp.json требует повторного явного одобрения — это бьёт ровно по классу атак вроде MCPoison.
Частые ошибки первого подключения
Если сервер «не подключается», в девяти случаях из десяти виновата одна из этих мелочей:
- Забыт флаг
-yуnpx— установка виснет на запросе подтверждения, и сервер молча не стартует. - Нет корневого ключа
mcpServers— Cursor не видит конфиг целиком. - Имя сервера или инструмента длиннее 60 символов — превышение ломает регистрацию.
- Не установлена среда выполнения — большинству серверов нужен Node.js или Python; проверьте
node --version/python --versionв терминале.
И про масштаб экосистемы, чтобы не пугаться цифр из чужих статей: число доступных MCP-серверов сильно расходится между источниками (каталог Glama называет ~32 000 записей, PulseMCP — 16 000+), потому что каждый считает по-своему. Единой «правильной» цифры нет — ориентируйтесь на официальный реестр и проверенные каталоги, а не на первое попавшееся число.
Частые вопросы
Куда класть mcp.json — в проект или в домашнюю папку?
Зависит от области. Сервер, нужный только в одном проекте (например, доступ к его базе), кладите в .cursor/mcp.json в корне репозитория. Сервер, который вы хотите видеть везде (скажем, файловая система или GitHub), — в ~/.cursor/mcp.json. Если имя сервера совпадёт в обоих файлах, приоритет у проектного. Проектный конфиг удобно коммитить в репозиторий, но без секретов — только структуру.
Можно ли безопасно подключить рабочую базу данных?
Да, если не давать агенту полный доступ. Заведите отдельного пользователя БД только с правами на чтение (GRANT SELECT), а пароль храните в переменных окружения или .pgpass, а не в mcp.json. Тогда даже при удачной промпт-инъекции агент физически не сможет ничего изменить или удалить — максимум прочитает то, что и так должен видеть. Именно на отсутствии такого ограничения строилась исследовательская демонстрация с Supabase-агентом: будь у него только доступ на чтение, вернуть лишнее он бы не смог.
Почему не стоит включать много серверов сразу?
У Cursor практический потолок около 40 активных инструментов: описания всех серверов уходят в контекст модели и тратят токены, а сверх этого числа модель начинает хуже выбирать нужный инструмент. Держите включёнными только серверы под текущую задачу — это и дешевле, и точнее. Остальные выключайте в настройках MCP, а не оставляйте «на всякий случай».
Что нужно, чтобы подключить Figma к Cursor?
Зависит от того, какой сервер выбрать. Удалённый (https://mcp.figma.com/mcp) на время беты бесплатен и не требует ни платного места, ни десктоп-приложения — с него проще всего начать. Локальный Dev Mode MCP Server даёт больше возможностей, но требует платного места (Dev или Full seat на плане Professional, Organization или Enterprise) и запускается только через десктоп-приложение Figma. Для локального помните про смену адреса: если по старому http://127.0.0.1:3845/sse соединения нет, проверьте новый — http://127.0.0.1:3845/mcp.
Что такое tool poisoning и как от него защититься?
Это атака, при которой вредоносная инструкция спрятана в описании MCP-инструмента, а не в вашем запросе, поэтому обычная проверка ввода её не ловит. Защита — организационная: ставьте серверы только из проверенных источников, читайте, что именно сервер делает, давайте ему минимальные права и помните про rug pull — сервер может изменить поведение уже после одобрения. Cursor с версии 1.3 требует переодобрения при изменении конфига, что частично закрывает такие сценарии. Главный принцип остаётся неизменным: относитесь к MCP-серверу как к стороннему коду с доступом к вашим данным — ставьте только то, чему доверяете, и давайте ровно те права, без которых задача не решается.
Гид «Всё про Cursor». Это часть большого гида по Cursor: установка и первые шаги, вайб-кодинг на практике, агенты и интеграции, тарифы и работа в команде. полном гиде по Cursor.




