22 Tools
Four tool categories covering the full stack: universal instrument control, GPIB bus operations, AR488 adapter management, and pymeasure-validated drivers.
22 Tools
Four tool categories covering the full stack: universal instrument control, GPIB bus operations, AR488 adapter management, and pymeasure-validated drivers.
pymeasure Drivers
8 instruments have validated pymeasure drivers. Out-of-range values are rejected before reaching hardware — protecting expensive equipment from bad commands.
Multi-Backend
Connect AR488 serial adapters, USB-TMC instruments, LAN/VXI-11 devices, and NI-VISA resources simultaneously. Run cross-backend workflows with concurrent access across independent buses.
Zero-Config Discovery
Auto-discover instruments on connect. Devices are identified via *IDN? and registered for immediate use. Address by VISA resource string or friendly alias — no manual mapping required.
graph LR
LLM["Your LLM"]
MCP["mcpyvisa<br/>FastMCP Server"]
RM["pyvisa<br/>ResourceManager(s)"]
AR["AR488<br/>Serial / WiFi"]
PY["pyvisa-py<br/>USB-TMC / LAN"]
NI["NI-VISA<br/>System"]
INST1["GPIB<br/>Instruments"]
INST2["USB / LAN<br/>Instruments"]
INST3["Any VISA<br/>Instrument"]
LLM -- "MCP" --> MCP
MCP --> RM
RM --> AR
RM --> PY
RM --> NI
AR --> INST1
PY --> INST2
NI --> INST3
style LLM fill:#78350f,stroke:#d97706,color:#fde68a
style MCP fill:#78350f,stroke:#d97706,color:#fde68a
style RM fill:#451a03,stroke:#d97706,color:#fde68a
style AR fill:#334155,stroke:#94a3b8,color:#e2e8f0
style PY fill:#334155,stroke:#94a3b8,color:#e2e8f0
style NI fill:#334155,stroke:#94a3b8,color:#e2e8f0
style INST1 fill:#334155,stroke:#94a3b8,color:#e2e8f0
style INST2 fill:#334155,stroke:#94a3b8,color:#e2e8f0
style INST3 fill:#334155,stroke:#94a3b8,color:#e2e8f0
A typical session: discover instruments across backends, identify them by alias, take a measurement, and read the result.
> What instruments are available?
Server status: 2 backend(s), 4 instrument(s) bench-a (ar488, serial): connected GPIB0::5::INSTR — Agilent Technologies E3631A (alias: psu) GPIB0::22::INSTR — KEITHLEY INSTRUMENTS INC.,MODEL 2000 (alias: dmm) lan-rack (pyvisa-py): connected TCPIP::192.168.1.10::INSTR — Tektronix TDS2024B (alias: scope) USB0::0x0957::0x0607::MY12345::INSTR — Agilent 34461A (alias: bench-dmm)
> What voltage is the dmm reading?
Reading "voltage" property via pymeasure driver...Result: 4.23451
The Keithley 2000 (alias "dmm") is reading 4.23451 VDC.(pymeasure driver handled SCPI commands and response parsing)uv add mcpyvisapip install mcpyvisagit clone https://git.supported.systems/warehack.ing/mcgpib.gitcd mcgpibuv run mcpyvisaAdd to Claude Code:
claude mcp add mcpyvisa -- uvx mcpyvisa| Category | Tools | Description |
|---|---|---|
| Universal | 8 | Connect backends, discover instruments, query, write, identify, and reset — works with any pyvisa backend |
| GPIB | 7 | Serial poll, SRQ check, bus trigger, interface clear, instrument clear, local/remote control |
| AR488 | 3 | Raw ++ commands, extended diagnostics, and AR488-specific configuration |
| pymeasure | 4 | Validated inspect, get, set, and call through pymeasure drivers |