MCP Hub
Back to servers

EDT-MCP

A specialized MCP server for 1C:EDT that allows AI assistants to interact with workspace projects, perform code validation, retrieve platform documentation, and access metadata details.

Stars
32
Forks
2
Tools
14
Updated
Jan 9, 2026
Validated
Jan 14, 2026

GitHub all releases EDT

EDT MCP Server

MCP (Model Context Protocol) server plugin for 1C:EDT, enabling AI assistants (Claude, GitHub Copilot, Cursor, etc.) to interact with EDT workspace.

Features

  • 🔧 MCP Protocol 2025-11-25 - Streamable HTTP transport with SSE support
  • 📊 Project Information - List workspace projects and configuration properties
  • 🔴 Error Reporting - Get errors, warnings, problem summaries with filters
  • 📝 Check Descriptions - Get check documentation from markdown files
  • 🔄 Project Revalidation - Trigger revalidation when validation gets stuck
  • 🔖 Bookmarks & Tasks - Access bookmarks and TODO/FIXME markers
  • 💡 Content Assist - Get type info, method hints and platform documentation at any code position
  • 🎯 Status Bar - Real-time server status indicator with request counter

Installation

From Update Site

Only EDT 2025.2.0+

  1. In EDT: Help → Install New Software...
  2. Add update site URL
  3. Select EDT MCP Server Feature
  4. Restart EDT

Configuration

Go to Window → Preferences → MCP Server:

  • Server Port: HTTP port (default: 8765)
  • Check descriptions folder: Path to check description markdown files
  • Auto-start: Start server on EDT launch
  • Plain text mode (Cursor compatibility): Returns results as plain text instead of embedded resources (for AI clients that don't support MCP resources)

Connecting AI Assistants

VS Code / GitHub Copilot

Create .vscode/mcp.json:

{
  "servers": {
    "EDT MCP Server": {
      "type": "sse",
      "url": "http://localhost:8765/mcp"
    }
  }
}

Cursor IDE

Note: Cursor doesn't support MCP embedded resources. Enable "Plain text mode (Cursor compatibility)" in EDT preferences: Window → Preferences → MCP Server.

Create .cursor/mcp.json:

{
  "mcpServers": {
    "EDT MCP Server": {
      "url": "http://localhost:8765/mcp"
    }
  }
}

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "EDT MCP Server": {
      "url": "http://localhost:8765/mcp"
    }
  }
}

Available Tools

ToolDescription
get_edt_versionReturns current EDT version
list_projectsLists workspace projects with properties
get_configuration_propertiesGets 1C configuration properties
get_project_errorsReturns EDT problems with severity/checkId filters
get_problem_summaryProblem counts grouped by project and severity
clean_projectCleans project markers and triggers full revalidation
revalidate_objectsRevalidates specific objects by FQN (e.g. "Document.MyDoc")
get_bookmarksReturns workspace bookmarks
get_tasksReturns TODO/FIXME task markers
get_check_descriptionReturns check documentation from .md files
get_content_assistGet content assist proposals (type info, method hints)
get_platform_documentationGet platform type documentation (methods, properties, constructors)
get_metadata_objectsGet list of metadata objects from 1C configuration
get_metadata_detailsGet detailed properties of metadata objects (attributes, tabular sections, etc.)

Content Assist Tool

get_content_assist - Get content assist proposals at a specific position in BSL code. Returns type information, available methods, properties, and platform documentation.

Parameters:

ParameterRequiredDescription
projectNameYesEDT project name
filePathYesPath relative to src/ folder (e.g. CommonModules/MyModule/Module.bsl)
lineYesLine number (1-based)
columnYesColumn number (1-based)
limitNoMaximum proposals to return (default: from preferences)
offsetNoSkip first N proposals (for pagination, default: 0)
containsNoFilter by display string containing these substrings (comma-separated, e.g. Insert,Add)
extendedDocumentationNoReturn full documentation (default: false, only display string)

