Skip to main content

WE Multitool DUT MCP

multitool-mcp is a dependency-free Model Context Protocol server for inspecting and debugging a device under test (DUT) through a Wise Electronics WE Multitool.

It runs over standard input/output and bridges the Multitool's JSON-over-WebSocket API. It exposes bounded MCP tools for GPIO, I2C, SPI, UART, PWM, and GPIO ownership.

Requirements

  • Python 3.11 or later
  • A WE Multitool reachable over WebSocket

Install

Install from PyPI once published:

python -m pip install multitool-mcp

For development from a clone:

python -m pip install -e .

Configure an MCP client

Run the installed command:

[mcp_servers.we_multitool_dut]
command = "multitool-mcp"
env_vars = ["WE_MULTITOOL_URL", "WE_MULTITOOL_TIMEOUT_SECONDS"]
startup_timeout_sec = 10
tool_timeout_sec = 35
default_tools_approval_mode = "prompt"

By default, the server connects to ws://we-multitool.local/ws. Set these environment variables before starting the MCP client to change that:

WE_MULTITOOL_URL=ws://10.0.0.1/ws
WE_MULTITOOL_TIMEOUT_SECONDS=8

On PowerShell:

$env:WE_MULTITOOL_URL = "ws://10.0.0.1/ws"
$env:WE_MULTITOOL_TIMEOUT_SECONDS = "8"

Safety and firmware behavior

Read pins_get before configuring pins, and verify wiring, voltage, bus role, and DUT limits before driving signals.

  • Commands are serialized because firmware responses do not carry request IDs.
  • UART data received while another command awaits a response is buffered.
  • The gpio_set firmware command has no acknowledgement; gpio_write reports it as dispatched but unverified.
  • The firmware tracks one active WebSocket response socket. Do not use the browser UI and MCP bridge concurrently.

Development

python -m pip install -e ".[test]"
python -m pytest

The runtime has no third-party dependencies. The optional test extra installs pytest.

License

Licensed under the GNU General Public License, version 3 or later (GPL-3.0-or-later). See LICENSE.

Release files for multitool-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for multitool-mcp 0.1.0
File Size Uploaded
multitool_mcp-0.1.0.tar.gz 12.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for multitool-mcp 0.1.0
File Interpreter ABI Platform
multitool_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.9 kB

Release files / multitool_mcp-0.1.0.tar.gz

Download URL multitool_mcp-0.1.0.tar.gz
Size 12.9 kB
Tags Source
SHA-256 checksum
How to use checksums
11e694e3573a2e50e324169de5fd6a52bb4ae36f96946709a41ffd4be932de18
BLAKE2b-256 checksum
How to use checksums
91d042d3a3dd9f3d858ffd319b827f65c5389ef4add258f3a0e88977475d225d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release files / multitool_mcp-0.1.0-py3-none-any.whl

Download URL multitool_mcp-0.1.0-py3-none-any.whl
Size 12.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
444b86e685061f47b44d2fcaf067d522f6aac52e1a1fcef6747447c9e028d6dc
BLAKE2b-256 checksum
How to use checksums
92c197f6b96a481f58e39aa2fef72927bdc5e6f065f0c4c50fecd5a9b848fa53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page