Run AnyThing.

One binary. Every REPL. Shared namespace.

rat wraps language runtimes as MCP servers. Start a Python kernel in your terminal β€” then connect from Claude Desktop, VS Code, Cursor, or any MCP client. Same variables. Same session. Zero glue code.


1. Install & set up a language

One installer. One install command. Done.

macOS / Linux
curl -fsSL https://runanything.dev/install.sh | sh
Windows PowerShell
irm https://runanything.dev/install.ps1 | iex
Terminal
rat install py
2. Open a REPL

Full IPython with syntax highlighting, tab completion, and magic commands.

Terminal
rat py
In [1]: df = pd.read_csv("sales.csv")
In [2]: df.head()
3. Connect an AI β€” same session

Open Claude Desktop. β€œAnalyze the dataframe I just loaded.” It sees the same df.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Terminal β”‚ β”‚ Claude β”‚ β”‚ VS Code β”‚
β”‚ rat py β”‚ β”‚ Desktop β”‚ β”‚ ext β”‚
β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
β”‚
http://127.0.0.1:8717/mcp
β”‚
one Python kernel

Four tools. That’s the whole API.

ToolWhat it does
runExecute code or provide input
lookInspect variables, complete code, see state
tailRecent activity log
ctlReset, cancel, restart

Same four tools for every language. Same four tools whether you’re a human in a terminal, an LLM, or a notebook app.


Why rat

Shared namespace

Your terminal, Claude, VS Code, and Cursor all see the same variables. Load data once, use it everywhere.

Project-scoped kernels

rat py in ~/project-a is separate from ~/project-b. Automatic isolation, no configuration.

Any language

Python, R, bash, pi agent built in. Add any language with a YAML file and a kernel script β€” no Go code.

Native MCP

Every kernel is an MCP server. Works with Claude Desktop, Cursor, and any MCP client out of the box.


Get started