MCP server inside 1C
1c_mcp
A 1C extension that runs an MCP server inside the infobase: metadata tools out of the box and custom tools in BSL
Install
cp .env.docker.example .env
docker-compose up -dRuns the Python proxy in Docker. Set the 1C URL, login and password in .env; if 1C is on the same host, use host.docker.internal.
This is third-party code. Review the repository files before installing.
What it does
The project handles the MCP protocol inside 1C:Enterprise, leaving the developer to write the tool logic. The ready extension is published as an HTTP service, and the agent gets tools for reading configuration metadata. A custom tool is a data processor with two export methods: parameter description and execution. Besides tools it supports resources and prompts. An optional Python proxy adds stdio transport and OAuth2 so you do not have to disable 1C authentication on the web server.
Who it is for. For 1C developers who want to expose their infobase data and functions to an agent.
Good fit when
- You want an agent in Cursor or Claude to see your working configuration metadata
- You want to write your own MCP tools in the 1C language
- You need stdio clients to reach the infobase through a proxy
Not a fit when
- You cannot publish the infobase HTTP services on a web server
- You need to analyze exported sources without a running infobase
Example request
Use MCP to inspect the РеализацияТоваровУслуг document and list its tabular sectionsLimitations
Requires publishing the 1C HTTP service on a web server. Direct connection without the proxy requires publishing the base without authentication, which is unsafe, and does not work with stdio clients. The base name case in the URL must match the publication name.
How to disable. Disable the MCP_Сервер extension, unpublish the HTTP service and remove the server from the client settings.
MCP
- Transport
- http
- Authentication
- not required
| Environment variables | |
|---|---|
| MCP_ONEC_URL required | 1C HTTP service URL for the proxy |
Security check
- Gives the agent access to live 1C infobase data
- Direct mode requires publishing the base without authentication
- Custom tools can modify data
README in short
The README explains the two parts: the 1C extension as the core and an optional Python proxy. Quick start has three steps: load the cfe, publish the HTTP service and connect a client, with sample settings in mcp_client_settings. It describes three connection options, including the proxy in Docker, and how to develop custom tools. There is a video walkthrough; MIT licensed.
FAQ
Why the Python proxy?
It connects stdio clients and implements OAuth2, passing authorization to 1C via Basic Auth, so infobase authentication stays on.
Can my tools live in a separate extension?
Yes, copy the mcp_MCPСервер subsystem with your own prefix into your extension and the engine picks it up.
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