MCP BSL LS Bridge
MCP bridge to BSL Language Server: navigation, diagnostics and refactoring of 1C and OneScript code for agents
- 69 ★ on the repository
- Last commit
- Apache-2.0
Extended access
Why this level
- Builds and runs a Docker container with a Java server
- The rename tool can modify code files across the project
Install
- Works in
- Services
Manual 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.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Builds and runs a Docker container with a Java server
- The rename tool can modify code files across the project
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 affectMCP
- Transport
- stdio
- Authentication
- not required
Environment variables
MCP_PROJECT_NAMErequired- Project name, becomes part of the container name
WORKSPACE_ROOTrequired- Path inside the container to the 1C source directory
Limitations
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.
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.
Discussion
No questions or reviews yet.
Related
All 1C:Enterprise toolsA Dockerized MCP server that keeps BSL Language Server running and gives the agent code navigation, diagnostics and refactoring for 1C instead of grep search
MCP wrapper for BSL Language Server
BSL MCP Server
A small MCP server that runs BSL Language Server as a JAR file and gives an agent BSL code analysis and formatting as JSON
An MCP server that exposes the cloud 1C:Napparnik (1C.ai) assistant and a local BSL Language Server to agents in Cursor and other IDEs
1c-lsp-mcp-skill
1с-lsp-mcp-skill
Manager for multiple bsl-language-server instances across 1C projects, usable via MCP or skills with a CLI, no Docker
An MCP server for BSL syntax checks on BSL Language Server in Docker: send code, get back JSON errors and warnings with no Java install needed
A script installs BSL Language Server as a Linux systemd service and, with a flag, opens an MCP endpoint for AI agents
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.