MCP в Cursor: как подключить базу данных, Figma и свои инструменты

16 мин. чтения
BYBIT · СПОТ И ФЬЮЧЕРСЫ
Крипта с нуля
Комиссия 0,1%, торги 24/7, старт с $10
Открыть счёт

MCP — это способ научить Cursor работать не только с вашим кодом, но и с внешним миром: базой данных, макетами в Figma, репозиторием на GitHub, вашими собственными инструментами. Вместо того чтобы копировать данные в чат руками, вы даёте агенту прямой канал — и он сам сходит в базу, посмотрит схему, вытащит нужное. Звучит как суперсила, и это она и есть. Но ровно та же суперсила в 2025 году обернулась серией реальных уязвимостей, поэтому подключать MCP надо с пониманием, что вы открываете агенту.

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

Что такое MCP простыми словами

MCP (Model Context Protocol) — открытый протокол, который Anthropic опубликовала в ноябре 2024 года, а в декабре 2025-го передала вендор-нейтральному фонду Agentic AI Foundation под Linux Foundation (соучредители — Anthropic, Block и OpenAI). То есть это не фича одного Cursor, а общий стандарт, который поддерживают многие редакторы и модели.

Устроен он на трёх ролях:

SpaceX · xStockSpaceX — частная компания. Торгуй её токеном на Bybit за крипту.Торговать SpaceX →
  • 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 трогайте только если сервис ещё не переехал на новый транспорт.

Bybit · Rewards Hubдо $30,100Внеси депозит, торгуй 14 дней — и забери награды в Rewards HubЗабрать бонус →

Подключаем базу данных Postgres — безопасно

Самый частый сценарий — дать агенту заглянуть в вашу базу. И самый частый способ прострелить себе ногу — вставить в конфиг строку подключения с полными правами. Правильный порядок такой:

  1. Заведите отдельного read-only пользователя БД. Не давайте агенту admin-доступ по умолчанию:
CREATE USER cursor_ro WITH PASSWORD '...';
GRANT SELECT ON ALL TABLES IN SCHEMA public TO cursor_ro;
  1. Не храните пароль в 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-серверу как к стороннему коду с доступом к вашим данным — ставьте только то, чему доверяете, и давайте ровно те права, без которых задача не решается.

Bybit
$30,100 + $5,030
100 USDT в подарок
Получить →
Поделиться
Связаться:
Крипто- и data-аналитик, инженер-программист (факультет компьютерных наук ХНУРЭ). В IT с 2008 года: администрировал корпоративный мониторинг в «Vodafone Украина», семь лет разрабатывал и продвигал веб-проекты, пять лет руководил маркетингом на метриках — конверсия, CTR, ROI, LTV.Криптовалютными рынками занимаюсь с 2021 года: ончейн-метрики, токеномика, макроэкономические индикаторы. Разработал собственную data-driven модель анализа рынка на 30+ метрик. Стек — Python (pandas, NumPy, SciPy, matplotlib), математическая статистика и EDA; сбор и сверку данных автоматизирую AI-агентами.Принцип — «Don't trust, verify»: каждая цифра проверена по первоисточнику, ключевые — минимум по двум независимым; прогнозы — только сценарии с условиями. Тезис без данных не публикуется.