# 1C MCP Toolkit Install Runbook (Windows, isolated env) Дата: 2026-03-22 ## Цель Поднять локальный `1c-mcp-toolkit` как read-only runtime-мост рядом с существующей 1С, без изменения операционного контура. ## Принятые ограничения - Только локальный/внутренний контур. - Только read-only инструменты (`get_metadata`, `execute_query`, `get_object_by_link` и др. на чтение). - `execute_code` в рабочем контуре не использовать. - `ALLOW_DANGEROUS_WITH_APPROVAL=false`. ## 1. Подготовка репозитория ```powershell git clone https://github.com/ROCTUP/1c-mcp-toolkit X:\1C\NDC_1C\external\1c-mcp-toolkit ``` Проверка ключевого артефакта: ```powershell Get-ChildItem X:\1C\NDC_1C\external\1c-mcp-toolkit\build ``` Ожидаемо: `MCP_Toolkit.epf` и `MCP_Toolkit_x86.epf`. ## 2. Изолированное окружение (Miniconda) ```powershell & 'C:\Users\DCTOUCH\miniconda3\Scripts\conda.exe' create -y -n ndc_1c_toolkit python=3.11 & 'C:\Users\DCTOUCH\miniconda3\envs\ndc_1c_toolkit\python.exe' -m pip install -r requirements.txt ``` Рабочая директория для установки: `X:\1C\NDC_1C\external\1c-mcp-toolkit`. ## 3. Безопасный запуск прокси Рекомендуемый запуск (PowerShell): ```powershell $env:PORT='6003' $env:TIMEOUT='180' $env:ALLOW_DANGEROUS_WITH_APPROVAL='false' $env:ANONYMIZATION_ENABLED='false' $env:RESPONSE_FORMAT='json' $env:LOG_LEVEL='INFO' & 'C:\Users\DCTOUCH\miniconda3\envs\ndc_1c_toolkit\python.exe' -m onec_mcp_toolkit_proxy ``` Ожидаемый endpoint: `http://localhost:6003` Проверка: ```powershell Invoke-WebRequest http://127.0.0.1:6003/health -UseBasicParsing ``` ## 4. Ручные шаги в 1С (manual required) 1. Открыть `X:\1C\NDC_1C\external\1c-mcp-toolkit\build\MCP_Toolkit.epf` в тестовой базе 1С. 2. Выбрать режим `Прокси`. 3. В поле адреса прокси указать `http://localhost:6003`. 4. Указать channel ID (рекомендуемо фиксированное значение, например `ndc-lab`). 5. Нажать `Подключиться`. 6. Убедиться, что статус в форме — `Подключено`. Важно: channel в 1С и в REST/MCP запросах должен совпадать. ## 5. Smoke-команды read-only Примеры (после подключения `.epf`): ```powershell Invoke-WebRequest "http://127.0.0.1:6003/api/get_metadata?channel=ndc-lab" -UseBasicParsing ``` ```powershell $body = @{ query = "ВЫБРАТЬ ПЕРВЫЕ 1 1 КАК Test"; limit = 1 } | ConvertTo-Json Invoke-WebRequest "http://127.0.0.1:6003/api/execute_query?channel=ndc-lab" -Method POST -ContentType "application/json; charset=utf-8" -Body $body -UseBasicParsing ``` ```powershell $body = @{ link = "e1cib/data/Справочник.Контрагенты?ref=80c6cc1a7e58902811ebcda8cb07c0f5" } | ConvertTo-Json Invoke-WebRequest "http://127.0.0.1:6003/api/get_object_by_link?channel=ndc-lab" -Method POST -ContentType "application/json; charset=utf-8" -Body $body -UseBasicParsing ``` ## 6. Остановка Если запуск был в текущем окне: - `Ctrl+C` Если запускался как background процесс: ```powershell Get-Process -Name python | Stop-Process -Force ``` ## 7. Что нельзя делать в этом проекте - Не использовать `execute_code`. - Не включать write/mutation-потоки. - Не выставлять endpoint в интернет. - Не менять конфигурацию продовой 1С ради PoC.