Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Beschreibung vom Entwickler (englisches Original)
Measurements with a Siglent SDM3045X bench multimeter via USB or LAN (unofficial)
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
SDM_RESOURCE, SDM_SERIAL, SDM_ALLOW_SCPI, SDM_VISA_BACKENDDu brauchst
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"siglent-sdm3045x": {
"command": "uvx",
"args": [
"mcp-server-siglent-sdm3045x"
],
"env": {
"SDM_RESOURCE": "your-value",
"SDM_SERIAL": "your-value",
"SDM_ALLOW_SCPI": "your-value",
"SDM_VISA_BACKEND": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add siglent-sdm3045x --env SDM_RESOURCE=your-value --env SDM_SERIAL=your-value --env SDM_ALLOW_SCPI=your-value --env SDM_VISA_BACKEND=your-value -- uvx mcp-server-siglent-sdm3045xTrag die leeren Werte ein, bevor du ihn startest.
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"siglent-sdm3045x": {
"command": "uvx",
"args": [
"mcp-server-siglent-sdm3045x"
],
"env": {
"SDM_RESOURCE": "your-value",
"SDM_SERIAL": "your-value",
"SDM_ALLOW_SCPI": "your-value",
"SDM_VISA_BACKEND": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"siglent-sdm3045x": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-server-siglent-sdm3045x"
],
"env": {
"SDM_RESOURCE": "your-value",
"SDM_SERIAL": "your-value",
"SDM_ALLOW_SCPI": "your-value",
"SDM_VISA_BACKEND": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
SDM_RESOURCE envSDM_SERIAL envSDM_ALLOW_SCPI envSDM_VISA_BACKEND envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 9. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto shaag7967 bestätigt, dem das Repo gehört
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.1) kam vor 10 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
In derselben Kategorie: Spec Driven Development, Remote Desktop Commander, Agilitycms MCP
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
An MCP server that provides access to Agility CMS. See https://mcp.agilitycms.com for more details.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
An MCP server that lets AI assistants take measurements with a Siglent SDM3045X bench multimeter connected via USB or LAN.
Unofficial project, not affiliated with or endorsed by Siglent.
Tested with an SDM3045X, firmware 5.02.01.10, over USB (Linux) and LAN.
| Tool | Description |
|---|---|
read | One reading with the function and range set on the instrument, keeping them |
measure | Select a function (DC/AC voltage and current, 2/4-wire resistance, capacitance, frequency, period, continuity, diode, temperature) and take one reading |
sample | Timestamped readings over a period (max 600 s, interval ≥ 0.1 s) with min/max/mean/stdev |
burst | Up to 10000 readings as fast as the instrument can (about 180/s at speed fast), with statistics |
get_device_info | Model, serial number, firmware, connection and the present measurement configuration |
Every reading comes with its unit, the range used and, where the data sheet gives a single figure, its accuracy (e.g. ±(0.06 % of reading + 8 counts) as an absolute value). Overloads are reported as "overload": true instead of the instrument's 9.9E37.
With --allow-scpi one more tool is available:
| Tool | Description |
|---|---|
scpi | Send any SCPI command or query from the Remote Manual (statistics, limits, null, …) |
The raw SCPI tool is off by default because it can change any setting, including the LAN configuration.
usbtmc driver makes the instrument available as /dev/usbtmc0. Give logged-in users access with a udev rule: echo 'SUBSYSTEM=="usbmisc", KERNEL=="usbtmc[0-9]*", TAG+="uaccess"' | sudo tee /etc/udev/rules.d/70-usbtmc.rules
sudo udevadm control --reload && sudo udevadm trigger
--visa-backend @ivi.SYST:COMM:LAN:IPAD? (e.g. with the scpi tool) shows the address in use.claude mcp add siglent-sdm3045x -- uvx mcp-server-siglent-sdm3045x
claude mcp add siglent-sdm3045x -- uvx mcp-server-siglent-sdm3045x --resource 192.168.1.50
{
"mcpServers": { "siglent-sdm3045x": { "command": "uvx", "args": ["mcp-server-siglent-sdm3045x"] } } }
| Option | Environment variable | Default |
|---|---|---|
--resource RESOURCE | SDM_RESOURCE | auto-detect on USB, then LAN |
--serial SERIAL | SDM_SERIAL | any SDM3045X |
--allow-scpi | SDM_ALLOW_SCPI=1 | off |
--visa-backend BACKEND | SDM_VISA_BACKEND | @py (pyvisa-py) |
--log-level LEVEL | SDM_LOG_LEVEL | WARNING (or DEBUG, INFO, ERROR, CRITICAL) |
RESOURCE can be a device file (/dev/usbtmc0), an IP address or host name (VXI-11), or any VISA resource string such as TCPIP::192.168.1.50::5025::SOCKET (raw socket) or USB0::0xF4EC::0x1203::SDM34XXXXXXXXX::INSTR. Port 5024 is a telnet console and does not work as a socket resource.
Auto-detection tries /dev/usbtmc* first, then Siglent instruments listed by VISA on USB (leaving out those already asked through /dev/usbtmc*, since pyvisa-py would take them away from the kernel driver), then VXI-11 instruments in every network this computer is connected to (UDP broadcast to the portmapper, about 1 s). It accepts the first one that identifies itself as an SDM3045X. With several instruments, --serial picks one by its serial number (shown by get_device_info, on the rear label and under *Utility → System Setup → System Info*). Set --resource instead if the instrument is in another subnet, where the broadcast does not reach it; the two options exclude each other.
uv sync
uv run pytest # tests use a simulated instrument npx @modelcontextprotocol/inspector uv run mcp-server-siglent-sdm3045x # try the tools interactively
To check a real instrument, connect it and run:
uv run python scripts/hardware_test.py # voltage-type functions only
uv run python scripts/hardware_test.py --with-test-current # also resistance, current, capacitance, … uv run python scripts/hardware_test.py --reconnect # also unplug/replug USB when asked
The basic checks only use functions that put no current into the inputs. Observed instrument behaviour, including where it differs from the Remote Manual, is described in docs/protocol.md.
MIT