Skip to content

Discovery Tools

Christian edited this page Sep 1, 2026 · 1 revision

Discovery Tools

Enumerate real EPLAN catalogs (schemes, report templates, layers, settings tree, .NET enums) instead of guessing values.

5 tools (all prefixed eplan_ when registered as MCP tools).

< Back to Home


eplan_settings_list_children

eplan_settings_list_children(setting_path: str)

List child nodes and settings under a settings-tree path.

The master key for discovering EPLAN catalogs: export/import schemes, filter/sort schemes, and most named configurations are stored as nodes in the settings tree. Walk the tree with this tool instead of guessing setting paths; read values with settings_get_string/bool/int.

Args: setting_path: Settings-tree path, e.g. "USER.TrDMPrj" or "STATION.AF.Services". Sections are separated by '.'.

Returns: dict with "nodes" (child node names) and "settings" (leaf setting names) relative to the given path.


eplan_list_schemes

eplan_list_schemes(name_filter: str=None)

List scheme files in the master data schemes folder ($(MD_SCHEMES)).

EPLAN stores named schemes (export, import, labeling, filters, ...) as XML files in the schemes master data folder; the file name (without extension) is the scheme name used by CONFIGSCHEME/FILTERSCHEME/ export_scheme parameters. Schemes stored only in the settings tree can be found with settings_list_children instead.

Args: name_filter: Optional case-insensitive substring to filter scheme names (e.g. "pdf", "label", "dxf").

Returns: dict with scheme names grouped by file extension.


eplan_list_report_templates

eplan_list_report_templates()

List report forms/templates from the master data folders.

Enumerates the forms folder ($(MD_FORMS)) and, when present, the templates folder ($(MD_TEMPLATES)) so report generation can use real form names instead of guessed ones.

Returns: dict with file names grouped by folder and extension.


eplan_list_layers

eplan_list_layers()

List all graphical layers of the currently open project.

Returns the real layer names (and descriptions where available) from Project.LayerTable, for use with layer-related actions instead of guessed layer names.

Returns: dict with the project name and its layers.


eplan_list_enums

eplan_list_enums(enum_type_name: str)

List the values of an EPLAN (or .NET) enum type by full type name.

Generalizes the parts_db_list_product_groups pattern: resolves the type via reflection over the loaded assemblies and returns Enum.GetNames, so parameter values can be taken from the real API instead of guessed.

Args: enum_type_name: Full type name, e.g. "Eplan.EplApi.MasterData.MDPartsDatabaseItem+Enums+ProductGroup" (nested types use '+').

Returns: dict with the enum's value names.


Clone this wiki locally