1. Conduid
  2. Developer Tools
  3. Usbtmc Lite MCP
MCP server · Developer Tools

Usbtmc Lite MCP

MCP server for controlling USBTMC (USB Test and Measurement Class) instruments

Unclaimed MIT devtools
56Fair

Scored 13 days ago · breakdown

About Usbtmc Lite MCP

Usbtmc Lite MCP is an MCP server published by NaoNaoMe in the Developer Tools category: mCP server for controlling USBTMC (USB Test and Measurement Class) instruments.

Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/NaoNaoMe/usbtmc-lite-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Usbtmc Lite MCP

Powered by Claude · Grounded in docs

I know everything about Usbtmc Lite MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

3 checks have not been run yet.

Releases

v0.2.0v0.2.0 · 28 Aug 2026What's Changed Migrate to the mcp v2 API (v0.2.0) by @NaoNaoMe in https://github.com/NaoNaoMe/usbtmc-lite-mcp/pull/1 New Contributors @NaoNaoMe made their first contribution in https://github.com/NaoNaoMe/usbtmc-lite-mcp/pull/1 Full…
v0.1.1v0.1.1 · 21 Aug 2026Added an upper bound (<2.0.0) to the mcp dependency. mcp 2.0 renames FastMCP to MCPServer and moves it from mcp.server.fastmcp to mcp.server.mcpserver. Since this server still imports the old path (mcp.server.fastmcp), a fresh install with…
v0.1.0v0.1.0 · 11 Feb 2026Full Changelog: https://github.com/NaoNaoMe/usbtmc-lite-mcp/commits/v0.1.0

README

USBTMC MCP Server

A Model Context Protocol (MCP) server for controlling multiple USBTMC (USB Test and Measurement Class) devices simultaneously using SCPI commands.

Features

  • Multi-Device Support: Connect and control up to 16 instruments at once.
  • Unified Interface: Use standard SCPI commands via a simplified MCP toolset.
  • Keysight Support: Includes specialized tools to unlock Keysight modular instruments from firmware mode to USBTMC mode.
  • Screenshot Capture: Take screenshots from Keysight/Agilent and Tektronix oscilloscopes.
  • State Management: Automatic tracking of device IDs and connection states.

Requirements

  • Python >= 3.13

Windows Additional Setup

This project uses libUSB as a backend for USB communication. On Windows, you need to install a compatible USB driver for your device using Zadig.

  1. Download and run Zadig
  2. Select your target USB device from the dropdown (enable Options → List All Devices if it does not appear)
  3. Select WinUSB as the driver and click Replace Driver

Note: Replacing the driver will remove the device's original functionality (e.g., HID recognition). To restore it, uninstall the driver from Device Manager and reconnect the device.

Installation

Using uv (recommended):

uv pip install usbtmc-lite-mcp

Or via pip:

pip install usbtmc-lite-mcp

Or from source:

git clone https://github.com/NaoNaoMe/usbtmc-lite-mcp.git
cd usbtmc-lite-mcp
uv sync

Configuration

Claude Desktop Config

Add the server to your claude_desktop_config.json:

{
  "mcpServers": {
    "usbtmc-lite-mcp": {
      "command": "uvx",
      "args": [
        "usbtmc-lite-mcp"
      ]
    }
  }
}

Tools Overview

Connection

  • usbtmc_list_devices: Scan the USB bus for available USBTMC instruments.
  • usbtmc_list_connected_devices: List all currently active device connections.
  • usbtmc_connect: Establish a connection to a specific device (returns a device_id).
  • usbtmc_disconnect: Close the connection to a device.

Communication

  • usbtmc_query: Send a SCPI query (e.g., *IDN?) and receive the response.
  • usbtmc_send: Send a SCPI command.
  • usbtmc_receive: Manually reads the response.
  • usbtmc_clear: Clear device buffers and reset communication state.

Keysight / Tektronix Utilities

  • usbtmc_unlock_keysight_devices: Switch Keysight modular instruments to USBTMC mode.
  • usbtmc_screenshot_keysight_display: Capture a screenshot from a Keysight/Agilent oscilloscope.
  • usbtmc_screenshot_tektronix_display: Capture a screenshot from a Tektronix oscilloscope.

Example Workflow

  1. List Devices: Call usbtmc_list_devices to find your instrument's serial number.
  2. Connect: Call usbtmc_connect with the serial_number. It will return a device_id (e.g., 0).
  3. Identify: Call usbtmc_query with device_id: 0 and command: "*IDN?".
  4. Configure: Call usbtmc_send to set parameters.
  5. Disconnect: Call usbtmc_disconnect when finished.

License

This project is licensed under the MIT License — see the LICENSE file for details.

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Usbtmc Lite MCP

How do I install Usbtmc Lite MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Usbtmc Lite MCP safe to use with an AI agent?

Its trust score is 56 out of 100 (fair). It passes 2 of the 3 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Usbtmc Lite MCP still maintained?

Yes — the latest release is v0.2.0 (28 Aug 2026), and the last commit was a month ago. The repository has 0 stars.