Skip to main content
Glama
sandraschi

logic-analyzer-mcp

logic-analyzer-mcp

MIT License Python 3.12+ FastMCP 3.2+

AI-driven USB logic analyzer control via FastMCP 3.2. Capture digital traces with sigrok or the built-in simulator, decode UART/I2C/SPI, and export VCD for PulseView.

How it runs

Mode

Hardware

When

Simulator (default)

None

Development, CI, agent dry-runs

sigrok

Hantek 6022BL (LA mode), DSLogic, FX2 clones

Production bench with sigrok-cli

The MCP server does not bundle sigrok. Install PulseView or sigrok-cli separately, then connect your USB LA.

Related MCP server: Logic Analyzer AI MCP

Hands-in / Hands-out

Direction

Artifacts

Notes

Hands-in

device_id, channels, trigger

Via la_device, la_configure, la_trigger

Hands-out

Trace preview (downsampled JSON)

la_capture(operation="single")

Hands-out

CSV, VCD, JSON summary

la_capture(operation="export_vcd") in LOGIC_ANALYZER_MCP_CAPTURE_DIR

Hands-out

Protocol decode rows

la_decode(operation="uart")

Fleet pipelines

Partner MCP

Workflow

oscilloscope-mcp

Mixed-signal bring-up (analog + digital)

kicad-mcp

Verify SPI/I2C after PCB bring-up

chip-design-mcp

Debug FPGA/MCU buses

Quick Start

Set-Location D:\Dev\repos\logic-analyzer-mcp
uv sync --extra dev
just webapp
# Open http://127.0.0.1:10989

STDIO-only (Cursor MCP):

just serve

Dry-run without hardware:

la_device(operation="connect", device_id="sim-la-001")
la_capture(operation="single", sample_rate_hz=1000000, sample_count=4096)
la_decode(operation="uart", rx="D0")

Cursor MCP config

Add to C:\Users\sandr\.cursor\mcp.json:

"logic-analyzer-mcp": {
  "command": "C:/Users/sandr/.local/bin/uv.exe",
  "args": [
    "--directory",
    "D:/Dev/repos/logic-analyzer-mcp",
    "run",
    "python",
    "-m",
    "logic_analyzer_mcp",
    "--stdio"
  ],
  "env": {
    "FASTMCP_BANNER": "0",
    "FASTMCP_UPDATE_CHECK": "0",
    "PYTHONUNBUFFERED": "1",
    "LOGIC_ANALYZER_MCP_BACKEND": "auto"
  }
}

Restart Cursor after editing mcp.json.

Tools

Tool

Operations

la_device

list, connect, disconnect, status, capabilities, backends

la_configure

channels, sample_rate, get, simulator_pattern

la_trigger

set, get

la_capture

single, preview, export_csv, export_vcd, export_summary, last

la_decode

list, run, last, uart, i2c, spi

la_help

discover, tool_help, status, quickstart, faq, hardware_guide

Webapp

Port

Role

10985

Backend (FastAPI + MCP /mcp)

10989

Frontend (Vite React — dashboard, device, configure, trigger, trace, decode, logs)

just webapp

Native App (Tauri)

A Tauri 2.0 wrapper (native/) packages the backend with PyInstaller into a single NSIS installer — one shortcut, embedded Python, no separate runtime.

pwsh -NoProfile -File native/build.ps1   # webapp → PyInstaller → Rust → NSIS
just cua-nsis-test                        # install → launch → verify → uninstall

Documentation

License

MIT — see LICENSE.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that provides AI assistants with a persistent, sandboxed Python environment for waveform analysis, enabling loading and manipulation of VCD/FST/FSDB files and temporal pattern matching.
    9
    -
  • A
    license
    A
    quality
    B
    maintenance
    AI-driven USB oscilloscope control via FastMCP, enabling waveform capture, CSV export, and frequency measurements on PicoScope, Hantek, or a built-in simulator.
    6
    3
    MIT