Подключение MCP-1C к Cursor
- cursor
- mcp
- 1c
- integration
Как подключить MCP-1C к Cursor по транспорту stdio: где лежит mcp.json, минимальный конфиг, несколько баз 1С, ключи LLM в секции env и проверка через MCP Logs.
Cursor читает определения инструментов MCP из конфигурационного файла и подключает их к чату. Чтобы получить в редакторе доступ к метаданным вашей конфигурации 1С, достаточно прописать в этот файл запуск бинарника MCP-1C. Дальше Cursor сам показывает инструменты сервера и обращается к ним, когда они уместны для запроса.
Связь идёт по транспорту stdio: клиент запускает бинарник и общается с ним через stdin и stdout. Отдельные порты настраивать не нужно, HTTP-сервер поднимать тоже не нужно. Один запущенный процесс обслуживает ровно одного пользователя, так что конфиг привязан к вашему рабочему месту, а не к команде.
Где Cursor хранит конфиг
Cursor держит настройки MCP-серверов в файле mcp.json и ищет его в двух местах:
| Файл | Область действия |
|---|---|
.cursor/mcp.json в корне проекта |
только этот проект |
~/.cursor/mcp.json в домашнем каталоге |
все проекты |
Проектный файл удобен, когда база 1С привязана к конкретному репозиторию с расширением или внешними обработками. Глобальный файл подходит, если вы работаете с одной базой из любого проекта. Если файла нет, его нужно создать.
Минимальная конфигурация
// Cursor: глобальный конфиг ~/.cursor/mcp.json (или .cursor/mcp.json в корне проекта)
{
"mcpServers": {
"mcp-1c": {
"command": "mcp-1c-advanced",
"args": [
"--base", "http://localhost:8080/hs/mcp-1c",
"--user", "Администратор",
"--password", ""
]
}
}
}
Корневой ключ mcpServers это словарь. Ключ внутри (mcp-1c) это произвольное имя сервера для отображения в Cursor, а значение описывает запуск. Параметры запуска бинарника:
--base <URL>объявляет базу 1С, в примере этоhttp://localhost:8080/hs/mcp-1c.--user <имя>задаёт пользователя.--password <пароль>задаёт пароль (пустая строка, если пароль не задан).
Здесь command это имя бинарника Расширенной редакции mcp-1c-advanced: он должен быть в PATH либо указан полным путём. В опубликованном на сайте примере для Cursor с бинарником Открытой редакции mcp-1c структура та же и используется такая же HTTP-форма --base, меняется только значение command. Профессиональная редакция собрана как надмножество Расширенной и поставляется бинарником mcp-1c-pro. Корпоративная редакция в разработке.
Поля конфига и UI
Формат mcp.json у Cursor описывает три поля на сервер:
| Поле | Назначение |
|---|---|
command |
обязательно, исполняемый файл в PATH или указанный полным путём |
args |
массив аргументов запуска, опционально |
env |
переменные окружения, опционально |
В таблице полей Cursor поле type для stdio-сервера помечено обязательным со значением stdio, но в минимальных примерах из документации Cursor его опускают. Кроме stdio Cursor умеет http и sse, но MCP-1C по stdio в нём не нуждается.
Тот же сервер добавляется и через интерфейс настроек Cursor в разделе MCP, где выбирается транспорт stdio и заполняются command и args. Названия пунктов меню в разных версиях Cursor отличаются, поэтому надёжнее править mcp.json напрямую. Структура совпадает с официальным примером Cursor для stdio:
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "mcp-server"],
"env": {
"API_KEY": "value"
}
}
}
}
Несколько баз
Если нужно держать несколько баз в одном процессе, --base принимает форму NAME=URL и повторяется, а учётные данные задаются флагом --auth в форме NAME=USER:PASS:
{
"mcpServers": {
"mcp-1c": {
"command": "mcp-1c-advanced",
"args": [
"--base", "dev=http://localhost:8080/hs/mcp-1c",
"--base", "prod=http://prod-host/acc/hs/mcp-1c",
"--auth", "dev=Администратор:",
"--auth", "prod=Администратор:"
]
}
}
}
В запросе к Cursor базу можно назвать явно, например: посмотри метаданные документа Реализация в базе prod.
Ключи LLM в секции env
Часть инструментов Профессиональной редакции обращается к внешней LLM: автогенерация документации, генерация тестов и подобное. Они доступны только в бинарнике mcp-1c-pro, поэтому секция env с ключами LLM имеет смысл при запуске именно его. API-ключи задаются в секции env, которую формат конфига Cursor поддерживает:
{
"mcpServers": {
"mcp-1c": {
"command": "mcp-1c-pro",
"args": ["--base", "http://localhost:8080/hs/mcp-1c"],
"env": {
"YANDEXGPT_API_KEY": "AQVN...",
"YANDEXGPT_FOLDER_ID": "b1g..."
}
}
}
}
Базовые инструменты от LLM не зависят и работают без этих ключей: поиск по коду, чтение метаданных, анализ. Секция env нужна только если вы собираетесь пользоваться инструментами с обращением к модели.
Проверка подключения
После добавления сервера Cursor сам использует его инструменты, когда они уместны; они перечислены в разделе Available Tools. Включать и выключать серверы можно через Customize в сайдбаре.
Если инструменты не появились, откройте панель Output (Cmd+Shift+U) и выберите в выпадающем списке MCP Logs. Там видны сообщения об инициализации и об ошибках сервера. Возможные причины: неверный путь к бинарнику в command или недоступный адрес базы в --base.
Первый запуск и индекс
Старт сервера неблокирующий: он отвечает сразу, а индекс строится в фоне. Пока индекс ещё не готов, поиск по коду и чтение модулей возвращают сообщение о построении индекса с предложением повторить запрос позже. Индекс кэшируется в системном каталоге кэша ОС, путь переопределяется флагом --cache-dir или переменной MCP_1C_CACHE_DIR. Последующие запуски проходят быстро за счёт переиспользования кэша.
Дальше
Полный список инструментов и параметров запуска есть в документации, общий обзор продукта на главной. Настройка других клиентов по той же схеме: Windsurf и GitHub Copilot. Структура конфига везде одна и та же, меняется только путь к файлу настроек самого клиента.
Актуальная справка Cursor по MCP находится на cursor.com/docs/context/mcp. Старый адрес docs.cursor.com отдаёт постоянный редирект на cursor.com/docs.