Labsco
MCP SERVER

ForeverVM

by jamsocket

Give the assistant a Python REPL that stays alive between calls, so state carries from one snippet to the next.

Sandboxed Code Execution
Summary
Two tools, and the second one is the whole point.

Code execution servers usually run each snippet in a fresh process, which means loading the dataframe again on every question. Addressing a long-lived REPL by ID removes that: load once, then ask five follow-up questions against the object still in memory.

What it is

A thin server over ForeverVM. It creates a Python REPL and hands back an ID; every later call runs code in that same REPL, so variables and imports persist instead of starting from an empty interpreter each time.

What you get
  • Create a Python REPL and get its ID back
  • Run code in a named REPL and get the result of the execution
  • Persistent state across calls, because the REPL is addressed by ID rather than recreated
  • Several REPLs at once if you want separate working contexts
Requirements

Node, and the install command does the client wiring: npx forevervm-mcp install --claude. For other clients the package is forevervm-mcp and the vendor documents the configuration. Running it locally for development points the client at npm with the repository path.

Setup effort

One command — npx forevervm-mcp install --claude