Skip to main content

Model Context Protocol server and live XML bridge for DipTrace

Project description

DipTrace MCP

English | Русский

CI Coverage gate

DipTrace MCP is a local Model Context Protocol server for reading, analysing, reviewing, and performing guarded edits on DipTrace PCB and schematic projects. It consists of:

  • diptrace-mcp, the MCP server used by Codex, Claude Desktop, and other MCP clients;
  • diptrace_mcp_bridge.exe, the Windows plug-in bridge for projects currently open in DipTrace.

Current status

Version 0.2.1 is the current distribution line. It is prepared as an explicitly unsigned alpha/development release with:

  • the Python package diptrace-mcp==0.2.1 for PyPI;
  • DipTrace-MCP-Setup-0.2.1.exe;
  • DipTrace-MCP-Portable-0.2.1.zip;
  • DipTrace-MCP-0.2.1-windows.mcpb;
  • wheel, source distribution, checksums, SBOM, dependency, notice, provenance, and release records.

The previous v0.2.0 release remains immutable. Existing tags and files are never replaced.

The Windows executables are unsigned. CI, SHA-256, PyPI Trusted Publishing, and package attestations establish tested behaviour, byte identity, and publication provenance. They do not create a trusted Authenticode signature, universal compatibility, independent review, or production readiness.

Public Release Status

The project uses the OSI-approved Apache-2.0 open-source LICENSE. Participation and release controls are documented in CONTRIBUTING.md, GOVERNANCE.md, docs/LICENSE_DECISION.md, docs/PUBLIC_RELEASE_CHECKLIST.md, docs/RELEASE_PROCESS.md, CHANGELOG.md, and CITATION.cff. Security reports use the private security channel; a verified Code of Conduct enforcement channel is not yet published.

  • Python archives are built from an exact allowlist and audited for entry points, packaged skills, bounds, metadata, and every RECORD hash and size.
  • PyPI publication uses GitHub OpenID Connect and a protected pypi environment; no long-lived PyPI API token is stored.
  • The PyPI publish job receives only the already validated wheel and source distribution from the separate build job.
  • Windows installer, bridge, standalone executable, configurator, portable bundle, and MCPB remain unsigned development assets.
  • CI, checksums, Trusted Publishing, and attestations do not create a code-signing or production-readiness claim.

What it provides

The public MCP surface contains 159 registered tools, 157 public DipTraceService methods, and 148 explicit Facade-to-domain-service delegations. Runtime get_capabilities remains authoritative for the active installation and document.

Main capability groups:

  • PCB, schematic, Component Library, and Pattern Library reading and modelling;
  • structured DRC/ERC, connectivity, BOM, assembly, DFM/DFA/DFT, comparison, and signal-integrity assistance;
  • guarded component, schematic, NetClass, text, trace, via, panelisation, placement, routing, and synchronisation workflows;
  • preview, expected SHA-256, policy, backup, atomic replace, rollback, and live-session apply/cancel boundaries;
  • optional Freerouting, ngspice, and openEMS process adapters;
  • local stdio and trusted-loopback Streamable HTTP transports.

DipTrace MCP is not a replacement for DipTrace's interactive EDA engine. It does not claim native Component/Pattern Library mutation, native Gerber/NC Drill generation, fabrication sign-off, Novarm/DipTrace endorsement, or universal DipTrace 5.x compatibility.

Installation

PyPI

Python 3.10 or newer is required:

python -m pip install diptrace-mcp==0.2.1
diptrace-mcp --help

The PyPI package installs the Python MCP server and packaged skills. It does not install the Windows DipTrace bridge plug-in automatically.

Windows installer

  1. Download DipTrace-MCP-Setup-0.2.1.exe and SHA256SUMS.txt from the same v0.2.1 GitHub Release.
  2. Verify the SHA-256 value.
  3. Run the installer and select the DipTrace location, workspace, state directory, and optional Codex/Claude configuration.
  4. Restart DipTrace and the MCP client.
  5. Call get_capabilities.

Windows may show a SmartScreen warning because the binaries are unsigned.

Portable Windows bundle

Download and verify DipTrace-MCP-Portable-0.2.1.zip, extract it to a stable location, read its README_FIRST.txt, and use the included helper tools.

Python source installation

git clone https://github.com/fireostendere/mcp_diptrace.git
cd mcp_diptrace
python -m venv .venv
. .venv/bin/activate
python -m pip install -e .
diptrace-mcp --help

