1C Code Search MCP
A local MCP server for semantic search over an exported 1C configuration, with a choice of embedding model and vector database
- 11 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Runs a Python server with a web UI and downloads an embedding model from HuggingFace on first start
- The SSE endpoint on port 8000 has no auth if exposed to the network
Install
- Works in
- Services
Manual install
python install.pyInstall dependencies after cloning the repository.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Runs a Python server with a web UI and downloads an embedding model from HuggingFace on first start
- The SSE endpoint on port 8000 has no auth if exposed to the network
This is third-party code. Review the repository files before installing.
What it does
The server indexes an exported XML 1C configuration and lets you search code by meaning rather than exact text. It supports several infobases at once, each with its own embedding model and vector index. The default model is rubert-tiny2, but any HuggingFace or ONNX-compatible model can be used, and Qdrant, LanceDB or ChromaDB are available as the search backend. A web interface handles configuring the bases and indexing parameters, and the MCP itself is served over SSE, so it can be reached over the network, not just locally.
Who it is for. For 1C developers with large configurations who need an agent to find relevant code by meaning, not just exact text matches.
Good fit when
- The configuration is large and plain grep struggles to find the right code for an agent
- You need to keep several infobases with separate indexes
- You want a choice of local vector databases without an external cloud service
Not a fit when
- The configuration is small and plain file search is enough
- There is no file export of the configuration, only a file-based infobase
- You want a ready cloud service without local setup and indexing
Example request
Find the code in the Trade Management base that handles reserving stock in a warehouseMCP
- Transport
- sse
- Authentication
- not required
Limitations
The first run downloads and converts an embedding model to ONNX, which needs access to HuggingFace. Indexing is tuned through in-code constants (BATCH_SIZE, EMBED_BATCH_SIZE, CHUNK_SIZE), and changing the chunk size requires a full reindex. The project is small, and the README does not describe behavior under heavy code volumes or load limits. MIT license.
How to disable. Stop the code-search.py process and remove the server from your MCP client configuration.
FAQ
Can several configurations be connected at once?
Yes, config.yaml supports a list of infobases, each with its own source folder, index and embedding model.
Is Qdrant required?
No, lancedb or chromadb can be chosen instead through the vector_db field.
Discussion
No questions or reviews yet.
Related
All 1C:Enterprise toolsSemantic search over 1C platform help
1c-sntx-sem
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
A stdio MCP server that indexes a 1C structure XML export and code into SQLite and gives an agent search over objects and procedures
A local read-only MCP server for 1C code search on the Zoekt engine: fast lexical and regex search over your own configuration dumps
An MCP server for Claude Code: full-text search over multiple 1C XML+BSL configuration exports in a local SQLite FTS5 database
1C configuration graph MCP server
1C Configuration MCP Server
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
A read-only MCP service for hybrid 1C BSL code search: BM25 plus vector search, deduplication and reranking
README in short
The README describes a local Python MCP server for semantic search over 1C code, with a web UI on port 8000. It lists supported embedding models and vector engines, shows a config.yaml example with several bases, explains internal indexing performance constants, and gives ready connection snippets for Claude Desktop, Cursor and Kiro over SSE. MIT license.