conf-doc: семантический поиск по конфигурации 1С

Документация из конфигурации 1С (conf-doc)

MCP-сервер для Cursor с веб-интерфейсом: индексирует выгрузку конфигурации 1С один раз на сервере и дает агенту семантический поиск по документации

  • 6 ★ репозитория
  • Последний коммит
  • MIT
MCP-сервер

Расширенный доступ

Почему такой уровень

  • В Docker работает веб-сервер, который индексирует XML-выгрузку конфигурации в SQLite и FAISS
  • MCP-клиент ходит к его HTTP API, у которого нет встроенной аутентификации
Все причины и проверки
Российский стек

gybson63/1c-conf-doc

Установка

Работает в

Ручная установка

copy config.docker.example.yaml config.yaml
docker compose build
docker compose up -d

Поднимает backend с API и локальными эмбеддингами.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • В Docker работает веб-сервер, который индексирует XML-выгрузку конфигурации в SQLite и FAISS
  • MCP-клиент ходит к его HTTP API, у которого нет встроенной аутентификации

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Сервер парсит стандартную выгрузку конфигуратора в файлы (справочники, документы, перечисления, регистры) и строит по ней markdown-документацию, структурный индекс в SQLite и векторный индекс FAISS. Индексация делается один раз через веб-интерфейс или CLI, а в Cursor подключается тонкий stdio MCP-клиент conf-doc mcp, у которого нет прямого доступа к файлам выгрузки, только к HTTP API. Агент получает инструменты семантического поиска, чтения карточки объекта и конкретного фрагмента справки. Поиск по умолчанию работает на локальных эмбеддингах sentence_transformers без ключей и сети, есть возможность переключиться на эмбеддинги OpenAI-совместимого API для лучшего качества. Отдельная опциональная надстройка RAG через conf_doc_query отвечает на вопрос целиком, если на сервере настроен провайдер LLM: Ollama или OpenAI, по умолчанию выключен.

Для кого. Для 1С-разработчиков в Cursor, которым нужен быстрый семантический поиск по большой конфигурации без ручного просмотра XML-выгрузки.

Подходит, если

  • Нужно быстро найти нужный объект или реквизит по смыслу вопроса, а не по точному имени
  • Нужен единый индексированный сервер, который обслуживает нескольких агентов и несколько конфигураций одновременно
  • Нужен локальный поиск без ключей и без отправки кода во внешние сервисы

Не подходит, если

  • Нет XML-выгрузки конфигуратора в файлы, только файловая или серверная ИБ без экспорта
  • Порт веб-интерфейса нельзя закрыть от внешнего доступа: README прямо предупреждает не открывать его наружу без reverse proxy и аутентификации
  • Роли конфигурации нужно искать семантически: README отдельно уточняет, что роли не попадают в FAISS, для них только точный поиск по правам

Пример запроса к агенту

Найди в конфигурации, где хранятся реквизиты документа Отпуск, и покажи полный текст справки

MCP

Транспорт
stdio
Авторизация
не нужна

Переменные окружения

CONF_DOC_API_URL обязательная
Базовый URL HTTP API, к которому мостится MCP-клиент.
CONF_DOC_CONFIGURATION
Имя конфигурации по умолчанию, если в базе несколько.
CONF_DOC_API_TIMEOUT
Таймаут HTTP-запросов в секундах, по умолчанию 60.

Ограничения

Веб-интерфейс и HTTP API не имеют встроенной аутентификации, README прямо предупреждает не открывать порт наружу без reverse proxy. RAG-эндпоинт /query по умолчанию выключен (llm.provider: none) и возвращает HTTP 503, пока на сервере явно не настроен Ollama или OpenAI. Переключение на API-эмбеддинги меняет размерность вектора и требует полной пересборки индекса. Тот же автор развивает смежный проект с ботом на OData (1c-odata-skill), где conf-doc используется как один из компонентов, так что часть логики может пересекаться.

Как отключить. Остановите контейнер командой docker compose down и удалите блок conf-doc mcp из .cursor/mcp.json.

Частые вопросы

Нужен ли LLM для базового поиска?

Нет, семантический поиск строится на эмбеддингах и работает без LLM, языковая модель нужна только опциональному RAG-эндпоинту /query.

Можно искать без сети и без API-ключа?

Да, Docker-сборка по умолчанию использует локальную модель эмбеддингов sentence_transformers, скачиваемую один раз в том model-cache.

Обсуждение

Вопросов и отзывов пока нет.

Российский стек

MCP-сервер для Cursor и Claude Desktop с гибридным поиском embeddings и BM25 по справке платформы 1С, языку запросов и Библиотеке стандартных подсистем

MCP-серверРасширенный доступ7Звезды репозитория
Российский стек

MCP-сервер строит граф метаданных и вызовов по XML- и BSL-выгрузке конфигурации 1С, с опциональным семантическим поиском через внешний эмбеддер и Qdrant

MCP-серверРасширенный доступ4Звезды репозитория
Российский стек

Локальный MCP-сервер для семантического поиска по выгруженной конфигурации 1С с выбором модели эмбеддингов и векторной БД

MCP-серверРасширенный доступ11Звезды репозитория
Российский стек

Локальный MCP-сервер на OneScript для поиска по выгрузке конфигурации 1С прямо из Cursor

MCP-серверРасширенный доступ18Звезды репозитория
Российский стек

MCP-сервер для Claude Code: полнотекстовый поиск по XML+BSL выгрузкам нескольких конфигураций 1С в локальной SQLite-базе с FTS5

MCP-серверРасширенный доступ

Из блога

Коротко о README

README подробно описывает быстрый старт с Docker и локальной индексацией через веб-UI, полный список из семи MCP-инструментов и переменных окружения, HTTP API с эндпоинтами управления конфигурациями и задачами, отдельный раздел про различие поиска на эмбеддингах и опционального RAG через LLM, сравнение локального и API-провайдера эмбеддингов, структуру output/ с хранилищами XML, markdown, FAISS и SQLite, и упоминание проектного скилла conf-doc-search для Cursor Agent.

Бейдж для README

Сообщить о проблеме