Skip to main content
Glama

1confdb-knw — MCP-сервер «база знаний конфигурации 1С:Предприятие 8»

В первую очередь это MCP-сервер для LLM (Claude Code, Qwen Code, Cursor и др.): 41 read-only инструмент поверх базы знаний SQLite о конфигурации 1С — объекты метаданных, реквизиты с разрешёнными типами, табличные части, модули BSL с разбором до методов, права ролей с RLS, запросы СКД, пакеты XDTO. Сервер самоописываемый: схема базы, глоссарий 1С и рекомендуемый порядок работы отдаются в initialize.instructions — модель пользуется им без внешнего контекста. Опционально подключается синтакс-помощник платформы — встроенная документация 1С (~25 300 тем: методы стандартной библиотеки, типы, доступность по платформам), инструменты syntax_*.

В комплекте — экстрактор confdb, который строит такую базу из файла конфигурации (.cf/.cfe/.epf) без платформы 1С либо из выгрузки конфигурации в файлы (каталог конфигуратора). Только распаковка и разбор, обратной сборки нет; алгоритм распаковки портирован из v8unpack (MIT, см. NOTICE.md).

Возможности

MCP-сервер (1confdb-knw.bat out.db — stdio, --port 8765 — HTTP):

  • объекты: find_objects, object_card (паспорт: реквизиты, ТЧ, модули, формы, команды, ссылки; у регистров — измерения/ресурсы/периодичность), object_tree, find_field, refs_of (кто ссылается на объект);

  • код BSL: module_outline, get_method, find_methods (по имени, сигнатуре и текстам тел — с номерами строк), method_dependencies (что использует метод), find_method_context, method_result_schema;

  • права ролей: role_rights, object_rights — явные (sparse) права, цели до реквизита/ТЧ, тексты и шаблоны RLS;

  • запросы и синтаксис: check_query (валидатор языка запросов 1С), check_syntax (проверка BSL встроенным парсером — без платформы и Java; semantic=True добавляет семантические проверки по базе), skd_of/find_skd (запросы СКД макетов);

  • XDTO: xdto_of, find_xdto;

  • синтакс-помощник платформы (--syntax-db syntax.db): syntax_search (нечёткий поиск по документации 1С — RU/EN имена, части слов, опечатки), syntax_card (карточка темы: сигнатуры, параметры с типами, доступность сервер/клиент/веб/мобильный, описание, пример), syntax_children (дерево тем) — что даёт САМА платформа, в отличие от базы конфигурации;

  • несколько баз и группы конфигураций одновременно (основная конфигурация

    • расширения + обработки; веерные запросы db='*', group='*' — ответ секциями по базам), compare_object (различия объекта в двух базах), extension_diff (что делает расширение);

  • страничный поиск (limit/offset, итог и следующее смещение в ответе);

  • sql — только SELECT: сервер read-only по построению.

Экстрактор и база знаний:

  • сборка из .cf/.cfe/.epf и из выгрузки конфигурации в файлы — одна схема (ревизия 9), значения путей/типов/code_name совместимы между базами обоих видов, все инструменты работают с ними одинаково;

  • инкрементальное обновление confdb update: LLM или разработчик правит файлы выгрузки — база догоняет за секунды (гранула = объект со всем деревом, stat-обход + SHA-256 изменённых файлов);

  • запущенный MCP-сервер останавливать не нужно: база из выгрузки в WAL, сервер подхватывает обновление сам (hot reload по PRAGMA data_version), FTS-индекс пересобирается поколениями шардов, не блокируя читателей;

  • FTS5-индекс по телам методов (<база>.fts\ — приставные файлы, поиск по текстам в ~100 раз быстрее полного прохода);

  • confdb check — прогон всех СКД-запросов базы через встроенный валидатор (синтаксис + существование таблиц/полей по метаданным);

  • confdb hbk — синтакс-помощник платформы: распаковка файлов справки .hbk (собственный распаковщик — стандартный zipfile их не читает) и сборка syntax.db (~25 300 тем: типы, методы глобального контекста, поля системных таблиц — сигнатуры, параметры, доступность, FTS5-поиск); те же данные отдаёт MCP-сервер через инструменты syntax_*;

  • консольный интерфейс confdb-ui.bat — запуск сервера с базами и группами, извлечение, опции и бенчмарк в одном меню;

  • confdb bench — подбор числа процессов разбора под железо (сохраняется в ~/.confdb/config.json и подставляется в extract по умолчанию).

Related MCP server: 1C MCP Server

Установка

Windows, Python 3.9+, только стандартная библиотека:

