Labsco
MCP SERVER

REPL MCP Server

by takafu

Keep a Python, Ruby or shell REPL alive across turns — send a line, read what came back, and watch it in the browser.

Editors, Terminals & Local Dev Environment
Summary
An agent can hold a REPL open instead of cramming everything into one command.

State is the whole point: a variable set on one call is still there on the next, which is what makes a remote Rails console or a long Python session workable through a model. The browser view means you can watch what it is doing rather than infer it.

What it is

A session manager for interactive REPLs and shells. A session survives between calls, so state built up inside it stays there, and each session gets a browser URL that streams its terminal output live over WebSocket.

What you get
  • Sessions created from a preset — Python, IPython, Node.js, Ruby pry or irb, bash, zsh — or from a custom configuration with your own setup commands and environment
  • Input sent to a live session, optionally waiting for the prompt to return
  • Sessions listed, inspected and destroyed, and the available presets listed
  • Signals sent to a running session
  • A browser URL per session, streaming the terminal live, with a display name in the tab title
  • Assistance when a command times out, and prompt patterns learned within a session
Requirements

Node.js and npx — the package installs on demand. It starts a web UI on a local port, moving up to the next free one if that one is taken. The REPLs run on the machine hosting the server, so they reach whatever that machine reaches.

Setup effort

One command — npx -y repl-mcp@latest