python-1c-mcp
A PyPI-published read-only MCP server for standard 1C:Enterprise OData 8.3.5+: schema, filtered queries, record lookup by Ref_Key
Low risk
We rate an entry low when it mostly gives the agent instructions and reference material.
Why this level
- The package physically contains no tools for writing, changing or deleting data
Install
Manual install
pip install python-1c-mcpInstalls the package from PyPI.
This is third-party code. Review the repository files before installing.
What it does
Built on top of the python-1c-odata library, the server gives read-only access to a published standard 1C OData interface: listing and describing entity sets from $metadata, queries with $filter, $select, $top, $skip, $orderby and $inlinecount, fetching a single record by Ref_Key, and viewing raw or summarized $metadata. There are no create, update, delete, post or unpost tools at all, an explicitly stated boundary. Supported publications range from 8.3.5 (Atom format) to current versions with JSON by default.
Who it is for. For developers and analysts who need safe, guaranteed read-only access to 1C data over standard OData with no risk of accidental writes.
Good fit when
- You need predictably safe access to 1C data with not a single write tool
- You need a quick standard OData query with filters and pagination
- You need to work with an old 8.3.5 Atom-format publication
Not a fit when
- You need to write data: create, update, delete and posting are intentionally not implemented
- You need 8.2, 7.7, SOAP, COM or custom HTTP services: the server speaks only standard OData
Example request
Show the structure of Catalog_Товары and find the first 20 products priced above 1000 rublesLimitations
Works only with a standard OData 3.0 publication on platform 8.3.5 and newer; it does not support other protocols (8.2, 7.7, SOAP, COM, /hs/). 8.3.5 publications speak Atom only, requiring an explicit ONEC_FORMAT=atom. list_entity_sets truncates the list after 500 items.
How to disable. Remove the 1c-odata entry from your MCP client configuration.
MCP
- Transport
- stdio
- Authentication
- not required
| Environment variables | |
|---|---|
| ONEC_SERVER required | Base URL of the 1C server, e.g. http://1c.example. |
| ONEC_INFOBASE required | Name of the infobase publication. |
| ONEC_PASSWORD required, secret | Password of the OData user. |
| ONEC_URL secret | A single URL with login and password instead of the four separate variables. |
Security check
- The package physically contains no tools for writing, changing or deleting data
README in short
The bilingual README stresses the read-only scope right from the start, explains publishing OData on the 1C side in three steps, gives a table of connection variables including the alternate ONEC_URL, a table of five MCP tools and two resources, a dedicated 'what is still missing' section explicitly listing write tools and other protocols, and ends with a development section covering pytest, ruff and mypy.
FAQ
Is there any way to change data through this server?
No, the package has no create, update, delete, post or unpost tools at all; it is read-only by design.
How do you publish OData in 1C for this server?
Via Administration → Publish on web server with the standard OData interface enabled, service path /odata/standard.odata.
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