How ditrixnew/edt-mcp works
EDT MCP Server is an Eclipse/1C:EDT plugin that exposes workspace and development operations to MCP-capable AI clients. The principal flow is an MCP request over streamable HTTP/SSE, protocol handling and tool dispatch, execution against EDT workspace capabilities, then a tool result returned to the client. Tool families cover inspection, code and metadata changes, forms, projects, applications, and debugging; separate product features manage tags, groups, tool access, and call history. The README and tree establish these capabilities; most implementation wiring was not sampled, so links below are limited to the documented runtime flow.
Main entry points: impl Tool Implementations · McpProtocolHandler.java Protocol Handler · McpServer.java MCP Server · McpToolRegistry.java Tool Registry
Components 22
MCP Transport
- MCP Server
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/McpServer.java - Protocol Handler
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/protocol/McpProtocolHandler.java - MCP Sessions
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/protocol/McpSessionRegistry.java - Proxy Backend
proxy/src/main/java/com/ditrix/edt/mcp/proxy/Backend.java
EDT Tools
- Tool Registry
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/tools/McpToolRegistry.java - Tool Controls
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/preferences/ToolSettingsService.java - Tool Implementations
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/tools/impl
Workspace Features
- Project Analysis
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/tools/impl - BSL Code Tools
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/tools/impl - Metadata Tools
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/tools/impl - Metadata Refactoring
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/tools/rename/MetadataRenameService.java - Form Inspection
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/tools/form/FormLayoutSnapshotService.java - Apps And Debug
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/tools/impl
Workspace Organization
- Metadata Tags
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/tags/TagService.java - Tag Data
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/tags/model/TagStorage.java - Metadata Groups
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/groups/internal/GroupServiceImpl.java - Group Data
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/groups/model/GroupStorage.java
Server Operations
- Call History
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/history/McpCallHistory.java - Status And Signals
mcp/bundles/com.ditrix.edt.mcp.server/src/com/ditrix/edt/mcp/server/UserSignal.java
Other components
- AI Client
- EDT Workspace
- Optional Assistant
Connections 20
- AI Client → MCP Server: sends MCP requests
- MCP Server → Protocol Handler: handles requests
- Protocol Handler → MCP Sessions: tracks sessions
- Protocol Handler → Tool Registry: dispatches tools
- Tool Registry → Tool Controls: checks availability
- Tool Registry → Tool Implementations: invokes tools
- Tool Implementations → EDT Workspace: operates on workspace
- Tool Implementations → Project Analysis: provides inspection
- Tool Implementations → BSL Code Tools: provides code actions
- Tool Implementations → Metadata Tools: provides metadata actions
- Tool Implementations → Metadata Refactoring: uses rename service
- Tool Implementations → Form Inspection: uses layout service
- Tool Implementations → Apps And Debug: provides runtime actions
- Metadata Tags → Tag Data: loads and saves
- Metadata Groups → Group Data: persists groups
- Protocol Handler → Call History: records calls
- MCP Server → Status And Signals: reports activity
- AI Client → Proxy Backend: may connect through
- Proxy Backend → MCP Server: forwards requests
- Tool Implementations → Optional Assistant: may ask workmate