logic-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@logic-mcpdecode the i8080 bus from the capture file and reconstruct the ST7789 display"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
logic-mcp
Vendor-neutral MCP server for logic analyzers. Cursor (or any MCP client) can capture from hardware, open a trace file, decode a bus, and reconstruct a display framebuffer.
DreamSourceLab / DSView, Saleae, and VCD are plugins, not the product name.
Cursor ── stdio MCP ── logic-mcp
├─ in-process: mock / sigrok_cli / dslogic
└─ ipc / dsview ── Unix socket ── vendor process
└─ LogicCapture → bus decode → interpret / PNGWhat it does
Live instrument control — scan, configure, start/stop/wait, export.
Offline files — open a capture (DSView CSV today; Saleae CSV / VCD are stubs).
Bus decode — Intel 8080 / MCU 8080 parallel is implemented; SPI, I2C, UART are stubs with roles reserved.
Upper decode — MIPI DCS / ST7789 command log + optional PNG reconstruction.
Vendors attach in either way:
In-process — Python
InstrumentBackendregistered onlogic_mcp.instruments.IPC — a long-lived process speaking
logic_mcp.instrument.v1on a Unix socket (patched DSView, or the reference hublogic-mcp-instrument).
MCP tool names stay vendor-neutral. Do not add dsview_set_rate-style tools.
Related MCP server: mcp-sigrok
Status
Layer | Implemented | Stub / placeholder |
Instruments |
|
|
Capture files | DSView / libsigrok4DSL CSV | Saleae CSV, VCD |
Buses |
|
|
Devices |
| other panels via extra YAML |
dslogic drives hardware through sigrok-cli, not the DSView GUI. USB is exclusive: close DSView before using dslogic. The stable DSView path is the patch in vendor/dsview (backend=dsview).
Requirements
Python 3.11+
uv (recommended) or pip
Optional:
sigrok-clionPATH(orSIGROK_CLI) for livesigrok_cli/dslogicOptional: DSView rebuilt with the patch in
vendor/dsview(listens on$XDG_RUNTIME_DIR/logic-mcp/dsview.sock)
Install
git clone https://github.com/dengtaowei/logic-mcp.git
cd logic-mcp
uv sync --extra dev
uv run pytestCursor MCP
Add to Cursor MCP settings. Point --directory at your clone:
{
"mcpServers": {
"logic": {
"command": "uv",
"args": ["--directory", "/path/to/logic-mcp", "run", "logic-mcp"]
}
}
}The server speaks MCP over stdio. It returns JSON summaries, not raw sample dumps.
Workflows
Offline CSV
capture_open(path) → bus_decode(protocol, channel_map) → interpret / display_reconstructPin maps are explicit. Column names or 0-based indices:
{
"protocol": "i8080",
"channel_map": {
"d0": "0", "d1": "1", "d2": "2", "d3": "3",
"d4": "4", "d5": "5", "d6": "6", "d7": "7",
"wr": "WR", "dc": "DC", "cs": "CS"
}
}display_reconstruct (profile st7789) writes a command log and PNG frames under out/ (or LOGIC_MCP_OUT).
Full config in MCP (mock / sigrok)
instrument_open(backend) → instrument_configure → instrument_capture
→ bus_decode → interpretCaptureRequest fields: sample_rate_hz, channels, duration_s xor sample_count, optional trigger, extra. There is no channel_count; pass the channel name list.
Config in the vendor GUI (DSView)
Human sets rate, channels, and trigger in DSView. MCP only arms:
instrument_open("dsview") → instrument_start → instrument_wait → instrument_exporthello.configure=false means the GUI owns sample rate and channels. instrument_capture without sample_rate_hz is valid on those backends.
Instrument backends
id | Transport | Config owner | Notes |
| in-process | MCP | Always available; for tests and the reference hub |
| in-process subprocess | MCP | Portable probe via |
| in-process subprocess | MCP |
|
| Unix socket | advertised by hub | Default |
| Unix socket | GUI | Default |
| — | — | Unimplemented (Logic 2 Automation API) |
Reference hub (wraps an in-process backend behind the socket):
uv run logic-mcp-instrument --socket "$XDG_RUNTIME_DIR/logic-mcp/instrument.sock"
# optional: --backend mock --gui-ownedIPC methods, framing, and states: src/logic_mcp/instrument/PROTOCOL.md.
MCP tools
Inventory: protocol_list, session_status.
Instrument: instrument_list, instrument_scan, instrument_open, instrument_close, instrument_capabilities, instrument_configure, instrument_capture, instrument_start, instrument_stop, instrument_wait, instrument_export.
Decode: capture_open, protocol_roles, bus_decode, interpret, display_analyze, display_reconstruct.
Extending
Entry points in pyproject.toml:
Group | What to implement |
|
|
|
|
|
|
| upper decoder (e.g. MIPI DCS) |
Out of process: listen on the Unix socket and implement hello / status / start / stop / wait / export (and configure / capabilities if you own config). Python reference: logic-mcp-instrument.
When a vendor’s own GUI/SDK must be patched, put a unified diff under vendor/<id>/ (pinned upstream commit + series). Do not copy their whole tree. First example: vendor/dsview.
Panel YAML (profiles/st7789.yaml, or LOGIC_MCP_PROFILES): width, height, offsets, extra DCS opcodes.
Environment
Variable | Purpose |
| Artifact directory (default |
| Extra panel YAML directory |
| Default |
| Default |
| Path to |
License
MIT for logic-mcp.
Patches under vendor/ are against other projects and keep that project’s license. vendor/dsview is GPLv3+ (DreamSourceLab DSView).
This server cannot be deployed
Maintenance
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Repository knowledge graph MCP server for codebase understanding and debugging.
MCP server for OnceAsk, the AI-native current-address layer for people and agents.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMCP server for BusPirate 6 hardware security testing. Exposes UART, SPI, I2C, 1-Wire, power supply, GPIO, and logic analyzer operations as tools.2MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that exposes all functionality of sigrok-cli as MCP tools, enabling hardware initialization, signal acquisition, and protocol decoding for logic analyzers.2MIT
- FlicenseNot gradedqualityCmaintenanceLocal MCP server for building an agent-facing integration around DreamSourceLab DSView. Enables native logic capture, protocol decode, and analysis with artifact management for I2C, SPI, and UART.-

canforge-mcpofficial
AlicenseAqualityBmaintenanceLocal, read-only MCP server for inspecting DBC files and decoding CAN capture logs, with bounded and composable tools.13MIT