conf-doc: semantic search over a 1C configuration

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

An MCP server for Cursor with a web UI: indexes a 1C configuration's export once on the server and gives an agent semantic search over the documentation

  • 6 ★ on the repository
  • Last commit
  • MIT
MCP server

Extended access

Why this level

  • A Docker web server indexes the configuration XML dump into SQLite and FAISS
  • The MCP client talks to its HTTP API, which has no built-in auth
All reasons and checks
Russian stack

gybson63/1c-conf-doc

Install

Manual install

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

Brings up the backend with the API and local embeddings.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • A Docker web server indexes the configuration XML dump into SQLite and FAISS
  • The MCP client talks to its HTTP API, which has no built-in auth

This is third-party code. Review the repository files before installing.

What it does

The server parses a standard Configurator export-to-files output (catalogs, documents, enums, registers) and builds markdown documentation, a structural SQLite index and a FAISS vector index from it. Indexing happens once through the web UI or the CLI, and Cursor connects a thin stdio MCP client, conf-doc mcp, which has no direct access to the export files, only to the HTTP API. The agent gets tools for semantic search, reading an object's card, and a specific reference fragment. Search runs by default on local sentence_transformers embeddings with no keys or network calls; it can be switched to an OpenAI-compatible embedding API for better quality. A separate optional RAG layer via conf_doc_query answers the whole question if an LLM provider (Ollama or OpenAI) is configured on the server; it's off by default.

Who it is for. For 1C developers in Cursor who want fast semantic search over a large configuration without manually browsing the XML export.

Good fit when

  • You want to quickly find the right object or attribute by the meaning of a question, not by exact name
  • You want one indexed server that serves several agents and several configurations at once
  • You want local search with no keys and no code sent to external services

Not a fit when

  • There's no Configurator export-to-files XML, only a file-based or server infobase without an export
  • The web UI port can't be closed off from outside access: the README explicitly warns not to expose it without a reverse proxy and authentication
  • You need to search roles semantically: the README separately notes that roles don't go into FAISS, only exact rights-based search is available for them

Example request

Find where the Leave document's attributes are stored in the configuration, and show the full reference text

MCP

Transport
stdio
Authentication
not required

Environment variables

CONF_DOC_API_URL required
Base URL of the HTTP API the MCP client bridges to.
CONF_DOC_CONFIGURATION
Default configuration name when several are stored.
CONF_DOC_API_TIMEOUT
HTTP request timeout in seconds, defaulting to 60.

Limitations

The web UI and HTTP API have no built-in authentication; the README explicitly warns against exposing the port externally without a reverse proxy. The /query RAG endpoint is off by default (llm.provider: none) and returns HTTP 503 until Ollama or OpenAI is explicitly configured on the server. Switching to API embeddings changes the vector dimension and requires a full index rebuild. The same author maintains a related OData bot project (1c-odata-skill) where conf-doc is used as one component, so some logic may overlap.

How to disable. Stop the container with docker compose down and remove the conf-doc mcp block from .cursor/mcp.json.

FAQ

Is an LLM needed for basic search?

No, semantic search runs on embeddings and works without an LLM; a language model is only needed for the optional /query RAG endpoint.

Can search work with no network and no API key?

Yes, the Docker build defaults to a local sentence_transformers embedding model, downloaded once into the model-cache volume.

Discussion

No questions or reviews yet.

Russian stack

An MCP server for Cursor and Claude Desktop with hybrid embeddings and BM25 search over 1C platform help, the query language and the standard subsystems library

MCP serverExtended access7Repository stars

1C configuration graph MCP server

1C Configuration MCP Server

Russian stack

An MCP server builds a metadata and call graph from a 1C configuration's XML and BSL export, with optional semantic search via an external embedder and Qdrant

MCP serverExtended access4Repository stars
Russian stack

A local MCP server for semantic search over an exported 1C configuration, with a choice of embedding model and vector database

MCP serverExtended access11Repository stars
Russian stack

A local OneScript MCP server for searching a 1C configuration dump right from Cursor

MCP serverExtended access18Repository stars
Russian stack

An MCP server for Claude Code: full-text search over multiple 1C XML+BSL configuration exports in a local SQLite FTS5 database

MCP serverExtended access

README in short

The README describes in detail a Docker quick start with local indexing via the web UI, a full list of seven MCP tools and environment variables, an HTTP API with configuration and job management endpoints, a separate section on the difference between embedding-based search and optional LLM-backed RAG, a comparison of local versus API embedding providers, the output/ structure with XML, markdown, FAISS and SQLite stores, and a mention of the project's conf-doc-search skill for the Cursor Agent.

README badge

Report a problem