BSL syntax-help MCP

Docker services with hybrid search (FTS5 plus embeddings) over the 1C platform syntax helper, exported from 1C:EDT by a Tycho plugin

  • 2 ★ on the repository
  • Last commit
  • AGPL-3.0
MCP server

Extended access

Why this level

  • Brings up Docker services for syntax help search and a GPU embedding service
  • MCP tools only search the help, the EDT ingest is protected by a separate token
All reasons and checks
Russian stack

malikov-pro/bsl-syntax-help-mcp

Install

Manual install

docker network create syntax-help && docker compose -f docker/giga/docker-compose.yml up -d --build && docker compose -f docker/mcp/docker-compose.yml up -d --build

Brings up both services; giga takes longer to build due to model weights.

Access and checks

How we review

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

  • Brings up Docker services for syntax help search and a GPU embedding service
  • MCP tools only search the help, the EDT ingest is protected by a separate token

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

What it does

The project has two Docker services plus a 1C:EDT plugin. The plugin exports the platform syntax helper from EDT over HTTP into an ingest service. A CPU-based FastAPI service stores cards in SQLite with FTS5 and sqlite-vec, exposing Comol-style MCP tools: docinfo, docsearch, docmembers. A separate GPU service computes embeddings with the Giga-Embeddings-instruct model over an OpenAI-compatible API; without it, search falls back to FTS-only. The embedding model is swappable: the README documents switching to BAAI/bge-m3 with a smaller dimension and no instruct prefix.

Who it is for. For 1C developer teams on 1C:EDT with a GPU for local embeddings who need semantic, not just text, search over the syntax helper.

Good fit when

  • You need semantic search over the syntax helper, not just exact text match
  • You have 1C:EDT and want to export the help directly from the IDE
  • You need to move a ready index to another machine without re-exporting

Not a fit when

  • No GPU for the embeddings container: the first run pulls about 13 GB of model weights
  • You already use HelpSearchServer: tool names collide, do not run both together

Example request

Find the method for finding an array element by value and show its syntax

MCP

Transport
http
Authentication
API key

Environment variables

INGEST_TOKEN required, secret
Token for data ingest from the EDT plugin and admin operations.
MCP_TOKEN required, secret
Access token for the MCP endpoint.

Limitations

The first GPU service run needs building a CUDA 12.6 image and downloading about 13 GB of weights; an RTX 3090 or comparable GPU is needed for comfortable use. The indexed corpus is not stored in git, it lives as SQLite files on the host and needs manual transfer between machines. Do not run it alongside HelpSearchServer due to overlapping tool names.

How to disable. Stop both stacks with docker compose down in docker/giga and docker/mcp, and remove the server from Cursor's mcp.json.

FAQ

What if the GPU service is unavailable?

MCP switches to degraded state and keeps searching via FTS; hybrid search returns once Giga is healthy again.

Can the embedding model be changed?

Yes, the README describes switching to BAAI/bge-m3, adjusting EXPECTED_EMBED_DIM and doing a mandatory full reindex.

Discussion

No questions or reviews yet.

Russian stack

A read-only MCP service for hybrid 1C BSL code search: BM25 plus vector search, deduplication and reranking

MCP serverExtended access3Repository stars
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 8.3 syntax helper MCP

1C Syntax Helper MCP (mcp-1c-helper)

Russian stack

A read-only MCP server searches 1C:Enterprise 8.3 docs in Elasticsearch and returns results via hybrid BM25 plus embedding search

MCP serverExtended access5Repository stars
Russian stack

An MCP server with hybrid search over 2262 community BSL code templates and a CRUD web interface built on Monaco Editor

MCP serverBroad access31Repository stars
Russian stack

A Dockerized MCP server for searching 1C dumps: structural index, call graph and semantic code search

MCP serverExtended access79Repository stars
Russian stack

A Docker service that indexes a JSON export of 1C configuration metadata and gives an agent fast object search by name and synonym

MCP serverExtended access9Repository stars

README in short

The README describes the two Docker services plus the EDT plugin, loopback-only ports, manual ingest via curl with a token, a recipe for switching the embedding model to BAAI/bge-m3, a detailed guide for moving the SQLite corpus between machines with a WAL checkpoint, installing the EDT plugin from a GitHub Pages update site, and connecting in Cursor with a Bearer token.

README badge

Report a problem