1C:Enterprise MCP server over OData
1C:Enterprise MCP Server for AI Assistants
A dependency-free Python MCP server: in-memory 1C metadata search, reading and writing data via the OData REST API, and parsing data composition schema queries
High risk
We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.
Why this level
- The odata_create and odata_update tools write new records and change existing ones in the live 1C database
- Database admin credentials are passed via the MCP server's environment variables
Install
Manual install
git clone https://github.com/flakeman/fervent-hawking.gitClone the repo, then register the server in the MCP client's configuration.
This is third-party code. Review the repository files before installing.
What it does
The server combines two ways to access a 1C configuration: an in-memory compact metadata index for instant keyword search over catalogs, documents and registers, and static search over an unpacked configuration XML export. Separately, it gives tools for live data via OData: reading with a filter and sort, creating a record, and updating one by GUID. The extract_xml_query tool pulls the 1C query text straight out of a data composition schema template XML file. A SKILL.md file teaches the model to write queries following database optimization rules, for example filtering inside virtual table parameters instead of a WHERE clause. The server is written using only the Python standard library, with no external dependencies.
Who it is for. For 1C developers who use Codex, Gemini CLI, Cursor or Windsurf and want to give an agent access to configuration metadata and live database data via OData.
Good fit when
- You need fast keyword search over configuration objects without hitting the database
- You need to read, create or update 1C records via OData directly from the assistant chat
- You need to pull a data composition schema query text out of an XML template without opening the Configurator
Not a fit when
- OData is not published on the database's web server: the odata_* tools will not work without it
- You are not ready to give the agent the ability to create and modify records via odata_create and odata_update
Example request
Find all catalogs and registers with the word Запасы and show the first 10 СписаниеЗапасов documents via ODataLimitations
The compact metadata index has to be built ahead of time with build_1c_index.py and refreshed manually after configuration changes. OData must be separately enabled and published on the database's web server, with steps in a dedicated guide. The example config stores the database admin login and password in plain text in the MCP server's environment variables.
How to disable. Remove the 1c-helper entry from your client's mcp_config.json.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| 1C_ODATA_URL required | The address of the published OData service for the 1C database. |
| 1C_ODATA_USER required | The user for OData authorization. |
| 1C_ODATA_PASSWORD required, secret | The OData user's password. |
| 1C_INDEX_FILE required | Path to the compiled compact metadata index. |
Security check
- The odata_create and odata_update tools write new records and change existing ones in the live 1C database
- Database admin credentials are passed via the MCP server's environment variables
README in short
The README describes the integration for Codex and other MCP clients: hybrid metadata search, data access via OData, data composition schema query parsing, and a SKILL.md rules file for query optimization. It gives the repo layout, three install steps (cloning, registering the server in the client config, enabling OData in 1C), a table of six tools with parameters, and example natural-language requests to the assistant. It separately mentions a document with efficiency metrics.
FAQ
Do I need to install Python packages?
No, the server uses only the standard library (urllib, json), so no pip packages are required.
Can the assistant change data in the database?
Yes, the odata_create and odata_update tools create and change 1C records directly, so this access should be granted deliberately.
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