See installation from release assets for the complete path.

MCPB, Registry, and Smithery

Version 0.2.1 adds the immutable distribution route prepared after v0.2.0:

  • deterministic Windows MCPB packaging;
  • canonical Registry identity io.github.fireostendere/diptrace-mcp;
  • official Registry server.json generation from a public MCPB URL and verified SHA-256;
  • Smithery publication from the same public MCPB;
  • PyPI Trusted Publishing for the Python server.

The MCPB contains the self-contained Windows stdio server. It does not silently install the DipTrace bridge plug-in. Live exchange requires the matching bridge and settings from the same GitHub release.

See MCP distribution and package publication.

Architecture

MCP client (Codex / Claude / other)
                 |
                 | stdio or trusted loopback HTTP
                 v
             FastMCP
                 |
                 v
     DipTraceService public Facade
                 |
                 +--> typed domain services
                 +--> shared stores, policy, cache, document gateway
                 |
                 v
       XML files / shared state
                 ^
                 |
       diptrace_mcp_bridge.exe
                 ^
                 |
              DipTrace

Safety model

The main write invariants are:

  1. paths remain inside configured allowed roots;
  2. XML is bounded and parsed before mutation;
  3. previews and commits are bound to exact SHA-256 values;
  4. existing targets are backed up;
  5. writes use temporary files and atomic replacement;
  6. policy and conservative write-impact limits are enforced;
  7. live apply rechecks the working, exchange, and original-file identities;
  8. cancel leaves the host exchange file unchanged;
  9. user-controlled sidecars cannot mint high trust.

Q1 Component Angle GUI/re-export validation remains NOT_RUN, and several real Windows/DipTrace/client acceptance items remain disclosed limitations.

Data Handling

  • DIPTRACE_MCP_WORKSPACE selects the ordinary workspace; caller paths remain subject to DIPTRACE_MCP_ALLOWED_ROOTS and literal path checks.
  • DIPTRACE_MCP_STATE_DIR stores local records plus live-session original.xml and working.xml; explicit apply or cancel controls finalisation.
  • Freerouting, ngspice, and openEMS run only through typed local process boundaries and isolated job directories; online sourcing is disabled by default.
  • MCP stdio keeps traffic on local process pipes and does not create a network listener.
  • streamable-http is intended only for trusted loopback use, for example 127.0.0.1:8765; OAuth and multi-user isolation are not implemented.
  • User projects, private evidence, proprietary libraries, and screenshots are not uploaded or committed automatically; the operator controls external data and publication.

Documentation

Contributing, security, and license

Contributions use DCO 1.1 and the provenance/privacy rules in CONTRIBUTING.md. Report suspected vulnerabilities through the private channel in SECURITY.md, not public issues.

Apache License 2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diptrace_mcp-0.2.1.tar.gz (935.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

diptrace_mcp-0.2.1-py3-none-any.whl (437.7 kB view details)

Uploaded Python 3

File details

Details for the file diptrace_mcp-0.2.1.tar.gz.

File metadata

  • Download URL: diptrace_mcp-0.2.1.tar.gz
  • Upload date:
  • Size: 935.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for diptrace_mcp-0.2.1.tar.gz
Algorithm Hash digest
SHA256 39cc2658ca0888cc52ef583c0f6940831afc7b3af2472397001cf4e3bc5a29e0
MD5 5e9fb3f700f76400bfcba19e9b76d4fa
BLAKE2b-256 dd91dc514db96793062bbdafe0328144c88668d0f604457b917149f32281b105

See more details on using hashes here.

Provenance

The following attestation bundles were made for diptrace_mcp-0.2.1.tar.gz:

Publisher: pypi.yml on fireostendere/mcp_diptrace

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file diptrace_mcp-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: diptrace_mcp-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 437.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for diptrace_mcp-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 325ad8b032f1014d61a5b38e2cc2af3f97105c73246edad06ca1739704e872ea
MD5 9f6092cce7246720fdfae29b6549beb5
BLAKE2b-256 0bc047410fdce688fc26bc8b3a5b5ea983b48f264b6d464c7a023dafb0eca414

See more details on using hashes here.

Provenance

The following attestation bundles were made for diptrace_mcp-0.2.1-py3-none-any.whl:

Publisher: pypi.yml on fireostendere/mcp_diptrace

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page