Инструкция · Cursor
Cursor: подключение MCP-сервера FazerCards
Cursor умеет добавлять к запросу произвольные HTTP-заголовки - из всех клиентов только он. Значит, токен здесь лежит не в адресе, а в X-API-Key, и сам адрес остаётся публичным. Вся настройка - один JSON-файл: либо общий на все окна, либо привязанный к конкретному проекту.
Перед началом
- Аккаунт FazerCards с балансом, которым вы готовы распоряжаться
- Токен, начинающийся с mcp_, созданный на странице профиля в карточке «Подключение к ИИ»
- Сборка Cursor с поддержкой MCP (раздел настроек MCP либо Tools & Integrations)
- Редактор, который не превращает прямые кавычки в типографские
- Решение об области: ~/.cursor/mcp.json на все проекты или .cursor/mcp.json для одного
Два файла: общий и проектный
Конфигурация MCP в Cursor хранится в JSON-файле, и таких файлов может быть два. Общий лежит по пути ~/.cursor/mcp.json (в Windows - C:\Users\<имя>\.cursor\mcp.json) и действует в любом открытом окне. Проектный - это .cursor/mcp.json в корне папки проекта: он работает, только пока эта папка открыта, и исчезает из списка инструментов, стоит переключиться на другой проект.
Общий файл удобен, когда каталог нужен под рукой независимо от того, чем вы заняты. Проектный - когда работа с FazerCards привязана к одному репозиторию магазина или бота и вам не хочется держать инструменты оформления заказов заряженными при правке постороннего кода. Структура у файлов одинаковая, так что перенести запись из одного в другой - вопрос копирования.
Ради чего здесь заголовок
Раз Cursor передаёт заголовки, секрету незачем оказываться в адресе. В поле url остаётся обычный https://api.fzr.cards/mcp, где нет ничего приватного, а токен mcp_ уезжает в X-API-Key. Утекают обычно как раз адреса: они оседают в логах, всплывают в тексте ошибки, попадают в конфиг, который пересылают в чат с просьбой помочь. С заголовком этого не происходит.
Оборотная сторона: имя заголовка уходит на сервер как написано, и Cursor его никак не проверяет. Регистр значения не имеет, X-Api-Key сработает, а вот X-API_Key, XAPIKey или лишний пробел внутри значения дадут запрос вообще без ключа. Выглядит это не как отказ в доступе, а как молчащий сервер.
Что представляет собой сам токен, как его отозвать и чем оборачивается вызов инструмента заказа - разобрано один раз на общей странице про MCP.
Формат строгий, и ошибка валит всё сразу
mcp.json читается как обычный JSON: без комментариев, без запятой после последнего элемента, только прямые кавычки. На практике строгость важнее, чем кажется, потому что испорченный файл - это не сломанная запись FazerCards. Cursor не разбирает документ целиком, и вместе с ней пропадают все описанные там серверы.
Отсюда простой признак: если одновременно исчезли и остальные инструменты, дело в синтаксисе, а не в подключении. Чаще всего виноват копипаст из мессенджера или текстового редактора, который незаметно заменяет " на типографские кавычки. Перенаберите кавычки прямо в редакторе или прогоните файл через любой валидатор JSON, прежде чем перезапускать программу.
Перезапуск и журнал MCP Logs
Cursor не подхватывает изменения mcp.json на лету. Переключить сервер в настройках - не перезагрузка: закройте приложение полностью, вместе с копией, оставшейся в трее, и откройте заново. Правки, которые «не действуют», почти всегда упираются именно в это, а не в ошибку конфигурации.
Если же что-то действительно не так, экран настроек MCP покажет только красный статус. Причина пишется в панель Output, канал MCP Logs: код ответа, ошибки транспорта, текст отказа самого сервера. Заглядывать туда стоит до того, как править файл.
Одну настройку задайте осознанно: подтверждение вызова инструментов лучше оставить включённым. Cursor спрашивает разрешение, только пока подтверждение активно, - в режиме автозапуска или агента вопрос не задаётся.
По шагам
Создайте токен подключения в кабинете
В панели FazerCards откройте страницу профиля и в карточке «Подключение к ИИ» сформируйте ссылку подключения. Она имеет вид https://api.fzr.cards/mcp/<токен>, а сам токен начинается с mcp_. Для Cursor нужен только токен, ссылка не понадобится.
Выберите область и откройте нужный файл
Чтобы сервер был доступен во всех окнах, правьте ~/.cursor/mcp.json (в Windows - C:\Users\<имя>\.cursor\mcp.json). Если он нужен в одном репозитории, создайте .cursor/mcp.json в корне проекта. Папку и файл при отсутствии создайте вручную, ничего другого заранее готовить не нужно.
Опишите сервер внутри mcpServers
В корневом объекте "mcpServers" добавьте запись с любым коротким именем. Удалённому серверу достаточно поля "url" со значением https://api.fzr.cards/mcp и объекта "headers". Поле "type" не указывайте, а "command" и "args" не добавляйте вовсе: они описывают локальный процесс, и Cursor попытается запустить несуществующую программу.
Впишите токен в заголовок X-API-Key
Внутри "headers" задайте "X-API-Key" со значением вашего токена mcp_. Следите, чтобы перед значением и после него не осталось пробела, а все кавычки в файле были прямыми.
Проверьте синтаксис и перезапустите Cursor целиком
Убедитесь, что файл по-прежнему разбирается как JSON: одна лишняя запятая выключит все перечисленные серверы. После этого полностью выйдите из Cursor, а не просто закройте окно, и запустите его снова.
Убедитесь, что сервер поднялся, и оставьте подтверждение
На экране настроек MCP проверьте, что запись подключена и её инструменты видны в списке. Подтверждение вызова для этого сервера оставьте включённым - инструменты работают с живым аккаунтом, а режим автозапуска или агента запрос на подтверждение пропускает.
Настройка
{
"mcpServers": {
"fazercards": {
"url": "https://api.fzr.cards/mcp",
"headers": {
"X-API-Key": "mcp_xxxxxxxxxxxxxxxx"
}
}
}
}Если что-то не так
После правки файла пропали вообще все MCP-серверы, а не только FazerCards
Документ перестал быть валидным JSON. Ищите запятую после последнего элемента или типографские кавычки из мессенджера, исправьте первую ошибку, на которую укажет валидатор, и перезапустите Cursor.
В MCP Logs код 401 и сообщение о необходимости аутентификации
В заголовке не рабочий токен. Проверьте, что он начинается с mcp_, что вместе с ним не вставился пробел и что он не отозван; при сомнениях создайте новую ссылку подключения и подставьте свежий токен.
Cursor пишет, что сервер не запустился, и упоминает spawn или отсутствующую команду
В записи остались "command" или "args" из примера для локального сервера. Удалите их вместе с полем "type": удалённый сервер описывается только через url и headers.
Сервер подключился, но инструментов нет, и про аутентификацию в логе ни слова
Опечатка в имени заголовка - оно уходит как есть, и запрос приходит без ключа. Сверьте написание с X-API-Key посимвольно: регистр не важен, а дефисы и подчёркивания важны.
Изменения в mcp.json будто игнорируются
Cursor не перечитал файл. Полностью завершите приложение, включая фоновую копию в трее, и откройте заново; выключение и включение сервера в настройках файл не перечитывает.
В одном окне сервер есть, в другом его нет
Запись лежит в проектном .cursor/mcp.json и загружается, только пока открыта эта папка. Перенесите её в ~/.cursor/mcp.json, если сервер нужен везде.
Вопросы
Стоит ли коммитить .cursor/mcp.json в git?
С настоящим токеном - нет. Либо добавьте файл в .gitignore, а в репозитории держите пример с заглушкой вместо значения, либо описывайте сервер в глобальном ~/.cursor/mcp.json, который вообще не лежит внутри проекта. Если токен уже улетел в репозиторий, отзовите его в панели и создайте новый.
Работает ли это в режиме автозапуска и агента?
Работает, и именно поэтому решение стоит принять заранее: автозапуск вызывает инструменты без вопросов, включая те, что оформляют заказы. Оставьте подтверждение вызова для этого сервера включённым, а если агентский режим у вас основной рабочий, опишите FazerCards в проектном файле - в остальных окнах он тогда не загрузится.
Что выбрать: глобальный файл или проектный?
Глобальный (~/.cursor/mcp.json) - когда каталог и заказы нужны в любом окне. Проектный (.cursor/mcp.json) - когда задача привязана к одному репозиторию: сервер живёт ровно столько, сколько открыта папка. Описывайте сервер где-то одном: две записи с одинаковым именем в разных областях только путают, потому что по интерфейсу не видно, какая из них сейчас в деле.
Почему нельзя чуть-чуть отойти от строгого JSON?
Файл разбирается обычным парсером JSON, поэтому комментарии, висящая запятая и одинарные кавычки для него - фатальная ошибка. И ломается не одна запись, а весь документ: Cursor не загрузит ни одного MCP-сервера, из-за чего неудачная вставка выглядит как одновременный отказ нескольких интеграций.
Где смотреть MCP Logs?
В панели Output - той же, где вывод терминала и списка проблем, - выберите в выпадающем списке канал MCP Logs. Туда пишутся ошибки подключения, коды ответов и текст отказа сервера; экран настроек MCP показывает лишь зелёный или красный индикатор.
Можно ли подключить два аккаунта FazerCards сразу?
Да. Добавьте в "mcpServers" вторую запись с другим именем, например "fazercards" и "fazercards-second", у каждой свой блок headers и свой токен. Cursor покажет оба набора инструментов рядом, поэтому имена делайте короткими и явно различимыми, чтобы помощник не сработал не по тому аккаунту.