7.4 KiB
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-20T20:40:57.907Z | 11 |
|
|
Задача: развернуть на постоянной основе 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. РАЗВЕДКА (делай сам, ничего не меняя)
- Подтверди, что ты на macOS.
- Определи, как ты дотягиваешься до Бужарово: есть ли SSH-доступ к Windows-серверу (проверь ~/.ssh/config, known_hosts; если непонятно — спроси меня). Узнай NetBird-адрес/хостнейм Бужарово.
- Проверь, не опубликован ли уже HTTP-сервис: curl по ожидаемому адресу вида http://<хост>/<публикация>/hs/mcp-1c .
- Выясни версию платформы 1С (нужна 8.3.10+).
- Покажи мне итог разведки и предложи план, прежде чем продолжать.
ЭТАП 2. КЛИЕНТСКАЯ ЧАСТЬ НА МАКЕ (делай сам)
- Скачай актуальную сборку mcp-1c для macOS из latest-релиза на GitHub в стабильный путь (например ~/.local/bin/mcp-1c), chmod +x.
- Проверь, что бинарник запускается (--help / версия).
ЭТАП 3. ПОДГОТОВКА НА СЕРВЕРЕ БУЖАРОВО (ПОДГОТОВЬ → ПОДТВЕРДИ → ВЫПОЛНИ) Эти шаги выполняются на Windows-сервере и меняют прод. Если у тебя есть SSH к Бужарово — подготовь команды и выполни ТОЛЬКО после моего подтверждения. Если удалённого доступа нет — выведи команды мне, я выполню на сервере сам.
- Пользователь 1С только для чтения (mcp_ro) с правами на чтение нужных объектов (документы отчётов о розничных продажах, регистры продаж, справочники номенклатуры и цен). Если это удобнее сделать руками в Конфигураторе — так и скажи.
- Установка расширения mcp-1c в базу (клиент-серверный режим): mcp-1c.exe --install "СЕРВЕР_1С\имя_базы" --server --db-user <админ_базы> --db-password <пароль> Предупреди меня, что это обновит конфигурацию БД через DESIGNER и на живой базе может упасть на блокировках — выполнять, когда нет активных сессий / в окно обслуживания.
- Публикация HTTP-сервиса через IIS (постоянная, не /HTTPPort).
ЭТАП 4. ПОДКЛЮЧЕНИЕ MCP-КЛИЕНТА (делай сам)
- Зарегистрируй сервер: 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.
- Убедись, что файл конфига с паролем не доступен на чтение всем (выстави права 600, если применимо).
ЭТАП 5. ПРОВЕРКА END-TO-END (делай сам)
- Обнови подключение MCP и вызови инструмент только на чтение (get_configuration_info, затем get_metadata_tree) — убедись, что видишь конфигурацию.
- Прогони тривиальный execute_query (например ВЫБРАТЬ ПЕРВЫЕ 1 ...), чтобы подтвердить доступ к данным под mcp_ro.
- Отчитайся: что получилось, какие инструменты доступны, что (если что-то) осталось сделать мне руками.
Итог (последний ответ Claude, до 500 симв.)
Клиент запущен в твоей сессии (session 8), отвечает, но порт 8080 не поднял — окно открылось, но HTTP-сервер не стартовал. Заголовок окна пустой → похоже, 1С висит на стартовом диалоге (или в этой сборке /HTTPPort игнорируется).
Посмотри на открытое окно 1С — что там?
- login-диалог «выберите пользователя» → креды не подошли;
- какое-то сообщение/предупреждение, начальная страница → надо кликнуть, тогда сервер поднимется;
- нормальное главное окно базы (всё открылось) → значит `/HTTPP
Автосохранено из session 82322c3d — 11 сообщ., тулы: AskUserQuestion, Bash, Read, TaskCreate, TaskUpdate, ToolSearch