Skip to main content

siglent-spd-mcp

MCP server for Siglent SPD Series Power Supplies (SPD3303X, SPD3303X-E, SPD1168X, etc.).

Exposes voltage/current control, measurement, monitoring, timer, and system configuration as Model Context Protocol tools over SCPI/TCP.

Installation

pip install siglent-spd-mcp

Configuration

The server connects to the power supply via TCP/SCPI. Set the host and port with environment variables:

Variable Default Description
SPD_HOST (required) IP address of the power supply
SPD_PORT 5025 SCPI TCP port

Permissions (default: readonly)

All channels default to read-only. Set to readwrite to allow control:

Variable Values Description
CH1_PERM readonly / readwrite Channel 1 write access
CH2_PERM readonly / readwrite Channel 2 write access
CH3_PERM readonly / readwrite Channel 3 write access
NETWORK_PERM readonly / readwrite Network config write access
MEMORY_PERM readonly / readwrite Save/recall write access

Safety limits (optional)

Set per-channel voltage and current limits to prevent accidental damage:

Variable Example Description
CH1_MAX_VOLTAGE 5.0 Max voltage for CH1 (V)
CH1_MAX_CURRENT 1.0 Max current for CH1 (A)
CH2_MAX_VOLTAGE 32.0 Max voltage for CH2 (V)
CH2_MAX_CURRENT 3.2 Max current for CH2 (A)

Usage

Claude Desktop / Claude Code

Add to your MCP client configuration:

{
  "mcpServers": {
    "siglent-spd": {
      "command": "siglent-spd-mcp",
      "env": {
        "SPD_HOST": "192.168.1.100",
        "CH1_PERM": "readwrite",
        "CH1_MAX_VOLTAGE": "5.0",
        "CH1_MAX_CURRENT": "1.0"
      }
    }
  }
}

Direct execution

# Via entry point
siglent-spd-mcp

# Via module
python -m siglent_spd_mcp

Tools

Identification

  • identify - Query instrument ID (manufacturer, model, serial, firmware)

Measurement

  • measure_voltage - Measure actual output voltage
  • measure_current - Measure actual output current
  • measure_power - Measure actual output power
  • measure_all - Measure voltage, current, and power in one call

Control

  • set_voltage - Set voltage setpoint
  • get_voltage - Query voltage setpoint
  • set_current - Set current limit
  • get_current - Query current setpoint
  • set_output - Turn channel output on/off
  • set_tracking_mode - Set tracking mode (independent/series/parallel)

Monitoring

  • monitor - Measure for a fixed duration, return time-series data
  • start_monitor - Start continuous background measurement
  • stop_monitor - Stop background monitor and return collected data
  • get_monitor_data - Peek at data from a running monitor

Timer

  • set_timer - Configure timer group parameters
  • get_timer - Query timer group parameters
  • set_timer_state - Enable/disable timer function

System

  • get_system_status - Query decoded system status flags
  • get_error - Query error code
  • get_version - Query software version
  • get_safety_config - Show configured permissions and safety limits

Save/Recall

  • save_state - Save instrument state to nonvolatile memory
  • recall_state - Recall instrument state (with safety limit checks)

Network

  • set_ip / get_ip - Static IP address
  • set_mask / get_mask - Subnet mask
  • set_gateway / get_gateway - Gateway address
  • set_dhcp / get_dhcp - DHCP enable/disable

Display

  • set_waveform_display - Toggle waveform display per channel

License

GPLv3+

Metadata

Release files for siglent-spd-mcp 0.1.3

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

Source distribution (sdist)

Source distribution for siglent-spd-mcp 0.1.3
File Size Uploaded Provenance
siglent_spd_mcp-0.1.3.tar.gz 9.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for siglent-spd-mcp 0.1.3
File Interpreter ABI Platform
siglent_spd_mcp-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 19.7 kB

Release files / siglent_spd_mcp-0.1.3.tar.gz

Download URL siglent_spd_mcp-0.1.3.tar.gz
Size 9.4 kB
Tags Source
SHA-256 checksum
How to use checksums
84dd5ca9be710f8cb15f16c7a1b9c311034c041675f1d9b9447fcdea420b7c30
BLAKE2b-256 checksum
How to use checksums
00e79b0e536fed4614d1da6d2c9e0a80259fffdce7280516b1a8df128537094e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 11, 2026.

Transparency log

Release files / siglent_spd_mcp-0.1.3-py3-none-any.whl

Download URL siglent_spd_mcp-0.1.3-py3-none-any.whl
Size 10.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
12e8ad53c6ab6d8018ffc3fc9282a459a010523e2ef013134f2dae46a2aa9139
BLAKE2b-256 checksum
How to use checksums
034eb148b2bc43982def7b7c4b1ee63339ca6256cbb51d7c7a066f6bed1b72bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 11, 2026.

Transparency log

Security for siglent-spd-mcp 0.1.3

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for siglent_spd_mcp-0.1.3.tar.gz

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 Mar 11, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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