Подключение MCP-1C к Claude Code

·
  • claude code
  • anthropic
  • mcp
  • 1c

Claude Code MCP 1С: команда claude mcp add, файл .mcp.json, области видимости сервера, флаги запуска бинарника MCP-1C, ключи LLM и проверка через /mcp.

Claude Code это CLI-инструмент Anthropic, и он умеет подключаться к MCP-серверам из коробки. Чтобы AI видел метаданные вашей конфигурации и генерировал точный код на BSL, достаточно один раз зарегистрировать бинарник MCP-1C: командой claude mcp add или записью в файле .mcp.json. Дальше Claude Code сам запускает сервер и обращается к его инструментам, когда они уместны для запроса.

TL;DR

Связка Claude Code и 1С собирается без адаптеров. Транспорт по умолчанию это stdio: Claude Code запускает бинарник MCP-1C и общается с ним через stdin и stdout, отдельный порт не нужен. Для регистрации используйте claude mcp add --transport stdio mcp-1c -- /path/mcp-1c-advanced --base ... --user ... --password ..., всё после -- уходит серверу без изменений. Проверка: claude mcp list, claude mcp get mcp-1c в терминале и команда /mcp в сессии.

Что такое Claude Code и причём здесь MCP-1C?

Claude Code это CLI Anthropic, который подключается к MCP-серверам по стандарту Model Context Protocol. Официальная справка по MCP в Claude Code находится по адресу code.claude.com/docs/en/mcp (старый адрес docs.anthropic.com/en/docs/claude-code/mcp отдаёт постоянный редирект туда).

MCP-1C поставляется одним бинарником на Go и говорит по стандартному транспорту stdio: AI-клиент запускает бинарник и общается с ним через stdin и stdout, отдельный порт или HTTP-сервер для самого транспорта не нужны. Stdio-серверы работают как локальные процессы и хорошо подходят для инструментов, которым нужен прямой доступ к системе. Такой процесс не переподключается автоматически и не подпадает под таймаут простоя.

Какой бинарник MCP-1C выбрать под вашу редакцию?

Имя бинарника зависит от редакции. Платные редакции собраны как надмножество: Профессиональная включает всё из Расширенной.

Редакция Бинарник LLM-инструменты
Открытая mcp-1c нет
Расширенная mcp-1c-advanced нет
Профессиональная mcp-1c-pro да (нужны ключи YandexGPT или GigaChat)
Корпоративная в разработке -

Бинарник скачивается из личного кабинета. В примерах ниже используется mcp-1c-advanced; для Открытой редакции подставьте mcp-1c, для Профессиональной mcp-1c-pro.

Как добавить MCP-1C одной командой claude mcp add?

Локальный stdio-сервер добавляется командой claude mcp add [options] <name> -- <command> [args...]. Всё, что идёт после -- (двойного дефиса), передаётся серверу без изменений: разделитель отделяет собственные опции Claude Code (--transport, --env, --scope) от команды запуска сервера и её аргументов.

claude mcp add --transport stdio mcp-1c -- /usr/local/bin/mcp-1c-advanced \
  --base "acc=http://localhost:8080/hs/mcp-1c" \
  --user Администратор \
  --password ""

Здесь /usr/local/bin/mcp-1c-advanced это команда запуска stdio-сервера, а --base, --user, --password это её аргументы. Флаг --transport stdio задаёт транспорт явно, как в официальных примерах Claude Code (для локального процесса stdio и так используется по умолчанию). По умолчанию запись попадает в локальную область видимости (только текущий проект).

Пошагово установка выглядит так:

Шаг Команда или действие Результат
1 Скачать бинарник из личного кабинета исполняемый файл нужной редакции
2 claude mcp add --transport stdio mcp-1c -- /usr/local/bin/mcp-1c-advanced --base ... --user ... --password ... сервер зарегистрирован
3 claude mcp list и claude mcp get mcp-1c сервер виден, статус подключения
4 /mcp в сессии Claude Code панель показывает сервер и число инструментов
5 Запрос «какие инструменты mcp-1c доступны» ассистент перечисляет инструменты

Куда Claude Code сохраняет запись о сервере?

За место хранения отвечает флаг --scope. Значение по умолчанию это local.

Область Где хранится Загружается в Шарится с командой
local (по умолчанию) ~/.claude.json текущий проект нет
project .mcp.json в корне проекта текущий проект да (через систему контроля версий)
user ~/.claude.json все ваши проекты нет

В старых версиях local назывался project, а user назывался global. Для общей с командой записи добавьте --scope project, для доступа из всех проектов --scope user.

Как описать сервер в .mcp.json или через add-json?

Для проектной области (--scope project) Claude Code хранит сервер в файле .mcp.json в корне проекта. Формат stdio-сервера использует поля command, args, env; в JSON у локального сервера тип stdio.

{
  "mcpServers": {
    "mcp-1c": {
      "command": "/usr/local/bin/mcp-1c-advanced",
      "args": [
        "--base", "acc=http://localhost:8080/hs/mcp-1c",
        "--user", "Администратор",
        "--password", ""
      ],
      "env": {}
    }
  }
}

