Generic SCPI Instrument MCP Server

2 / SCPI instrument: multimeters, oscilloscopes, source-measure units, power supplies, electronic loads, function generators, spectrum analyzers and counters. It works over GPIB, USBTMC, LAN (VXI-11, HiSLIP, raw socket) and RS-232. Because the agent writes raw SCPI, the server puts the safety in the plumbing. The read path accepts only single queries. Anything that changes the…. Its 15 documented tools cluster into read & search, scpi, apply, device.

People who work with scpi and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in Python.

One of 32 MCP servers published from k-dense-ai/lab-instrument-mcps. Stars and repository activity are shared across all of them. See all 32 →

VERIFIED ACTIVE

LAST COMMIT 2026-09-26 · VERIFIED 2026-09-30

Apache-2.0 · Python servers · how we verify → /methodology

01 · Install Generic SCPI Instrument

Claude Code

claude mcp add k-dense-ai-lab-instrument-mcps-servers-p -- uvx labmcp-scpi

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "k-dense-ai-lab-instrument-mcps-servers-p": {
      "command": "uvx",
      "args": [
        "labmcp-scpi"
      ]
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions

repo age created 2026-09-25 - young repo, little track record yet

license Apache-2.0 - declared in the repository

pypi package labmcp-scpi - check the name against the project README before installing (PyPI has no namespace ownership)

registry namespace io.github.K-Dense-AI is GitHub-verified and matches the repo owner

03 · What Generic SCPI Instrument can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can read and clear the instrument's error/event queue (SYSTem:ERRor? until 0,"No error"). g. after it was power cycled or a cable was re-plugged), and send any SCPI program message (settings, compound 'A.

Capability map

Tools grouped from the project's README - what Generic SCPI Instrument lets an agent do.

read & search

5 tools - e.g. Return the most recent raw commands sent to / replies received from the instrument (newest last). Useful for debugging and for recording what was done.; Report which instrument is connected (identity…

get_command_log · get_connection_info · get_errors · list_visa_resources · query_binary_block

Scpi

4 tools - e.g. Run a short sequence of SCPI commands and queries in order, checking the error queue after every step. Every step is checked against the command policy BEFORE t; Concise SCPI syntax guide (long/short…

scpi_batch · scpi_primer · scpi_query · scpi_write

Apply

1 tool - e.g. Put the instrument into the lab's configured safe state (the --option safe_state program message, e.g. 'OUTP OFF'), then read the error queue. Only listed when

apply_safe_state

Device

1 tool - e.g. Recover a stuck or confused instrument: VISA device clear (or discard unread input on socket/serial links), report the error queue, optionally ABORt, then CLS.

device_clear

Identify

1 tool - e.g. Ask the instrument who it is (IDN?): manufacturer, model, serial number, firmware.

identify

Reconnect

1 tool - e.g. Close and re-open the connection to the instrument (e.g. after it was power cycled or a cable was re-plugged).

reconnect

Reset

1 tool - e.g. Reset the instrument to its default settings (RST, then CLS), wait for completion and check errors. SCPI requires outputs OFF after RST, but every other setting

reset_instrument

Wait

1 tool - e.g. Wait until the instrument has finished all pending operations (OPC? returns 1), e.g. after starting a sweep, an acquisition or a settling source.

wait_operation_complete

Limitations (from the README)

- A generic server cannot make an arbitrary instrument safe. device_clear does four things: a VISA device clear (on raw socket and serial links it only discards unread input), reads the error queue, sends ABORt, and sends CLS. It recovers communication and stops sweeps. It does not switch outputs off. Configure safe_state for anything that sources energy. For hazardous gear, use an instrument-specific LabMCP server w

04 · Who maintains Generic SCPI Instrument

Generic SCPI Instrument is maintained by k-dense-ai. We track 32 MCP servers from k-dense-ai - 32 actively maintained, 9 combined GitHub stars, oldest repo from Sep 2026. Full record: all servers from k-dense-ai.

  1. Tecan Cavro Syringe Pump MCP server for Tecan Cavro syringe pumps (XLP 6000, XMP 6000, XCalibur) over the DT protocol. ★ 9
  2. Micro-Manager Microscope MCP server for microscopes controlled by Micro-Manager (pymmcore-plus). ★ 9
  3. Opentrons OT-2 / Flex MCP server for Opentrons OT-2 and Flex liquid-handling robots (HTTP API). ★ 9
  4. Atlas Scientific EZO Sensors MCP server for Atlas Scientific EZO sensor circuits (pH, ORP, DO, EC, RTD, HUM, CO2, PRS) over UART. ★ 9
  5. New Era Syringe Pump MCP server for New Era Pump Systems syringe pumps (NE-1000 family, RS-232). ★ 9
  6. Alicat Mass Flow & Pressure Controller MCP server for Alicat mass flow and pressure meters/controllers. ★ 9

05 · Facts

category
other - actively maintained as of 2026-09-30.
registry
io.github.K-Dense-AI/labmcp-scpi (active, first published 2026-09-26 · 4 versions)
packages
pypi:labmcp-scpi

06 · Generic SCPI Instrument FAQ

Is Generic SCPI Instrument still maintained?

Yes - as of 2026-09-30, its last commit was 2026-09-26. We re-verify nightly.

What can Generic SCPI Instrument do?

With this server connected, an agent can read and clear the instrument's error/event queue (SYSTem:ERRor? until 0,"No error"). g. after it was power cycled or a cable was re-plugged), and send any SCPI program message (settings, compound 'A.

How do I install Generic SCPI Instrument?

Run `uvx labmcp-scpi`. You can also paste the ready-made client config above.

Does Generic SCPI Instrument run locally?

Yes - it's a stdio server: it runs on your machine (via uvx) with your user's permissions. Your data stays local unless the server itself calls external APIs.

07 · Alternatives to Generic SCPI Instrument