Стандарты 1С в ИИ-помощнике¶
Вы можете спросить у ИИ-помощника: «Почему в 1С не рекомендуют модальные окна?» и попросить его найти ответ в стандартах v8std.ru со ссылкой на правило. Для этого нужно один раз подключить к помощнику наш справочник.
Что такое ИИ и MCP¶
ИИ-помощник — программа, с которой можно общаться обычным текстом. Вы задаёте вопрос, она составляет ответ. Но помощник может ошибаться: даже уверенное объяснение стоит сверять с источником.
MCP — способ подключать к ИИ-помощнику внешние источники и инструменты. Через MCP v8std помощник может искать материалы этого сайта и читать найденные стандарты. Вам достаточно задавать вопросы в привычном чате.
Например, вы просите объяснить предупреждение о модальном окне. Помощник обращается к v8std, находит описание bslls:UsingModalWindows и связанный стандарт, затем объясняет правило и даёт ссылку для проверки.
Как подключить¶
Понадобится приложение с ИИ-помощником, которое поддерживает MCP. В его настройках найдите раздел MCP или подключения внешних инструментов и добавьте сервер:
- Название:
v8std. - Адрес:
https://ai.v8std.ru/mcp.
Это адрес для настроек помощника: отдельного чата при открытии в браузере нет. Способ добавления зависит от приложения; если оно просит конфигурационный файл вместо адреса, воспользуйтесь его инструкцией по подключению MCP.
После подключения убедитесь, что v8std включён. Если приложение попросит
разрешение обратиться к нему, подтвердите запрос, чтобы помощник мог найти материал.
Попробуйте первый вопрос¶
Скопируйте в чат:
Найди через v8std стандарт о модальных окнах в 1С. Объясни простыми словами, в чём проблема, и дай ссылку на стандарт.
Так же можно попросить найти правило по его номеру или объяснить предупреждение из проверки кода. Названия внутренних инструментов и специальные команды для этого знать не нужно.
Откройте ссылку из ответа и проверьте, подходит ли правило к вашей задаче. Если помощник отвечает без источника, попросите его обратиться к v8std и привести найденный материал.
MCP v8std возвращает справочные материалы. Сам сервис не изменяет ваш проект и не выполняет полную проверку кода. Он получает текст запросов, которые отправляет помощник, поэтому не передавайте в публичный сервис закрытый код и конфиденциальные данные.
Как запустить на своём компьютере¶
Есть два варианта: запустить только MCP или сайт вместе с MCP. В первом случае справочник скачивается с v8std.ru, а ссылки из ответов ведут на публичный сайт. Во втором — MCP берёт справочник из локального сайта, и материалы можно читать на своём компьютере.
Понадобится установленный и запущенный Docker с Docker Compose. Команды ниже рассчитаны на терминал macOS, Linux или WSL в Windows. Для скачивания образов нужен интернет; собирать проект из исходников не требуется.
Только MCP¶
Создайте папку v8std-mcp, а в ней файл compose.yaml.
Скопируйте в файл весь текст:
# Standalone MCP: downloads the public index and keeps it in a persistent volume.
services:
mcp:
image: ${V8STD_MCP_IMAGE:-ghcr.io/zeegin/v8std-mcp:stable}
user: "10001:10001"
read_only: true
init: true
cap_drop: [ALL]
security_opt: [no-new-privileges:true]
tmpfs: ["/tmp:rw,noexec,nosuid,size=64m,uid=10001,gid=10001"]
mem_limit: 1536m
cpus: 2
pids_limit: 128
volumes: [mcp-cache:/var/lib/v8std-mcp]
environment:
V8STD_MCP_SITE_URL: "${V8STD_MCP_SITE_URL:-https://v8std.ru/}"
V8STD_MCP_MAX_SNIPPET_CHARS: "${V8STD_MCP_MAX_SNIPPET_CHARS:-4000}"
command: [--transport, streamable-http, --host, 0.0.0.0, --port, "8000"]
ports:
- "127.0.0.1:${V8STD_MCP_PORT:-18766}:8000"
healthcheck:
test: [CMD, python, -c, "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/healthz', timeout=2)"]
interval: 10s
timeout: 3s
start_period: 90s
retries: 3
volumes:
mcp-cache:
Откройте терминал в этой папке и запустите MCP:
При первом запуске MCP скачает поисковый индекс — подготовленный справочник для поиска по стандартам. Он сохранится в Docker-томе и будет использоваться при следующих запусках. Для получения обновлений справочника нужен доступ к v8std.ru и ai.v8std.ru.
Дождитесь состояния healthy у MCP. Если он не готов, посмотрите сообщения:
docker compose logs mcp.
В настройках ИИ-помощника укажите адрес http://127.0.0.1:18766/mcp
и способ подключения Streamable HTTP.
Чтобы остановить MCP, выполните в той же папке docker compose down.
Для повторного запуска — docker compose up -d. Скачанный индекс сохранится.
Сайт и MCP¶
Docker Compose запускает оба контейнера и соединяет их между собой. MCP получает индекс из контейнера сайта; обращаться за ним к публичному серверу не нужно. После скачивания образов сайт и MCP могут работать без интернета.
Если вы уже запустили отдельный MCP, сначала выполните docker compose down
в его папке. Оба варианта используют один порт.
Создайте отдельную папку v8std-local, а в ней файл compose.yaml.
Скопируйте в файл весь текст:
# Release distribution: ready site and MCP images.
# Both overrides must identify an actually published release or a local test image.
services:
site:
image: ${V8STD_SITE_IMAGE:?Set the verified ghcr.io/zeegin/v8std-site tag or digest}
user: "10001:10001"
read_only: true
init: true
cap_drop: [ALL]
security_opt: [no-new-privileges:true]
tmpfs: ["/tmp:rw,noexec,nosuid,size=32m,uid=10001,gid=10001"]
mem_limit: 128m
cpus: 0.5
# The image listens on 8000 by default; changing the common port needs
# only a temporary nginx config, leaving the image/root read-only.
entrypoint: [/bin/sh, -ec]
command:
- 'sed "s/listen 8000;/listen ${V8STD_SITE_PORT:-18765};/" /etc/nginx/nginx.conf > /tmp/site.conf; exec nginx -c /tmp/site.conf -g "daemon off;"'
ports:
- "127.0.0.1:${V8STD_SITE_PORT:-18765}:${V8STD_SITE_PORT:-18765}"
- "127.0.0.1:${V8STD_MCP_PORT:-18766}:8001"
networks:
corpus:
aliases: [v8std.localhost]
publish: {}
mcp:
image: ${V8STD_MCP_IMAGE:?Set the verified ghcr.io/zeegin/v8std-mcp tag or digest}
profiles: [mcp]
user: "10001:10001"
read_only: true
init: true
cap_drop: [ALL]
security_opt: [no-new-privileges:true]
tmpfs: ["/tmp:rw,noexec,nosuid,size=64m,uid=10001,gid=10001"]
mem_limit: 1536m
cpus: 2
pids_limit: 128
volumes: [mcp-cache:/var/lib/v8std-mcp]
environment:
V8STD_MCP_SITE_URL: "${V8STD_MCP_SITE_URL:-http://v8std.localhost:${V8STD_SITE_PORT:-18765}${V8STD_SITE_PREFIX:-/}}"
V8STD_MCP_MAX_SNIPPET_CHARS: "${V8STD_MCP_MAX_SNIPPET_CHARS:-4000}"
command: [--transport, streamable-http, --host, 0.0.0.0, --port, "8000"]
# Host HTTP goes through the site's loopback proxy; MCP has no egress route.
networks: [corpus]
depends_on: [site]
healthcheck:
test: [CMD, python, -c, "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/healthz', timeout=2)"]
interval: 10s
timeout: 3s
start_period: 90s
retries: 3
volumes:
mcp-cache:
networks:
corpus:
internal: true
publish: {}
Рядом создайте файл .env со следующим содержимым.
Оба образа взяты из одного опубликованного выпуска:
V8STD_SITE_IMAGE=ghcr.io/zeegin/v8std-site:sha-58fff9f7cce57e98c884e01eded360236cfa47ee
V8STD_MCP_IMAGE=ghcr.io/zeegin/v8std-mcp:sha-58fff9f7cce57e98c884e01eded360236cfa47ee
Откройте терминал в папке v8std-local и запустите контейнеры:
Дождитесь состояния healthy у MCP. Если он не готов, посмотрите сообщения:
docker compose --profile mcp logs mcp.
- Сайт в браузере: http://v8std.localhost:18765/.
- Адрес MCP для ИИ-помощника:
http://127.0.0.1:18766/mcp. - Способ подключения: Streamable HTTP.
Чтобы остановить сайт и MCP, выполните в той же папке:
Скачанный индекс останется в Docker-томе. Для повторного запуска используйте
docker compose --profile mcp up -d. В этом варианте версия справочника
определяется выбранным образом сайта.
Что подключается к локальному MCP¶
Адрес 127.0.0.1 доступен приложениям на вашем компьютере. Облачный помощник,
который подключается к MCP со своего сервера, не сможет использовать этот адрес.
Приведённые команды не открывают доступ к контейнерам из внешней сети.
Локальный MCP выполняет поиск на вашем компьютере, но сам ИИ-помощник может отправлять переписку своему облачному провайдеру. Его подключение и правила обработки данных настраиваются отдельно.