JSON можно добавить и напрямую командой claude mcp add-json <name> '<json>'. Тот же сервер описывается одной строкой: claude mcp add-json mcp-1c '{"type":"stdio","command":"/usr/local/bin/mcp-1c-advanced","args":["--base","acc=http://localhost:8080/hs/mcp-1c","--user","Администратор","--password",""],"env":{}}'.

Какие флаги запуска у бинарника MCP-1C?

Флаги после -- управляют подключением к базе 1С. Большинство дублируется переменными окружения.

Флаг Назначение Env
--base <URL> URL HTTP-сервиса 1С (режим одной базы) MCP_1C_BASE_URL
--base NAME=URL именованная база, флаг повторяется (мультибаза) -
--user пользователь сервиса MCP_1C_USER
--password пароль MCP_1C_PASSWORD
--auth NAME=USER:PASS учётка именованной базы -
--cache-dir каталог кэша индекса MCP_1C_CACHE_DIR

Флаг --base по умолчанию указывает на http://localhost:8080/hs/mcp-1c. Флаги --user и --password авторизуют доступ к этому HTTP-сервису.

Как подключить несколько баз 1С?

В Расширенной и Профессиональной редакциях флаг --base принимает форму NAME=URL и повторяется (одиночный URL без имени тоже допустим для режима одной базы). Учётные данные для каждой именованной базы задаются повторяемым флагом --auth NAME=USER:PASS. База по умолчанию задаётся флагом --default-base <NAME>; если его не указать, используется первая в списке --base.

{
  "mcpServers": {
    "mcp-1c": {
      "command": "/usr/local/bin/mcp-1c-advanced",
      "args": [
        "--base", "dev=http://localhost:8080/hs/mcp-1c",
        "--base", "prod=http://prod-server:8080/erp/hs/mcp-1c",
        "--auth", "dev=Администратор:",
        "--auth", "prod=Администратор:",
        "--default-base", "dev"
      ],
      "env": {}
    }
  }
}

В запросе к Claude базу можно назвать явно, например: посмотри метаданные документа Реализация в базе prod.

Что происходит при первом запуске?

Старт неблокирующий: сервер отвечает на подключение сразу, а поисковый индекс строится в фоне. Пока индекс ещё не готов, поиск по коду и чтение модулей возвращают сообщение «Идёт построение индекса базы, повторите запрос через несколько секунд». Индекс кэшируется на диске (по умолчанию в системном каталоге кэша ОС, путь переопределяется флагом --cache-dir или переменной MCP_1C_CACHE_DIR), поэтому последующие запуски проходят практически мгновенно.

Как включить инструменты Профессиональной редакции с LLM?

Часть инструментов Профессиональной редакции (автогенерация документации, генерация тестов, навигация по типовым конфигурациям) внутри обращается к внешней LLM. Эти инструменты есть только в бинарнике mcp-1c-pro: на mcp-1c-advanced они недоступны, и одни лишь переменные окружения их не включают. Поддерживаются провайдеры YandexGPT (YANDEXGPT_API_KEY, YANDEXGPT_FOLDER_ID) и GigaChat (GIGACHAT_CLIENT_ID, GIGACHAT_CLIENT_SECRET).

Переменные окружения задаются флагом --env до разделителя --. Флаг принимает несколько пар KEY=value; имя сервера ставьте после остальных флагов (--transport, --scope), как в официальном примере, чтобы --env не захватил его как очередную пару KEY=value. Официальный пример из документации Claude Code: claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable -- npx -y airtable-mcp-server.

claude mcp add --env YANDEXGPT_API_KEY=AQVN... --env YANDEXGPT_FOLDER_ID=b1g... \
  --scope user mcp-1c -- /usr/local/bin/mcp-1c-pro \
  --base "acc=http://localhost:8080/hs/mcp-1c" --user Администратор --password ""

Базовые инструменты (поиск, метаданные, оптимизатор запросов) от LLM не зависят и работают всегда.

Как работает режим длинного опроса poll://?

Если вместо прямого HTTP используется длинный опрос, в --base указывается схема poll:// в форме NAME=poll://, и при этом обязателен флаг --listen <addr> (например :9090). Флаг --listen поднимает HTTP-сервер, к которому расширение 1С подключается за задачами: 1С сама опрашивает наш сервер через регламентное задание, а не наоборот. Один stdio-процесс при этом обслуживает и MCP-клиент Claude Code, и HTTP-сервер для 1С.

Как проверить, что MCP-1C подключился?

После добавления сервер проверяется тремя способами. В терминале:

claude mcp list          # список всех серверов
claude mcp get mcp-1c    # детали и статус одного сервера

Лишний сервер удаляется командой claude mcp remove mcp-1c. В сессии Claude Code выполните /mcp: панель проверяет статус серверов и показывает сервер mcp-1c с числом его инструментов. Затем можно спросить ассистента «какие инструменты mcp-1c доступны»: он перечислит зарегистрированные инструменты (code_read, code_search, code_analyze, bulk_analyze и далее, в зависимости от редакции и лицензии).

Команды CLI взяты дословно из официальной документации Claude Code (code.claude.com/docs/en/mcp), флаги бинарника проверены по нашей документации.

Что настроить дальше?

Полный список инструментов и параметров запуска есть в документации, общий обзор продукта и редакций на главной. Настройка других клиентов идёт по той же схеме, меняется только формат файла настроек: Claude Desktop и Cursor.