Important Notes:

  1. Save the file first - EDT must read the current content from disk to provide accurate proposals
  2. Column position - Place cursor after the dot (.) for method/property suggestions
  3. Pagination - Use offset to get next batch of proposals (e.g., first call with limit=5, second call with offset=5, limit=5)
  4. Filtering - Use contains to filter by method/property name (case-insensitive)
  5. Works for:
    • Global platform methods (e.g. NStr(, Format()
    • Methods after dot (e.g. Structure.Insert, Array.Add)
    • Object properties and fields
    • Configuration objects and modules

Example - Get methods for Structure with filter:

{
  "projectName": "MyProject",
  "filePath": "CommonModules/MyCommonModule/Module.bsl",
  "line": 15,
  "column": 12,
  "contains": "Insert,Add",
  "extendedDocumentation": true
}

Returns only methods containing "Insert" or "Add" with full documentation:

{
  "success": true,
  "totalProposals": 8,
  "filteredOut": 6,
  "skipped": 0,
  "returnedProposals": 2,
  "proposals": [
    {
      "displayString": "Insert(Key) ~ Structure",
      "documentation": "Procedure Structure.Insert(Key, [Value])..."
    }
  ]
}

Validation Tools

  • clean_project: Refreshes project from disk, clears all validation markers, and triggers full revalidation using EDT's ICheckScheduler
  • revalidate_objects: Revalidates specific metadata objects by their FQN:
    • Document.MyDocument, Catalog.MyCatalog, CommonModule.MyModule
    • Document.MyDoc.Form.MyForm for nested objects

Platform Documentation Tool

get_platform_documentation - Get documentation for platform types (ValueTable, Array, Structure, Query, etc.)

Parameters:

ParameterRequiredDescription
typeNameYesPlatform type name (e.g. ValueTable, Array, Structure)
projectNameNoEDT project name (uses first available project if not specified)
memberNameNoFilter by member name (partial match)
memberTypeNoFilter: method, property, constructor, event, all (default: all)
languageNoOutput language: en or ru (default: en)
limitNoMaximum results (default: 50)

Example:

{
  "typeName": "ValueTable",
  "memberType": "method",
  "memberName": "Add",
  "language": "ru"
}

Metadata Objects Tool

get_metadata_objects - Get list of metadata objects from 1C configuration.

Parameters:

ParameterRequiredDescription
projectNameYesEDT project name
metadataTypeNoFilter: all, documents, catalogs, informationRegisters, accumulationRegisters, commonModules, enums, constants, reports, dataProcessors, exchangePlans, businessProcesses, tasks, commonAttributes, eventSubscriptions, scheduledJobs (default: all)
nameFilterNoPartial name match filter (case-insensitive)
limitNoMaximum results (default: 100)
languageNoLanguage code for synonyms (e.g. en, ru). Uses configuration default if not specified

Example:

{
  "projectName": "MyProject",
  "metadataType": "documents",
  "nameFilter": "Sales"
}

Returns markdown table with columns: Name, Synonym, Comment, Type, ObjectModule, ManagerModule.

Metadata Details Tool

get_metadata_details - Get detailed properties of metadata objects.

Parameters:

ParameterRequiredDescription
projectNameYesEDT project name
objectFqnsYesArray of FQNs (e.g. ["Catalog.Products", "Document.SalesOrder"])
fullNoReturn all properties (true) or only key info (false). Default: false
languageNoLanguage code for synonyms. Uses configuration default if not specified

Example:

{
  "projectName": "MyProject",
  "objectFqns": ["Document.SalesOrder", "Catalog.Products"],
  "full": true
}

Returns markdown with detailed object properties, attributes, tabular sections, forms, commands.

Output Formats

  • Markdown tools: list_projects, get_project_errors, get_bookmarks, get_tasks, get_problem_summary, get_check_description - return Markdown as EmbeddedResource with mimeType: text/markdown
  • JSON tools: get_configuration_properties, clean_project, revalidate_objects - return JSON with structuredContent
  • Text tools: get_edt_version - return plain text

API Endpoints

EndpointMethodDescription
/mcpPOSTMCP JSON-RPC (initialize, tools/list, tools/call)
/mcpGETServer info
/healthGETHealth check

Status Bar

Click the status indicator in EDT status bar:

  • 🟢 Green - Server running
  • ⚫ Grey - Server stopped
  • [N] - Request counter

Requirements

  • 1C:EDT 2025.2 (Ruby) or later
  • Java 17+

Version History

1.15.0

  • New: "Plain text mode (Cursor compatibility)" preference setting
    • When enabled, returns Markdown results as plain text instead of embedded resources
    • Solves compatibility issues with AI clients that don't support MCP embedded resources (e.g., Cursor)
    • Located in: Window → Preferences → MCP Server

1.9.0

  • Improved: Enhanced EObject formatting in metadata tools using new EObjectInspector utility
    • Smart detection of simple value holders (enums, wrappers) vs complex objects needing expansion
    • Automatic extraction of primary values from wrapper classes (e.g., StandardCommandGroup → category enum)
    • EMF-based detection without hardcoded class names using EAttribute/EReference analysis
    • Better formatting for StandardCommandGroup, Color, Picture, and other wrapper types
  • Internal: New EObjectInspector utility class for EMF EObject type analysis
    • getFormatStyle() - Determines SIMPLE_VALUE, REFERENCE, or EXPAND formatting
    • isSimpleValueHolder() - Checks if EClass/EObject is a simple wrapper
    • getPrimaryValue() - Extracts meaningful value from wrapper objects
    • formatReference() - Smart reference formatting for any EObject type
  • Refactored: AbstractMetadataFormatter and UniversalMetadataFormatter now use EObjectInspector

1.8.0

  • New: get_metadata_objects tool - Get list of metadata objects from 1C configuration
    • Returns Name, Synonym, Comment, Type, ObjectModule, ManagerModule for each object
    • Supports filtering by metadata type (documents, catalogs, registers, commonModules, commonAttributes, eventSubscriptions, scheduledJobs, etc.)
    • Supports partial name filtering (case-insensitive)
    • Uses configuration default language for synonyms
  • New: get_metadata_details tool - Get detailed properties of metadata objects
    • Accepts array of FQNs (e.g. ["Catalog.Products", "Document.SalesOrder"])
    • full mode for complete property details
    • Type-specific properties (Document: posting, Catalog: hierarchy, Register: periodicity, etc.)

1.7.0

  • New: get_platform_documentation tool - Get platform type documentation
    • Returns methods, properties, constructors, events with full documentation
    • Supports all platform types: ValueTable, Array, Structure, Query, Map, etc.
    • Filter by member name or type (method/property/constructor/event)
    • Bilingual output (English/Russian)
    • Uses EDT's IEObjectProvider with TYPE provider for accurate results

1.6.16

  • New: get_content_assist tool - Get content assist proposals at any code position
    • Returns type information, methods, properties with full platform documentation
    • Supports global methods and dot-notation methods
    • Pagination with offset parameter for large result sets
    • Filtering with contains parameter (case-insensitive, comma-separated)
    • Optional extended documentation (default: disabled for faster responses)
    • Uses EDT's ICompletionProposalExtension5 for async documentation retrieval
    • HTML documentation converted to Markdown using CopyDown library
  • Refactored: Extracted common escapeForTable() to MarkdownUtils class
  • Fixed: Removed dead code (tools/BuildUtils.java)

1.6.10

  • Refactored: All JSON responses now use Gson serialization instead of manual StringBuilder
  • New: ToolResult class - fluent API for building JSON responses
  • Improved: More reliable JSON output (no more missing braces or escaping issues)
  • Internal: Uses JsonParser.parseString() for input JSON array parsing

1.6.9

  • Fixed: revalidate_objects JSON response was missing closing brace causing parse error

1.6.8

  • Fixed: revalidate_objects now uses 4-parameter scheduleValidation (without IBmTransaction) to avoid null transaction error

1.6.7

  • Fixed: revalidate_objects now uses bmGetId() (Long) instead of URI - fixes NullPointerException in CheckScheduler

1.6.6

  • Added: Custom PNG icons for Start (green), Stop (red), Restart (blue) buttons
  • Improved: Additional defensive null filtering in revalidate_objects
  • Added: Debug logging for object lookup in revalidate_objects

1.6.5

  • Fixed: Port and checks folder changes now apply immediately when clicking Start/Restart (no need to click Apply first)
  • Fixed: Restart button now has a distinct icon (Redo instead of disabled Synced)

1.6.4

  • Fixed: revalidate_objects null URI handling (objects with null bmGetUri() are now skipped)
  • Fixed: Full project revalidation when objects array is empty
  • Improved: Service retrieval via Activator (not static fields)
  • Added: JSON field objectsSkippedNullUri for objects with null URI

1.6.3

  • Fixed: clean_project now uses Eclipse CLEAN_BUILD (same as Project → Clean menu)

1.6.2

  • Fixed: revalidate_objects now passes object URI to scheduleValidation (was ClassCastException)

1.6.1

  • Fixed: Array parameters parsing for revalidate_objects tool
  • Fixed: Removed JSON duplication in text field (now only in structuredContent)
  • Improved: FQN examples in tool descriptions

1.6.0

  • New: clean_project tool - clears markers and triggers full revalidation via EDT ICheckScheduler
  • New: revalidate_objects tool - revalidates specific objects by FQN
  • Removed old revalidate_project (used Eclipse build, not EDT validation)
  • Added ICheckScheduler and IBmModelManager service integration

1.5.1

  • Dynamic file names for EmbeddedResource (e.g., begin-transaction.md instead of tool-result)
  • Added getResultFileName() method to IMcpTool interface

1.5.0

  • Explicit ResponseType per tool (TEXT, JSON, MARKDOWN)
  • Markdown returned as EmbeddedResource with mimeType
  • JSON returned with structuredContent support

1.4.0

  • Converted list tools to Markdown output
  • Fixed unused code warnings

1.3.0

  • MCP Protocol 2025-11-25 with Streamable HTTP
  • SSE transport support
  • Session management with MCP-Session-Id header

1.2.0

  • EDT IMarkerManager integration
  • EDT severity levels (BLOCKER, CRITICAL, MAJOR, MINOR, TRIVIAL)

1.0.0

  • Initial release

License

Copyright (c) 2025 DitriX. All rights reserved.


EDT MCP Server v1.15.0

Reviews

No reviews yet

Sign in to write a review