Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DIPTRACE_MCP_WORKSPACEYesPath to the DipTrace workspace directory containing .dip/.dch files
DIPTRACE_MCP_ALLOWED_ROOTSNoOptional additional directories allowed for file access (semicolon-separated)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
diptrace_statusA

Show server paths and the active DipTrace bridge session, if any.

get_capabilitiesB

Return supported source types, adapters, limits and current feature availability.

get_document_infoC

Return document identity, type, version, size, sha256 and compatibility.

validate_roundtrip_evidenceA

Validate distinct allowed-root evidence roles and exact SHA bindings without writing.

The bounded result is always authority=user_supplied and grants_high_trust=false.

record_roundtrip_evidenceA

Write a user-supplied evidence manifest and provenance sidecar, not design bytes.

This explicitly writes metadata, returns written=true only after both files verify, remains authority=user_supplied, and can never grant high trust.

get_board_modelA

Return one strictly byte-bounded PCB page or a count-only summary.

get_schematic_modelC

Return the normalized schematic model for a DipTrace schematic document.

scan_component_librariesB

Find standalone DipTrace Component Library XML files inside allowed roots.

scan_pattern_librariesB

Find standalone DipTrace Pattern Library XML files inside allowed roots.

query_library_itemsC

Query normalized components or patterns in a standalone library.

get_library_componentC

Get one normalized component-library item by stable id or exact name.

get_library_patternB

Get one normalized pattern-library item by stable id or exact name.

validate_library_componentB

Validate component pins, attached pattern and pin-to-pad mapping.

validate_library_patternB

Validate pattern pad numbering, styles, geometry, holes and annular rings.

validate_pin_pad_mappingC

Validate component pin numbers against pads of its embedded attached pattern.

get_bomB

Return a normalized schematic or PCB BOM with multi-part RefDes deduplication.

review_bomC

Review BOM identity, DNP and value/pattern/MPN consistency.

compare_bom_to_designB

Compare typed external BOM rows with normalized design records by RefDes.

find_missing_component_fieldsC

Find components missing explicit required BOM fields.

group_bomC

Group BOM records by exact sourcing identity.

detect_duplicate_bom_itemsC

List identical BOM identity groups containing multiple RefDes.

validate_mpn_consistencyC

Detect one MPN mapped to conflicting manufacturer/value/pattern metadata.

validate_value_pattern_consistencyC

Detect value/pattern inconsistency across multi-part units and shared MPNs.

compare_schematic_to_pcbB

Compare RefDes, values, net names and pin/pad endpoint sets.

sync_schematic_to_pcbA

Additively synchronize schematic components, nets and ratlines into a PCB. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

export_bomC

Export a generic UTF-8 CSV BOM and provenance manifest as bounded resources.

export_fabrication_outputsB

Export a release-review manifest; native Gerber/drill requests fail explicitly.

export_assembly_outputsA

Export generic BOM/placement artifacts; vendor-native requests fail explicitly.

list_exportsA

List persistent export records without exposing state-directory paths.

query_objectsC

Structured query over the normalized model. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.

get_objectB

Return one normalized object by stable id.

get_connectivity_graphB

Return normalized logical endpoints and separate physical PCB ratlines.

scan_diptrace_documentsC

Find DipTrace XML/native-XML documents inside an allowed directory.

summarize_designC

Summarize a PCB or schematic: components, nets, layers, sheets and connectivity.

list_componentsC

List and search PCB components or grouped schematic component parts.

get_componentA

Get one component, its parts/pads and all connected nets by reference designator.

list_netsC

List PCB or schematic nets with component endpoints.

get_design_rulesA

Read PCB DRC/routing rules or schematic ERC settings from DipTrace XML.

read_xml_fragmentC

Read bounded XML fragments using ElementTree-compatible XPath.

apply_xml_editsB

Store a bounded diff resource, or write with its SHA/match guards and a backup. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

create_schematic_documentA

Create synthetic, not DipTrace-verified Schematic XML; overwrite needs current SHA.

create_pcb_documentA

Create a new DipTrace PCB XML document (outline, layers, stackup, rules).

This is synthetic MCP-generated content. It has the correct XML structure but has NOT been verified by DipTrace open/save. Use create_document_from_seed with a real DipTrace export when DipTrace compatibility is required. Replacing an existing target requires its current SHA. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.

create_document_from_seedA

Copy a valid DipTrace-shaped XML seed while preserving unknown XML.

Validation is derived only from a verified provenance sidecar; without one, the copy is synthetic_parser_only. Prefer a real export seed when DipTrace compatibility matters. Replacing an existing target requires its current SHA.

begin_transactionC

Create a transaction snapshot for a document or live session.

stage_operationsC

Attach registered semantic operations to an existing transaction. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.

preview_transactionA

Store preview artifacts and return bounded metadata without changing the design.

validate_transactionC

Validate staged operations and return the same bounded preview metadata.

commit_transactionB

Commit a staged transaction after verifying the source SHA-256.

rollback_transactionC

Restore a transaction snapshot or backup.

list_transactionsA

List persisted transaction ids, document hashes, states and operation counts.

move_componentsA

Move one or more components transactionally. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

set_component_valueA

Set the value of one or more components transactionally. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

rotate_componentsA

Rotate selected PCB components or schematic parts transactionally. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

set_component_sideA

