Подключение 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.