1C_MCP: an MCP extension with code execution
1C_MCP
A 1C extension built on vladimir-kharin/1c_mcp that adds execution of arbitrary built-in-language code right in the infobase context
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
- Executes arbitrary 1C built-in-language code in the infobase context
- execute_1c_code_complex needs rights to run 1cv8.exe on the server to build an external processing report
Install
Manual install
{
"mcpServers": {
"1c-server-direct": {
"url": "http://localhost:PORT/mcp",
"headers": {}
}
}
}Connection through the base project's Python proxy on the given port.
This is third-party code. Review the repository files before installing.
What it does
The extension turns an infobase into an MCP server through the mcp_APIBackend HTTP service and a tool-container processing subsystem. On top of the base project's tools (metadata listing and structure, report composition), it adds two new ones: execute_1c_code_simple synchronously runs a self-contained 1C code fragment in the current session with the change rolled back in a transaction, and execute_1c_code_complex asynchronously builds multi-procedure code into an external processing report via a scheduled job and calls the given entry point, polling for the result. To connect an AI client, the README recommends the base project's Python proxy, which handles authentication and stdio transport.
Who it is for. For 1C developers for whom metadata alone isn't enough and who want an agent to run code right in the database to test a hypothesis or a one-off task.
Good fit when
- You want to quickly run a 1C code fragment in the current session to test a hypothesis, with the change rolled back
- You need to call a multi-procedure module by building an external processing report, when simple execution isn't enough
- You already use the base vladimir-kharin/1c_mcp project and just need the two new code-execution tools
Not a fit when
- The HTTP service can't be authenticated or isolated from a production database: the README explicitly warns against connecting to production databases without a clear need
- You can't enable the mcp_ПроверкаКода scheduled job and grant the user rights to run 1cv8.exe for building .epf files
- You aren't prepared for the non-commercial terms on additional components in the license
Example request
Run code in the database that counts customer order documents for the current month, without saving any changesLimitations
execute_1c_code_simple and execute_1c_code_complex run arbitrary code in the infobase context; the README explicitly calls this a powerful but potentially dangerous mechanism and recommends not publishing the HTTP service without authentication and not connecting it to production databases without a clear need. execute_1c_code_complex needs access to 1cv8.exe on the server to build .epf files and an enabled scheduled job. The publication name's case in the URL must exactly match the database's publication name, or a redirect turns POST requests into GET. The repository's own code is MIT-licensed, but the LICENSE file separately mentions non-commercial use for additional components, which is worth checking before commercial use.
How to disable. Disable or remove the MCP_Сервер extension in the infobase and stop the Python proxy the client was connected through.
MCP
- Transport
- http
- Authentication
- not required
Security check
- Executes arbitrary 1C built-in-language code in the infobase context
- execute_1c_code_complex needs rights to run 1cv8.exe on the server to build an external processing report
README in short
The README describes the extension as a layer on top of the base vladimir-kharin/1c_mcp project, gives a feature comparison table, an architecture diagram from the AI client through the Python proxy and HTTP service to the tool-container processing reports, documents both new code-execution tools in detail with parameters and an async .epf build diagram, quick-start steps including scheduled-job setup and HTTP service publication, a separate security section explicitly warning about the danger of arbitrary code execution, and a brief guide to building your own tools. MIT license, with attribution to the base project required.
FAQ
Are changes from execute_1c_code_simple saved to the database?
No, the README states the changes run inside a transaction that gets rolled back.
Why is execute_1c_code_complex needed if execute_1c_code_simple exists?
Simple is limited to one procedure or function, while complex builds a multi-procedure module into an external processing report via a scheduled job, for code that can't be split into several simple calls.
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