git clone https://github.com/Zom31C/1confdb-knw.git
cd 1confdb-knw
setup.bat      :: создаёт .venv и ставит пакет (консольные скрипты confdb, 1confdb-knw)
test.bat       :: (необязательно) прогон тестов — нужен pytest

Вручную: python -m venv .venv, затем .venv\Scripts\python.exe -m pip install -e .

Быстрый старт

:: 1. Собрать базу знаний (повторный запуск того же файла отсекается по SHA-256)
confdb.bat extract config.cf --db out.db --workers 8     :: из файла конфигурации
confdb.bat extract cf\БП_РФ --db bp.db --workers 8       :: из каталога выгрузки
confdb.bat update cf\БП_РФ --db bp.db                    :: инкремент после правок

:: 2. (необязательно) Собрать базу синтакс-помощника платформы из .hbk
confdb.bat hbk unpack shcntx_ru.hbk -o extracted         :: распаковка справки
confdb.bat hbk build extracted --db syntax.db            :: сборка (~25 тыс. тем)

:: 3. Запустить MCP-сервер
1confdb-knw.bat out.db                                   :: stdio
1confdb-knw.bat out.db --port 8765                       :: HTTP
1confdb-knw.bat --group УНФ=unf.db --group БП=bp.db      :: несколько групп баз
1confdb-knw.bat out.db --syntax-db syntax.db             :: + синтакс-помощник

Конфигурация MCP-клиента (stdio, в т.ч. через SSH):

{
  "mcpServers": {
    "1confdb-knw": {
      "command": "ssh",
      "args": ["user@host", "python", "-m", "confdb", "1confdb-knw",
               "/path/out.db"]
    }
  }
}

По сети (сервер с --port 8765, туннель ssh -L 8765:127.0.0.1:8765 user@host):

{ "mcpServers": { "1confdb-knw": { "url": "http://127.0.0.1:8765/mcp" } } }

Команды

confdb extract <file.cf|каталог> --db out.db  :: сборка (--force, --no-fts,
                                              ::  --skip-errors, --workers N)
confdb update <каталог> --db out.db           :: инкремент; безопасно при
                                              ::  запущенном MCP-сервере
confdb check out.db                           :: валидация всех СКД-запросов
confdb fts out.db --workers 8                 :: достроить индекс по телам
confdb bench file.cf                          :: автонастройка workers
confdb hbk unpack <file.hbk> -o DIR           :: распаковка справки платформы
confdb hbk build DIR --db syntax.db           :: сборка базы синтакс-помощника
confdb hbk search|show|tree|repl|check …      :: запросы к ней и контроль
confdb-ui                                     :: консольный интерфейс
1confdb-knw out.db [--port N] [--group ИМЯ=db]… [--syntax-db syntax.db]
                                              :: MCP-сервер

База данных

SQLite, ревизия схемы 9 (PRAGMA user_version) — сервер отвечает только на базы своей ревизии. Таблицы: source, meta_object/meta_attribute/ meta_tabular, attribute_ref, module/method, enum_value, predefined (+predefined_subconto), common_target, subsystem_content, skd_query, role_right/role_rls_template/role_rights_state, xdto_import/ xdto_type/xdto_property, file; у базы из выгрузки — dump_state/ dump_file (состояние файлов для инкремента).

Документация

  • docs/details.md — подробности: база из выгрузки в файлы (что извлекается, инкремент, hot reload, отличия от cf-базы), инструменты сервера и пагинация, несколько баз и группы, сетевой режим, синтакс-помощник платформы (.hbk → syntax.db), все опции extract, бенчмарк, схема базы данных по колонкам, состав модулей;

  • AGENTS.md — памятка LLM-агентам, работающим с кодом проекта;

  • NOTICE.md — атрибуция v8unpack.

Требования

  • Python 3.9+, только стандартная библиотека (pytest — единственная dev-зависимость);

  • Windows (.bat-обёртки в корне); интерфейс и документация на русском.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      An MCP server for 1C:Enterprise that provides AI assistants with access to configuration data via vector search, structural indexing, and call graphs. It enables semantic code queries and rapid metadata object lookups without requiring the direct reading of raw files.
      79
      AGPL 3.0
    • F
      license
      Not graded
      quality
      D
      maintenance
      Acts as a bridge between AI agents (Claude, Cursor) and 1C:Enterprise databases, enabling metadata retrieval, configuration analysis, and code generation through natural language using the MCP protocol.
      -
    • F
      license
      Not graded
      quality
      B
      maintenance
      MCP server for searching and analyzing 1C enterprise metadata and BSL code using a SQLite backend. Enables querying configuration structure, code routines, and performing compliance checks via natural language.
      -