Skip to main content
Glama

renode-mcp

MCP (Model Context Protocol) server for controlling Renode emulations.

Overview

This server lets Claude Code and other MCP clients start, control, and inspect a headless Renode instance: launch it, load .resc scripts, run/pause emulation, read and write system-bus memory, and capture UART output — all over Renode's telnet monitor interface.

It is firmware- and platform-agnostic: point it at your built Renode and (optionally) a directory of .resc scripts, and drive whatever machines those scripts define.

Related MCP server: ghidra-mcp-aarch64

Setup

  1. Install dependencies:

    pip install -r requirements.txt
  2. Build Renode (if you haven't already):

    cd /path/to/renode && ./build.sh --no-gui
  3. Register in your MCP client (see mcp-config.json for an example) and set the environment variables below.

Configuration

Variable

Required

Description

RENODE_PATH

yes

Path to a built Renode source tree (contains output/bin/Release/Renode.dll).

RENODE_TELNET_PORT

no

Telnet port for the Renode monitor (default 1234).

RENODE_SCRIPTS_DIR

no

Directory of .resc scripts. Each is exposed by its filename stem; scripts can also be referenced by absolute path.

Available Tools

Tool

Description

renode_start

Launch Renode and optionally load a .resc script

renode_stop

Stop the Renode instance

renode_status

Check status, list machines and known scripts

renode_execute

Execute an arbitrary monitor command

renode_load_script

Load a .resc script with optional variable overrides

renode_run_macro

Run a macro defined in the loaded script

renode_start_emulation

Start (resume) emulation

renode_pause_emulation

Pause emulation

renode_run_for

Run for a specific virtual time duration

renode_read_memory

Read bytes from the system bus

renode_write_memory

Write bytes to the system bus

renode_enable_log

Enable log file capture for UART output

renode_get_uart_output

Read recent UART console output from the log

Architecture

MCP Client  <--stdio-->  renode_mcp.py  <--telnet-->  Renode (headless)

The server manages a single Renode process, launched with --port <N> --disable-xwt --plain. Commands are sent as text over a TCP telnet socket to the Renode monitor console.

License

MIT — see LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    Enables AI agents and automation to perform Ghidra reverse-engineering tasks through MCP, including decompilation, live debugging, P-code emulation, data-flow analysis, and headless script execution, with specialized AArch64-aware emulation.
    8
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP clients to launch and manage an owned Mindustry runtime, create logic fixtures, configure processors with mlog programs, observe live memory values, and verify program replacements with digest preconditions.
    7 npm
    1
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to interact with real terminal sessions across local and remote hosts, driving multi-turn interactive programs like TUIs, REPLs, and SSH prompts through MCP.
    35
    MIT