mcp-baf
A Python MCP server for BAF, a Ukrainian counterpart to 1C:Enterprise: configuration metadata, queries and full-text BSL code search
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- The execute_query tool runs queries against the live database, though limited to SELECT only
- The HTTP service user's credentials are stored in the MCP client's config
Install
Manual install
git clone https://github.com/andriy4k07/mcp-baf
cd mcp-baf
python -m venv .venv
.venv/bin/pip install -e .Install on Linux/macOS; on Windows use the .venv\Scripts\pip path.
This is third-party code. Review the repository files before installing.
What it does
The server publishes an HTTP service inside a BAF database through its own extension and gives an agent nine tools: a metadata tree, object and form structure, configuration info, executing and validating read-only queries, the event log, a reference for 180 built-in BSL functions, and full-text code search with three modes (BM25, regex, exact match) plus built-in bilingual BSL synonyms. Alongside the tools come 11 ready prompts for common tasks: module review, error analysis, duplicate search, query optimization and more. The search index is built from a local configuration dump in a background thread, cached on disk and updated incrementally by file time and size. The project is a Python port of the Go tool feenlace/mcp-1c with the same tools and prompts.
Who it is for. For developers on the BAF platform (a Ukrainian counterpart to 1C:Enterprise UNF, architecturally compatible with 1C:Enterprise) who need agent access to a live database and configuration code through MCP.
Good fit when
- You need to show an agent the metadata and form structure of a BAF configuration
- You need full-text search over module code with Russian and English BSL function synonyms
- You need read-only parameterized queries against a live database and a BSL function reference without the platform running
Not a fit when
- You work on classic 1C:Enterprise rather than BAF: the server's extension targets BAF
- On macOS: platform HTTP services are not supported there, you need a Windows VM
Example request
Show the structure of my configuration and find all the places that use the СтрНайти functionLimitations
Full-text code search needs a manual DumpConfigToFiles export and the --dump flag; without it only the other tools work. The HTTP service is not supported by the BAF platform on macOS, and the undocumented /HTTPPort flag only works on Windows. The minimum supported platform version is 8.3.10. Requires Python 3.11+ and a separate extension install into the database.
How to disable. Remove mcp-baf from the MCP client config and disable the MCPService extension in the database via the extensions list in the Configurator.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| mcp_baf_BASE_URL | The database HTTP service URL, defaults to http://localhost:8080/hs/mcp-baf. |
| mcp_baf_USER required | The database HTTP service user. |
| mcp_baf_PASSWORD required, secret | The HTTP service user's password. |
| mcp_baf_DUMP_DIR | Path to the configuration dump, enabling the search_code tool. |
Security check
- The execute_query tool runs queries against the live database, though limited to SELECT only
- The HTTP service user's credentials are stored in the MCP client's config
README in short
The README, written in Ukrainian, describes the server as a port of the Go project feenlace/mcp-1c and lists nine tools, 11 prompts, three code search modes with BSL synonyms, and a disk-based index cache. It gives install steps: cloning, installing the package, installing the extension via --install, publishing the HTTP service and configuring an MCP client, including a dedicated Claude Code command. Tables cover configuration flags, environment variables, logging and OS/client compatibility. MIT license.
FAQ
Does it work with Russian 1C:UNF?
The project targets the BAF platform, a Ukrainian counterpart to 1C:UNF. There is a --lang ru option for Russian extension object synonyms, but the target platform is not 1C.
Do I need internet or a cloud AI?
No, the server is a local process and works with any MCP client, including local models like Ollama; database data goes nowhere except the chosen client.
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