Files
knowledge-base/notes/claude/2026-06-20-225303-задача-развернуть-на-постоянной-основе-mcp-сервер-.md
2026-06-23 13:58:02 +03:00

7.3 KiB
Raw Permalink Blame History

date, type, session_id, started, ended, messages, tools, tags
date type session_id started ended messages tools tags
2026-06-20 claude-session 82322c3d-138c-4501-99f0-ad8b8411d0fd 2026-06-20T19:37:48.698Z 2026-06-20T19:53:03.527Z 4
AskUserQuestion
Bash
Read
TaskCreate
TaskUpdate
ToolSearch
claude
session

Задача: развернуть на постоянной основе MCP-сервер mcp-1c (feenlace/mcp-1c)

Запрос

Задача: развернуть на постоянной основе MCP-сервер mcp-1c (feenlace/mcp-1c) так, чтобы ты (этот Claude Code) мог читать метаданные и выполнять запросы к базе 1С на сервере Бужарово.

КОНТЕКСТ

  • Бужарово: Windows Server, 1С на клиент-серверной базе (MSSQL). Сервер доступен по сети NetBird.
  • Этот Mac — клиент. Ты работаешь с него.
  • mcp-1c — это stdio-сервер: тебя как подпроцесс запускает MCP-клиент. НЕ создавай launchd-демон и никакой постоянно висящий процесс на Маке.
  • В открытой версии execute_query работает только на чтение (SELECT/ВЫБРАТЬ).

ОБЩИЕ ПРАВИЛА

  • Реальные пароли (СУБД, пользователь HTTP-сервиса) не хардкодь в файлы. Спрашивай их у меня в рантайме или читай из переменных окружения.
  • HTTP-сервис 1С не должен торчать в интернет — только в сеть NetBird, на веб-сервере ограничить доступ по подсети + Basic Auth.
  • Перед ЛЮБОЙ операцией, меняющей что-то на сервере Бужарово или в боевой базе (установка расширения / обновление конфигурации БД / публикация сервиса / создание пользователя), ОСТАНОВИСЬ, покажи мне точные команды и дождись явного подтверждения. Всё остальное делай сам, без остановок.

ЭТАП 1. РАЗВЕДКА (делай сам, ничего не меняя)

  1. Подтверди, что ты на macOS.
  2. Определи, как ты дотягиваешься до Бужарово: есть ли SSH-доступ к Windows-серверу (проверь ~/.ssh/config, known_hosts; если непонятно — спроси меня). Узнай NetBird-адрес/хостнейм Бужарово.
  3. Проверь, не опубликован ли уже HTTP-сервис: curl по ожидаемому адресу вида http://<хост>/<публикация>/hs/mcp-1c .
  4. Выясни версию платформы 1С (нужна 8.3.10+).
  5. Покажи мне итог разведки и предложи план, прежде чем продолжать.

ЭТАП 2. КЛИЕНТСКАЯ ЧАСТЬ НА МАКЕ (делай сам)

  1. Скачай актуальную сборку mcp-1c для macOS из latest-релиза на GitHub в стабильный путь (например ~/.local/bin/mcp-1c), chmod +x.
  2. Проверь, что бинарник запускается (--help / версия).

ЭТАП 3. ПОДГОТОВКА НА СЕРВЕРЕ БУЖАРОВО (ПОДГОТОВЬ → ПОДТВЕРДИ → ВЫПОЛНИ) Эти шаги выполняются на Windows-сервере и меняют прод. Если у тебя есть SSH к Бужарово — подготовь команды и выполни ТОЛЬКО после моего подтверждения. Если удалённого доступа нет — выведи команды мне, я выполню на сервере сам.

  1. Пользователь 1С только для чтения (mcp_ro) с правами на чтение нужных объектов (документы отчётов о розничных продажах, регистры продаж, справочники номенклатуры и цен). Если это удобнее сделать руками в Конфигураторе — так и скажи.
  2. Установка расширения mcp-1c в базу (клиент-серверный режим): mcp-1c.exe --install "СЕРВЕР_1С\имя_базы" --server --db-user <админ_базы> --db-password <пароль> Предупреди меня, что это обновит конфигурацию БД через DESIGNER и на живой базе может упасть на блокировках — выполнять, когда нет активных сессий / в окно обслуживания.
  3. Публикация HTTP-сервиса через IIS (постоянная, не /HTTPPort).

ЭТАП 4. ПОДКЛЮЧЕНИЕ MCP-КЛИЕНТА (делай сам)

  1. Зарегистрируй сервер: claude mcp add 1c <путь-к-бинарнику> --env MCP_1C_BASE_URL=http://<netbird-хост>/<публикация>/hs/mcp-1c --env MCP_1C_USER=mcp_ro --env MCP_1C_PASSWORD=<пароль> Используй опубликованный адрес сервиса на Бужарово, НЕ localhost.
  2. Убедись, что файл конфига с паролем не доступен на чтение всем (выстави права 600, если применимо).

ЭТАП 5. ПРОВЕРКА END-TO-END (делай сам)

  1. Обнови подключение MCP и вызови инструмент только на чтение (get_configuration_info, затем get_metadata_tree) — убедись, что видишь конфигурацию.
  2. Прогони тривиальный execute_query (например ВЫБРАТЬ ПЕРВЫЕ 1 ...), чтобы подтвердить доступ к данным под mcp_ro.
  3. Отчитайся: что получилось, какие инструменты доступны, что (если что-то) осталось сделать мне руками.

Итог (последний ответ Claude, до 500 симв.)

Корень нашёлся: control-plane у вас — NetBird SaaS (api.netbird.io + signal 85.9.201.14:443). С Мака этот адрес доступен (порт 443 открыт), а с server1c — TCP-таймаут до него. То есть проблема не в NetBird и не в авторизации (ошибки чисто сетевые, keepalive/wsarecv timeout) — у server1c не проходит исходящее к инфраструктуре NetBird.

Надо локализовать: это блок именно на NetBird или вообще на внешку. Прогони на Server1C (всё read-only, прод не трогаем) и пришли вывод:

`


Автосохранено из session 82322c3d — 4 сообщ., тулы: AskUserQuestion, Bash, Read, TaskCreate, TaskUpdate, ToolSearch