Move selected PCB components to the top or bottom side. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

lock_componentsA

Lock selected PCB components or schematic parts. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

unlock_componentsA

Unlock selected components. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

set_component_propertiesA

Set RefDes, name, value or custom fields on selected components. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

set_component_patternA

Swap to one embedded pattern only when pad mapping is preserved exactly. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

align_componentsA

Align PCB component body bboxes as one semantic transaction. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

distribute_componentsA

Distribute at least three PCB components transactionally. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

group_componentsA

Create or reuse a documented DipTrace PCB group transactionally. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

ungroup_componentsA

Remove selected components from groups and prune only empty groups. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

list_board_textsC

List free board text and component silk/assembly markings. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.

move_board_textsA

Move free board text or component markings in board coordinates. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

rotate_board_textsA

Rotate free board text or component markings. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

set_text_visibilityB

Set visibility for component silk/assembly markings. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

set_text_styleA

Set verified style attributes on free PCB text shapes. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

set_pin_no_connectA

Set or clear intentional no-connect on selected schematic pins. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

set_component_fieldsA

Custom-field-only component update. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

rename_netA

Rename selected PCB or schematic nets with duplicate-name protection. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

add_sheetA

Add a new sheet to a schematic document. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

place_partA

Place a new schematic part referencing a library ComponentStyle. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

connect_pinsA

Connect part pins to a net; the net is created when missing. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

disconnect_pinsA

Disconnect selected schematic pins from their nets. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

add_wireA

Add a wire to a schematic net (official Wire/Points XML structure). All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

delete_wireA

Delete selected schematic wires without touching net connectivity. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

add_net_labelA

Add a net-bound text label shape to a schematic sheet. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

set_panelizationA

Set official DipTrace panelization parameters on a PCB document. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

clear_panelizationA

Remove panelization settings from a PCB document. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

update_net_class_rulesA

Update verified per-layer width and clearance fields of a PCB net class. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

assign_nets_to_classA

Assign selected PCB or schematic nets to an existing net class. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

set_diff_pair_rulesB

Net-class differential-pair preset. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

set_length_constraintsB

Net-class length preset. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

list_testpointsB

List explicit TP standalone-pad components in a PCB document. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.

find_testpoint_candidatesA

Generate deterministic free-grid testpoint candidates for selected nets. All distances are in millimetres, regardless of the document's own Units attribute.

add_testpointsA

Add explicit standalone-pad testpoints and connect them to existing nets atomically. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

move_testpointsA

Move explicit standalone-pad testpoints transactionally. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

remove_testpointsA

Remove explicit standalone-pad testpoints and their net/pattern references. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

review_testpoint_coverageB

Measure explicit standalone-pad testpoint coverage for selected or all nets.

check_silkscreenD

Alias: run_silkscreen_check.

plan_silkscreenB

Generate and persist a deterministic legal silkscreen placement plan. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.

apply_silkscreen_planA

Stage or commit a stored silkscreen plan as one semantic transaction. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

analyze_placementB

Measure current component overlap, containment and placement score. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.

generate_placement_candidatesB

Generate bounded deterministic local placement candidates. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.

score_placementA

Score an explicit component placement proposal without editing XML. All distances are in millimetres, regardless of the document's own Units attribute.

plan_component_placementC

Create a validated deterministic local component-placement plan. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.

legalize_component_placementD

Preset: plan_component_placement. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.

apply_component_placement_planA

Stage or commit a stored component-placement plan transactionally. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

add_traceA

Add an explicit validated trace path between two normalized pad endpoints. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

replace_traceA

Replace trace geometry while preserving both connected endpoints. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.

Prompts

Interactive templates invoked by user choice

NameDescription
review_diptrace_designCreate a safe workflow prompt for reviewing the active DipTrace design.
review_board_before_releaseReview a requested PCB scope before release using available checks.
place_selected_components_safelyPlan and preview bounded component placement for a requested scope.
review_schematic_before_layoutReview a requested schematic scope before PCB layout begins.
place_decoupling_networkPlan a bounded decoupling-network placement around selected components.
route_critical_netPlan a bounded route for one explicitly named critical net.
route_diff_pair_with_constraintsPlan a differential-pair route using explicit stackup and pair constraints.
clean_silkscreen_for_manufacturingPlan and validate silkscreen cleanup for the requested board scope.
add_testpoints_for_fixturePlan guarded testpoint coverage for explicitly selected nets.
review_return_pathsReview geometry-based return-path heuristics for selected nets.
prepare_fabrication_exportReview release readiness before creating a generic fabrication manifest.
prepare_assembly_exportReview one assembly variant before creating generic assembly artifacts.
review_bomReview BOM metadata and consistency for the requested variant.
compare_schematic_and_pcbCompare an explicit schematic and PCB without applying changes.
synchronize_schematic_to_pcbPlan a guarded schematic-to-PCB synchronization workflow.

Resources

Contextual data attached and managed by the client

NameDescription
status_resourceCurrent DipTrace MCP configuration and live-session state.
capabilities_resourceCurrent capability discovery payload.
trusted_provenance_registry_resourceRepository-owned exact-hash trust registry and current entry count.
tool_input_schemas_resourceCatalog of schemas for intentionally non-inlined high-cost tool inputs.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fireostendere/mcp_diptrace'

If you have feedback or need assistance with the MCP directory API, please join our Discord server