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

99 lines
7.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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:55:45.780Z
messages: 5
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 симв.)
Ещё интереснее: `api.netbird.io` = **85.9.201.14** (тот самый signal-IP, который с server1c **доступен** = True) и второй A-record 85.9.206.109. То есть **IP управляющего сервера с server1c достижим — ломается только резолв имени `api.netbird.io`**. Чистый DNS-блок netbird.io (типично для RU-VDS — NetBird режут на резолвере провайдера).
Один решающий тест на **Server1C** — отрезолвит ли имя публичный резолвер напрямую (это выбирает между двумя фиксами):
```powershell
"google default = " + (
---
*Автосохранено из session [`82322c3d`](file:///Users/ai/.claude/projects/-Users-ai-knowledge-base/82322c3d-138c-4501-99f0-ad8b8411d0fd.jsonl) — 5 сообщ., тулы: AskUserQuestion, Bash, Read, TaskCreate, TaskUpdate, ToolSearch*