trace32-mcp
AI-driven interface for Lauterbach TRACE32 PowerView debugging, inspection, and scripting via remote API.
README
TRACE32 MCP Server
An MCP server that wraps Lauterbach TRACE32's
public remote API (RCL) via the official lauterbach-trace32-rcl
(PyRCL) package. It lets an AI agent (e.g. GitHub Copilot agent mode) drive
TRACE32 PowerView for three MVP use cases:
- Debugging — read/write memory, registers and variables; run control (go / break / step); breakpoints
- Resource inspection — connection/run state, CPU, memory & register snapshots, PRACTICE function evaluation
- Script execution & flash — run PRACTICE
.cmmscripts, including SW target flash
Prerequisites
-
Python 3.9+
-
TRACE32 PowerView already running with the remote API (RCL) enabled. Add this to your
config.t32(blank line before/after each block):RCL=NETTCP PORT=20000Sanity-check it works before wiring up MCP:
t32rem localhost PRINT VERSION.SOFTWARE()
Install
pip install -e .
Configuration (environment variables)
| Variable | Default | Description |
|---|---|---|
T32_NODE |
localhost |
PowerView host |
T32_PORT |
20000 |
RCL port |
T32_PROTOCOL |
TCP |
TCP (recommended) or UDP |
T32_PACKLEN |
1024 |
UDP packet length (ignored for TCP) |
T32_TIMEOUT |
10 |
Connection/request timeout (s) |
T32_ALLOW_WRITE |
false |
Enables t32_write_memory, t32_write_register, t32_run_command, t32_run_script |
T32_ALLOW_FLASH |
false |
Enables t32_flash |
Safety guards
All read and debug-control tools are always available. Destructive operations are OFF by default and must be explicitly enabled:
T32_ALLOW_WRITE=true→ memory/register writes, arbitrary command passthrough, script executionT32_ALLOW_FLASH=true→ flash programming (independent ofT32_ALLOW_WRITE)
When a guard is closed, the tool returns an error explaining which flag to set — it never silently touches the target.
Register with GitHub Copilot (VS Code)
Workspace file .vscode/mcp.json is included. Adjust the env
values (host/port, and the guard flags when you intend to write/flash), then start
the server from the MCP view or the MCP: List Servers command. You can also run it
standalone:
python -m trace32_mcp
Tools
| Tool | Guard | Purpose |
|---|---|---|
t32_status |
— | Connection, run state, CPU, software build |
t32_read_memory |
— | Read N bytes → hex |
t32_read_register / t32_list_registers |
— | Read register(s) |
t32_read_variable |
— | Read an HLL variable/symbol |
t32_eval |
— | Evaluate a PRACTICE function expression |
t32_go / t32_break / t32_step |
— | Run control |
t32_set_breakpoint / t32_clear_breakpoint / t32_list_breakpoints |
— | Breakpoints |
t32_write_memory / t32_write_register |
ALLOW_WRITE |
Write memory/register |
t32_run_command |
ALLOW_WRITE |
Arbitrary TRACE32 command |
t32_run_script |
ALLOW_WRITE |
Run a PRACTICE .cmm (DO) |
t32_flash |
ALLOW_FLASH |
Program target flash via a flash .cmm |
Tests
pytest
Unit tests mock PyRCL, so no running TRACE32 is required. For end-to-end checks, the TRACE32 Instruction Set Simulator can stand in for real hardware.
Roadmap (post-MVP)
Trace/CTS inspection, symbol/source browsing, multicore selection, call stack, peripheral register views, structured variable trees, multi-instance routing.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.