99 lines
7.3 KiB
Markdown
99 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:49:54.768Z
|
||
messages: 3
|
||
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 симв.)
|
||
|
||
Пир всё ещё **Connecting**, и ключевое — `Last connection update` так и висит **10 ч назад** (не обновляется), handshake `-`, ping/5985 мимо. Если бы агент на server1c реально вышел на связь, Mac получил бы свежий апдейт пира за секунды. Значит служба-то стартовала, но **сам агент не залогинился в NetBird** (management/signal не подхватились — частая история: протухла сессия/ключ).
|
||
|
||
Запусти на **Server1C** и покажи мне верхушку вывода:
|
||
|
||
```powershell
|
||
& 'C:\Program Files\NetBird\netbird.exe' stat
|
||
|
||
---
|
||
*Автосохранено из session [`82322c3d`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/82322c3d-138c-4501-99f0-ad8b8411d0fd.jsonl) — 3 сообщ., тулы: AskUserQuestion, Bash, Read, TaskCreate, TaskUpdate, ToolSearch*
|