MCP BSL LS Bridge
MCP bridge to BSL Language Server: navigation, diagnostics and refactoring of 1C and OneScript code for agents
Install
git clone https://github.com/SteelMorgan/mcp-bsl-lsp-bridge.git
cd mcp-bsl-lsp-bridge
cp env.example .env
docker compose -f docker-compose.yml build
docker compose -f docker-compose.yml up -dSet MCP_PROJECT_NAME and WORKSPACE_ROOT in .env before building.
This is third-party code. Review the repository files before installing.
What it does
Runs BSL Language Server in a Docker container and exposes it to an agent over MCP. The agent can find symbols, jump to definitions, build call graphs, get diagnostics and complexity metrics, and rename symbols project-wide. The goal is deterministic operations on 1C code and fewer tokens than grep-based search.
Who it is for. 1C developers who use Cursor or Claude Code on large configurations.
Good fit when
- You need to know who calls a procedure before refactoring
- Check a module for syntax errors and risks before committing
- Rename a symbol across the configuration and extensions
- The agent burns tokens searching through a 1C source dump
Not a fit when
- No Docker or less than 8 GB of RAM
- Sources live on a Windows host and speed matters: reads through WSL 2 are slow
Example request
Build a call graph for the ПровестиДокумент procedure and estimate which modules a change would affectLimitations
One project maps to one container. BSL LS is memory hungry and needs 8 GB or more. On Windows with Docker over WSL 2, indexing 40,000 files takes about 12 minutes, and file watching still uses polling.
How to disable. Remove the lsp-bsl-bridge block from .cursor/mcp.json or a similar config and stop the container with docker compose down.
MCP
- Transport
- stdio
- Authentication
- not required
| Environment variables | |
|---|---|
| MCP_PROJECT_NAME required | Project name, becomes part of the container name |
| WORKSPACE_ROOT required | Path inside the container to the 1C source directory |
Security check
- Builds and runs a Docker container with a Java server
- The rename tool can modify code files across the project
README in short
The MCP server translates agent requests into LSP calls to BSL Language Server, which runs in Docker with a session manager and file watcher. Code can be mounted from the host or from a sandbox named volume. Tools cover search and navigation, dependency analysis, diagnostics and complexity, refactoring and service operations. It is based on rockerBOO/mcp-lsp-bridge.
FAQ
Can I work with a configuration and its extensions together?
Yes, set WORKSPACE_ROOT to their common parent directory and BSL LS indexes all subdirectories.
How do I use code from a Dev Containers sandbox?
Use named volume mode: set PROJECTS_VOLUME_NAME and run docker-compose.sandbox-volume.yml.
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
Reference MCP servers
Model Context Protocol servers
Official reference MCP servers: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time and Everything
Up-to-date, version-specific library docs and code examples in your agent's context, via MCP or a CLI plus skill