102 lines
7.3 KiB
Markdown
102 lines
7.3 KiB
Markdown
---
|
||
date: 2026-06-20
|
||
type: claude-session
|
||
session_id: 82322c3d-138c-4501-99f0-ad8b8411d0fd
|
||
started: 2026-06-20T19:37:48.698Z
|
||
ended: 2026-06-20T19:47:36.875Z
|
||
messages: 2
|
||
tools: [AskUserQuestion, Bash, Read, TaskCreate, TaskUpdate, ToolSearch]
|
||
tags: [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 симв.)
|
||
|
||
Готово — **@bz_sl_bot замолчал**:
|
||
|
||
| Юнит | Было | Стало |
|
||
|---|---|---|
|
||
| `openclaw-gateway.service` (AI-бот) | active | **inactive** |
|
||
| `buzharovo-watchdog.timer` (алерты в TG каждые 60с) | active | **inactive** |
|
||
| `netbird-watchdog.timer` | active | оставил (чинит netbird только на самом LXC 139, не алертит) |
|
||
|
||
Остаточных процессов нет. Сделал `stop`, а не `disable` — юниты остались `enabled`, так что **ребут LXC 139 их вернёт** (в нашем окне маловероятно; если хочешь заглушить и через ребу
|
||
|
||
---
|
||
*Автосохранено из session [`82322c3d`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/82322c3d-138c-4501-99f0-ad8b8411d0fd.jsonl) — 2 сообщ., тулы: AskUserQuestion, Bash, Read, TaskCreate, TaskUpdate, ToolSearch*
|