BSL MCP Analyzer
An MCP analyzer for 1C BSL code: project-wide diagnostics, per-method complexity and refactor priorities, no Java
Low risk
We rate an entry low when it mostly gives the agent instructions and reference material.
Why this level
- Tools analyze and aggregate diagnostics; they do not change code or write into the project
Install
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/bsl-mcp-analyzerDetects the agents on your machine, checks the risk and pins the version.
Other ways to install
Run in a terminal
claude mcp add --transport http bsl-trade http://HOST:8080/bsl/proj-a/mcp --header 'Authorization: Bearer <your AUTHORIZATION>'Or add to the file .mcp.json, in the project
{
"mcpServers": {
"bsl-trade": {
"type": "http",
"url": "http://HOST:8080/bsl/proj-a/mcp",
"headers": {
"Authorization": "Bearer <your AUTHORIZATION>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
AUTHORIZATIONsecret, required
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
The button opens the agent and offers to add the server. If nothing happens, copy the config below.
Add to the file ~/.cursor/mcp.json, for all projects
{
"mcpServers": {
"bsl-trade": {
"url": "http://HOST:8080/bsl/proj-a/mcp",
"headers": {
"Authorization": "Bearer <your AUTHORIZATION>"
}
}
}
}If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.
Keys and settings
AUTHORIZATIONsecret, required
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
The button opens the agent and offers to add the server. If nothing happens, copy the config below.
Run in a terminal
code --add-mcp '{"name":"bsl-trade","type":"http","url":"http://HOST:8080/bsl/proj-a/mcp","headers":{"Authorization":"Bearer <your AUTHORIZATION>"}}'Or add to the file .vscode/mcp.json, in the project
{
"servers": {
"bsl-trade": {
"type": "http",
"url": "http://HOST:8080/bsl/proj-a/mcp",
"headers": {
"Authorization": "Bearer <your AUTHORIZATION>"
}
}
}
}If the file already exists, add the server inside the servers key.
Keys and settings
AUTHORIZATIONsecret, required
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.codex/config.toml, for all projects
[mcp_servers.bsl-trade]
url = "http://HOST:8080/bsl/proj-a/mcp"
http_headers = { Authorization = "Bearer <your AUTHORIZATION>" }If the file already exists, append the block to the end.
Keys and settings
AUTHORIZATIONsecret, required
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.gemini/settings.json, for all projects
{
"mcpServers": {
"bsl-trade": {
"httpUrl": "http://HOST:8080/bsl/proj-a/mcp",
"headers": {
"Authorization": "Bearer <your AUTHORIZATION>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
AUTHORIZATIONsecret, required
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/devin/mcp_config.json, for all projects
{
"mcpServers": {
"bsl-trade": {
"serverUrl": "http://HOST:8080/bsl/proj-a/mcp",
"headers": {
"Authorization": "Bearer <your AUTHORIZATION>"
}
}
}
}If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.
Keys and settings
AUTHORIZATIONsecret, required
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Formerly Windsurf.
Add to the file cline_mcp_settings.json, for all projects
{
"mcpServers": {
"bsl-trade": {
"type": "streamableHttp",
"url": "http://HOST:8080/bsl/proj-a/mcp",
"headers": {
"Authorization": "Bearer <your AUTHORIZATION>"
}
}
}
}If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.
Keys and settings
AUTHORIZATIONsecret, required
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file .roo/mcp.json, in the project
{
"mcpServers": {
"bsl-trade": {
"type": "streamable-http",
"url": "http://HOST:8080/bsl/proj-a/mcp",
"headers": {
"Authorization": "Bearer <your AUTHORIZATION>"
}
}
}
}If the file already exists, add the server inside the mcpServers key.
Keys and settings
AUTHORIZATIONsecret, required
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
A fork of Roo Code, same .roo folders.
Add to the file opencode.json, in the project
{
"mcp": {
"bsl-trade": {
"type": "remote",
"url": "http://HOST:8080/bsl/proj-a/mcp",
"headers": {
"Authorization": "Bearer <your AUTHORIZATION>"
}
}
}
}If the file already exists, add the server inside the mcp key.
Keys and settings
AUTHORIZATIONsecret, required
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Add to the file ~/.config/zed/settings.json, for all projects
{
"context_servers": {
"bsl-trade": {
"url": "http://HOST:8080/bsl/proj-a/mcp",
"headers": {
"Authorization": "Bearer <your AUTHORIZATION>"
}
}
}
}If the file already exists, add the server inside the context_servers key.
Keys and settings
AUTHORIZATIONsecret, required
Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.
Clone axel-avb/mcp-bsl-analyzer, fill .env with BSL_MCP_TOKEN and PROJ_A_PATH paths, bring it up with docker compose up -d --build, and connect your agent to http://HOST:8080/bsl/proj-a/mcp with an Authorization Bearer header.
Other ways from the author
cp .env.example .env
docker compose up -d --buildFill .env with BSL_MCP_TOKEN and PROJ_A_PATH, PROJ_B_PATH, PROJ_C_PATH pointing to your projects on the host.
This is third-party code. Review the repository files before installing.
What it does
The server builds three new tools on top of the onec-hbk-bsl engine (pure Python, no Java or LSP bridge): complexity computes cyclomatic and cognitive complexity per method with thresholds; module_health merges complexity with security, performance and SQL diagnostics into a ranked top_targets refactor list; workspace_diagnostics aggregates 180-plus lint rules project-wide, grouped by rule, severity and file. It also inherits the underlying engine's symbol navigation, definitions, references, callers and callees, search, rename and formatting. The server runs in Docker behind nginx, one container per project, reachable via a Bearer token at /bsl/<project>/mcp.
Who it is for. For 1C developers and tech leads who need quantitative BSL complexity metrics and refactor priorities without installing Java tooling.
Good fit when
- You need numeric cyclomatic and cognitive complexity metrics for BSL methods
- You need a ranked refactor list instead of just a pile of warnings
- You need project-wide lint diagnostics for 1C aggregated by file and rule
Not a fit when
- You have no Linux host with Docker Engine 24+ to deploy on
- You only need code browsing or search, not complexity and lint analysis
- Your project is too small for a refactor ranking to matter
Example request
Show the top modules to refactor in this 1C project and the cognitive complexity of the worst methodLimitations
It only deploys in Docker on Linux, needs about 2 GB RAM and 2 CPUs per project, and indexing large configurations is CPU and disk heavy. The tool depends on the separate onec-hbk-bsl project as its engine. License is not machine-readable via the GitHub API, and the main README file is in English only.
How to disable. Stop the project container with docker compose down and remove the server from your MCP client config.
MCP
- Transport
- http
- Authentication
- API key
| Environment variables | |
|---|---|
| BSL_MCP_TOKEN required, secret | Bearer token for accessing projects through nginx |
Security check
- Tools analyze and aggregate diagnostics; they do not change code or write into the project
README in short
The English README (with a Russian README.ru.md) explains that the project reuses the onec-hbk-bsl engine and adds three missing tools: numeric complexity, a module health summary and project-wide aggregation. It shows an nginx architecture with Bearer auth, a Docker Compose quick start, a curl check for 200 versus 401, and config examples for opencode and mcpServers-style clients like Cursor.
FAQ
Do I need Java?
No, the onec-hbk-bsl engine is pure Python and needs no Java or LSP bridge.
Can one server analyze several projects?
Each project gets its own bsl-<proj> container, all proxied by one nginx on different paths.
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