Model Context Protocol server and live XML bridge for DipTrace
Project description
DipTrace MCP
English | Русский
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.1for 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
RECORDhash and size. - PyPI publication uses GitHub OpenID Connect and a protected
pypienvironment; 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
- Download
DipTrace-MCP-Setup-0.2.1.exeandSHA256SUMS.txtfrom the samev0.2.1GitHub Release. - Verify the SHA-256 value.
- Run the installer and select the DipTrace location, workspace, state directory, and optional Codex/Claude configuration.
- Restart DipTrace and the MCP client.
- 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.jsongeneration 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:
- paths remain inside configured allowed roots;
- XML is bounded and parsed before mutation;
- previews and commits are bound to exact SHA-256 values;
- existing targets are backed up;
- writes use temporary files and atomic replacement;
- policy and conservative write-impact limits are enforced;
- live apply rechecks the working, exchange, and original-file identities;
- cancel leaves the host exchange file unchanged;
- 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_WORKSPACEselects the ordinary workspace; caller paths remain subject toDIPTRACE_MCP_ALLOWED_ROOTSand literal path checks.DIPTRACE_MCP_STATE_DIRstores local records plus live-sessionoriginal.xmlandworking.xml; explicitapplyorcancelcontrols finalisation.- Freerouting, ngspice, and openEMS run only through typed local process boundaries and isolated job directories; online sourcing is disabled by default.
- MCP
stdiokeeps traffic on local process pipes and does not create a network listener. streamable-httpis intended only for trusted loopback use, for example127.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
- Usage
- MCP tools and resources
- Architecture
- MCP distribution and package publication
- Windows and Python installation
- Testing
- Roadmap
- Security and policy
- Transactions
- Release process
- v0.2.1 release checklist
- v0.2.1 release record
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39cc2658ca0888cc52ef583c0f6940831afc7b3af2472397001cf4e3bc5a29e0
|
|
| MD5 |
5e9fb3f700f76400bfcba19e9b76d4fa
|
|
| BLAKE2b-256 |
dd91dc514db96793062bbdafe0328144c88668d0f604457b917149f32281b105
|
Provenance
The following attestation bundles were made for diptrace_mcp-0.2.1.tar.gz:
Publisher:
pypi.yml on fireostendere/mcp_diptrace
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
diptrace_mcp-0.2.1.tar.gz -
Subject digest:
39cc2658ca0888cc52ef583c0f6940831afc7b3af2472397001cf4e3bc5a29e0 - Sigstore transparency entry: 2343501014
- Sigstore integration time:
-
Permalink:
fireostendere/mcp_diptrace@1d2b7bef256cd43262b566dc2cd4050248d0145d -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/fireostendere
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@1d2b7bef256cd43262b566dc2cd4050248d0145d -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
325ad8b032f1014d61a5b38e2cc2af3f97105c73246edad06ca1739704e872ea
|
|
| MD5 |
9f6092cce7246720fdfae29b6549beb5
|
|
| BLAKE2b-256 |
0bc047410fdce688fc26bc8b3a5b5ea983b48f264b6d464c7a023dafb0eca414
|
Provenance
The following attestation bundles were made for diptrace_mcp-0.2.1-py3-none-any.whl:
Publisher:
pypi.yml on fireostendere/mcp_diptrace
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
diptrace_mcp-0.2.1-py3-none-any.whl -
Subject digest:
325ad8b032f1014d61a5b38e2cc2af3f97105c73246edad06ca1739704e872ea - Sigstore transparency entry: 2343501026
- Sigstore integration time:
-
Permalink:
fireostendere/mcp_diptrace@1d2b7bef256cd43262b566dc2cd4050248d0145d -
Branch / Tag:
refs/tags/v0.2.1 - Owner: https://github.com/fireostendere
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi.yml@1d2b7bef256cd43262b566dc2cd4050248d0145d -
Trigger Event:
workflow_dispatch
-
Statement type: