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.


