1C:EDT companion MCP with 46 tools
edt-companion-mcp
An OSGi plugin runs an HTTP MCP inside 1C:EDT, giving an agent the live model: metadata, BSL with unsaved edits, debugging and headless infobase updates
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
- edit_metadata and write_module_source change configuration objects, forms and code in one transaction
- sync_database performs a headless infobase update without a modal confirmation
Install
Manual install
{
"mcpServers": {
"edt-companion-mcp": {
"type": "http",
"url": "http://127.0.0.1:6868/mcp"
}
}
}Snippet for .mcp.json; the plugin can also write it automatically from EDT's preferences.
This is third-party code. Review the repository files before installing.
What it does
The plugin operates on whatever workspace is currently open in EDT, and serves 46 tools over HTTP at localhost:6868. The agent reads the typed metamodel, BSL code including unsaved changes from open editors, forms, the data composition system, XDTO, role rights and subsystems through BM transactions, not just from disk. A single edit_metadata tool changes objects, attributes, forms, event handlers and rights in one transaction covering the whole batch of operations, including the file part. Ordinary (non-managed) forms, whose modules EDT does not load into its model, are separately supported: the plugin reads and edits them right inside the Form.oform container and explicitly warns when a tool doesn't cover them, instead of returning a silent zero. Testing and debugging use the standard Eclipse Debug API for running yaxunit tests: breakpoints, stepping, variable inspection. An optional PII filter masks personal data in tool responses before they reach the agent.
Who it is for. For 1C developers working in 1C:EDT who want to give an agent access to the same live model they see themselves, including unsaved edits and debugging.
Good fit when
- You want an agent to see unsaved changes in open EDT editors, not just what's on disk
- You need a headless project build and infobase update without modal dialogs
- The configuration has 8.2-era ordinary forms, and you need an agent to read and edit them
Not a fit when
- You need a headless or CI scenario without EDT open: the server lives inside the EDT process, and some operations like sync_database need the UI
- You want the agent to edit the body of an existing BSL procedure itself: the plugin reads, searches and adds handler stubs, but the procedure body is edited by the agent's own file tools
- Your 1C:EDT version is not 2025.2 or 2026.1: the README names exactly these as tested versions
Example request
Find all references to the document-posting handler in the currently open project and show unsaved edits if any existLimitations
Works only while EDT is running with the workspace open; headless or CI scenarios without a UI are unavailable for some operations. get_form_screenshot needs two rendering VM arguments enabled in that installation's 1cedt.ini, otherwise the image buffer is empty. get_method_call_hierarchy builds its graph itself from the AST rather than from the model's Method.callers, because those are only populated via EDT's own editor path. The license allows free use for personal purposes and within an organization, including commercial development, but distribution, modification and recovering the source code require the rights holder's permission.
How to disable. Remove the edt-companion-mcp feature via Help -> About -> Installation Details in EDT, or delete the jar from the dropins folder and restart EDT.
MCP
- Transport
- http
- Authentication
- not required
| Environment variables | |
|---|---|
| EDT_YAXUNIT_MCP_PORT | Overrides the server port for headless or CI scenarios, taking priority over the UI setting. |
| EDT_COMPANION_ORDINARY_FORMS | Mode for handling ordinary forms: auto, read-only, or don't read containers. |
| EDT_COMPANION_PII | Forces the PII filter on in tool responses, useful for CI. |
Security check
- edit_metadata and write_module_source change configuration objects, forms and code in one transaction
- sync_database performs a headless infobase update without a modal confirmation
README in short
The README describes the features in groups (reading, search and navigation, ordinary forms, metadata editing, extension adoption, validation and build, yaxunit and debugging), EDT and Java version requirements, two install methods via an update site or a drop-in jar, a /health check, MCP client setup including the plugin auto-writing .mcp.json itself, a large separate section on ordinary forms and their limits, a PII redactor with masks and pseudonyms under Russia's 152-FZ, a full catalog of the 46 tools by group, and a section on when the plugin doesn't fit. The license is described as free use without the right to redistribute or modify.
FAQ
Does the plugin see unsaved edits in open editors?
Yes, metadata and BSL reads go through BM transactions, which see unsaved model state, not just what's on disk.
What happens with ordinary non-managed forms?
EDT does not load them into its model, but the plugin reads and edits their modules right inside the Form.oform container and explicitly marks such responses with an oform source, instead of silently returning empty.
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