$ account DitriXNew
EDT-MCP is an Eclipse/OSGi plugin that implements a Model Context Protocol (MCP) server for 1C:Enterprise Development Tools (EDT). It exposes over 95 MCP tools enabling AI agents (Claude, Copilot, Cursor) to inspect and manipulate EDT workspaces – reading metadata, editing BSL code, running tests, managing debug sessions, performing git operations, and configuring infobases. The server runs as a plugin inside EDT, uses JSON-RPC 2.0 over HTTP/SSE transport, and supports progressive tool disclosure via toolsets. A separate proxy component allows routing MCP calls across multiple EDT backends with hot-plug failover. The architecture is layered: a protocol layer (session management, origin validation, JSON schema building), a tool registry with atomic catalog replacement, utility services for EDT model access (BmTransactions, ProjectContext, DebugSessionRegistry), and UI extensions (metadata tagging, virtual groups, call history view). The build uses Maven/Tycho and produces a p2 update site for EDT 2026.1 and 2026.2. Test coverage includes headless unit tests (JUnit/Mockito), Python e2e tests against a live server, conformance tests against the official MCP conformance suite, and ratchet tests that enforce coding standards, error quality, schema parity, and mutation safety. Key engineering patterns include: idempotent tool execution with destructive consent gates, PII redaction via HMAC pseudonymization, optimistic locking via ContentHash for read-modify-write cycles, bilingual Russian/English FQN normalization, and strict separation of read/write transactions (reads use IBmModel.executeReadonlyTask, writes use execute). The codebase is well-maintained with active issue triage and CI/CD pipelines.