BSL Search MCP
A read-only MCP service for hybrid 1C BSL code search: BM25 plus vector search, deduplication and reranking
Low risk
We rate an entry low when it mostly gives the agent instructions and reference material.
Why this level
- All tools are marked read-only; the service never changes code or writes to Elasticsearch
Install
Manual install
cp .env.example .env
docker compose up -d --buildFill .env with the Elasticsearch, embedding and reranker service addresses, and MCP_AUTH_TOKEN if you use one.
This is third-party code. Review the repository files before installing.
What it does
The service gives an LLM search over a large corpus of real 1C code: configuration and BSP procedures and functions, plus its.1c.ru documentation and Habr articles. Search is hybrid, combining BM25 and vector kNN through Reciprocal Rank Fusion; near-duplicate methods are filtered by SimHash, and a separate reranker sets the final order. Three MCP tools with detailed descriptions for small models let you search by meaning with filters on BSP, repository, module type and directive, fetch a method's full body by ID, and search by exact signature. The architecture is mcp-server, search-api, Elasticsearch, an embedding service and a reranker, brought up with Docker Compose.
Who it is for. For 1C developers and teams giving an agent context over a large BSL codebase.
Good fit when
- You need to search 1C and BSP code by meaning rather than exact text
- You need real code context for small models with verbose tool descriptions
- It matters that the service is strictly read-only and cannot change the index or code
Not a fit when
- You cannot run Elasticsearch plus embedding and reranker services in your infrastructure
- You only need search over your small configuration, not the BSP and documentation corpus
- You need code writing or quality analysis, not just search
Example request
Find similar document-posting methods in 1C code, filtered to BSPLimitations
It runs through Docker Compose with several services: Elasticsearch, embedding and reranker. The corpus is built by the author from open code and public sources, and its coverage depends on the build. No license file is present. The project changes actively, and part of the README reads as working notes.
How to disable. Stop the stack with docker compose down and remove the server from your MCP client settings.
MCP
- Transport
- http
- Authentication
- API key
| Environment variables | |
|---|---|
| ELASTICSEARCH_URL required | Elasticsearch address for the methods and knowledge indexes |
| EMBEDDING_URL required | Embedding service address |
| RERANKER_URL required | Reranker service address |
| MCP_AUTH_TOKEN secret | MCP server authentication token |
Security check
- All tools are marked read-only; the service never changes code or writes to Elasticsearch
README in short
The bilingual Russian and English README describes an architecture of mcp-server, search-api, Elasticsearch, embedding and reranker services. It gives an environment variable table, Docker Compose and no-Docker run commands, a description of the three MCP tools, and a separate section on the dataset loader with SimHash deduplication and batched embedding builds. The project layout keeps benchmark and tests as separate folders.
FAQ
Can the service change code or the index?
No, all three tools are marked readOnly; the service only reads and searches.
What does the corpus cover?
Per the README, 380,416 deduplicated code methods from over 451,000 source methods, plus its.1c.ru documents and Habr articles.
Related
A skills library that gives coding agents a development process: brainstorming, planning, TDD, subagents and code review
Skills for real engineers by Matt Pocock
Skills For Real Engineers
Small composable skills for engineering with agents: plan grilling, TDD, bug diagnosis, code review and architecture
GitHub toolkit for spec-driven development: the specify CLI adds agent commands and skills to a project, from principles to implementation
Reference MCP servers
Model Context Protocol servers
Official reference MCP servers: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time and Everything