gf-data-1c MCP
A read-only Rust MCP server for 1C:Enterprise data that warns about silent query traps, and lets the platform build the query text instead of the model
- 0 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- Installs the GTData extension into the 1C base, which needs the base login and password
- Runs queries on balances, turnovers, catalogs and accounting totals
- Rejects data-changing queries before they reach the base
Install
- Works in
- Services
Manual install
gfdata.exe -install "C:\путь\к\базе" -db-user <пользователь> -db-password <пароль>Installs the extension into a file or server base; the binary carries the extension inside it.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Installs the GTData extension into the 1C base, which needs the base login and password
- Runs queries on balances, turnovers, catalogs and accounting totals
- Rejects data-changing queries before they reach the base
This is third-party code. Review the repository files before installing.
What it does
The server installs an extension into a 1C base and reads data through it: balances, turnovers, information register slices, accounting account totals, catalogs and record counts. It is built around four fixes for specific cases of the model getting confidently wrong answers: it warns about silent query traps like a reference compared to a string literal or a balance taken at day-start with no time; it only runs query text that was built by its own query_build tool in the same session; it enriches a platform refusal with a hint listing available fields and replacements for language constructs that do not exist; and it serves syntax and type-member reference straight from the installed release's own documentation rather than the model's memory. A refusal from a tool never looks like an empty result, and the base is always named explicitly. A call without one is rejected by the schema.
Who it is for. For 1C developers and analysts worried that an agent might produce a plausible but wrong report from base data.
Good fit when
- You need read-only access to balances, turnovers or accounting totals through an agent
- You need protection against silent query mistakes like a reference compared to a string
- You need precise query-language and object reference for the exact installed release
Not a fit when
- You need to write data: the server only reads by design and rejects change queries before touching the base
- The configuration is not Russian-language: query-notation translation targets Russian name prefixes
Example request
Show the stock of Цемент М400 at the main warehouse as of today and reconcile it with the accounting totalsMCP
- Transport
- stdio, http
- Authentication
- key is optional
Environment variables
TOKENsecret- Bearer token for the network HTTP mode; empty means no check.
DATA_DIR- Directory for the base registry and log in container mode.
Limitations
Russian-language configurations only, by design. Read-only; changes are rejected before touching the base. Building the server with the extension embedded needs proprietary 1C object-build tooling that a third-party developer does not have; without it the extension is installed from the prebuilt dist/GTData.cfe file. A base response larger than 128 MiB is rejected with a clear refusal.
How to disable. Remove the base from the server's registry with bases action=remove and delete the GTData extension from the base's configuration.
FAQ
Can the server change anything in the base?
No, a change request is rejected before it reaches the base; this is a product property, not just a permissions limit.
What if the agent invents the query text itself?
The query tool only runs text that query_build assembled in the same session; arbitrary model-written text is rejected.
Discussion
No questions or reviews yet.
Related
All 1C:Enterprise toolsA strictly read-only MCP server on a 1C HTTP service: 39 tools for metadata, queries, accounting and reports on any configuration
A free MCP server for a working 1C infobase: the agent reads data from plain requests and gets the metadata structure of any configuration
MCP server for 1C:Enterprise databases over standard OData: catalogs, documents, registers and accounting with no configuration extension
1C OData MCP with a JSON cache
MCP сервер для работы с OData 1C
A Python MCP server over 1C OData: reads and changes catalogs and documents, saving everything to JSON files for local analysis without repeat queries
A single-binary Go MCP server: the agent sees 1C metadata, searches code, runs read-only queries and writes accurate BSL
Gyrfalcon: 1C code navigation MCP
gyrfalcon
A single dependency-free Rust binary with no network calls: indexes a 1C configuration export and answers call-graph and metadata questions in milliseconds
README in short
The README explains the product philosophy in detail: four mechanisms against specific cases where an agent gave a plausible but wrong answer, a table of thirteen tools, extension install via gfdata.exe -install or a prebuilt .cfe, registering the base in a registry with DPAPI password protection on Windows, running in a container with explicit warnings about the missing extension and unprotected passwords on Linux, and probe diagnostics that check for a version mismatch.