Python-Runtime-Interpreter-MCP-Server
PRIMS is a lightweight, open-source Model Context Protocol (MCP) server that lets LLM agents safely execute arbitrary Python code in a secure, throw-away sandbox.
Documentation
PRIMS – Python Runtime Interpreter MCP Server
PRIMS is a tiny open-source Model Context Protocol (MCP) server that lets LLM agents run arbitrary Python code in a secure, throw-away sandbox.
• One tool, one job. Exposes a single MCP tool – `run_code` – that executes user-supplied Python and streams back `stdout / stderr`.
• Isolated & reproducible. Each call spins up a fresh virtual-env, installs any requested pip packages, mounts optional read-only files, then nukes the workspace.
• Zero config. Works over MCP/stdio or drop it in Docker.
Quick-start
1. Local development environment
chmod +x scripts/setup_env.sh # once, to make the script executable
./scripts/setup_env.sh # creates .venv & installs deps
# activate the venv in each new shell
source .venv/bin/activate2. Launch the server
python -m server.main # binds http://0.0.0.0:9000/mcp3. Docker
# Quick one-liner (build + run)
chmod +x scripts/docker_run.sh
./scripts/docker_run.sh # prints the MCP URL when readyExamples
List available tools
You can use the provided script to list all tools exposed by the server:
python examples/list_tools.pyExpected output (tool names and descriptions may vary):
Available tools:
- run_code: Execute Python code in a secure sandbox with optional dependencies & file mounts.
- list_dir: List files/directories in your session workspace.
- preview_file: Preview up to 8 KB of a text file from your session workspace.
- persist_artifact: Upload an output/ file to a presigned URL for permanent storage.
- mount_file: Download a remote file once per session to `mounts/`.Run code via the MCP server
python examples/run_code.pyMount a dataset once & reuse it
python examples/mount_and_run.pyThis mounts a CSV with `mount_file` and then reads it inside `run_code` without re-supplying the URL.
Inspect your session workspace
python examples/inspect_workspace.pyThis shows how to use the `list_dir` and `preview_file` tools to browse files your code created.
Persist an artifact to permanent storage
The `persist_artifact` tool uploads a file from your `output/` directory to a presigned URL.
Example (Python):
await client.call_tool("persist_artifact", {
"relative_path": "plots/plot.png",
"presigned_url": "https://bucket.s3.amazonaws.com/...signature...",
})Download an artifact
Small artifacts can be fetched directly:
curl -H "mcp-session-id: " \
http://localhost:9000/artifacts/plots/plot.png -o plot.pngAvailable tools
| Tool | Purpose |
|---|---|
| `run_code` | Execute Python in an isolated sandbox with optional pip deps. |
| `list_dir` | List files/directories inside your session workspace. |
| `preview_file` | Return up to 8 KB of a text file for quick inspection. |
| `persist_artifact` | Upload an `output/` file to a client-provided presigned URL. |
| `mount_file` | Download a remote file once per session to `mounts/`. |
See the `examples/` directory for end-to-end demos.
Contributing
Contributions are welcome! Feel free to open issues, suggest features, or submit pull requests to help improve PRIMS.
If you find this project useful, please consider leaving a ⭐ to show your support.
Frequently asked questions
What is Python-Runtime-Interpreter-MCP-Server?
Python-Runtime-Interpreter-MCP-Server is PRIMS is a lightweight, open-source Model Context Protocol (MCP) server that lets LLM agents safely execute arbitrary Python code in a secure, throw-away sandbox.
How do I install Python-Runtime-Interpreter-MCP-Server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is Python-Runtime-Interpreter-MCP-Server open source?
Yes — it is hosted on GitHub at https://github.com/hileamlakB/PRIMS and has 18 stars.
Related MCP tools
🚀 The fast, Pythonic way to build MCP servers and clients Trusted by 19900+ developers. Trusted by 19900+ developers. Trusted by 19900+ developers.
Build effective agents using Model Context Protocol and simple workflow patterns Python-based implementation. Trusted by 7600+ developers.
ACI.dev is the open source tool-calling platform that hooks up 600+ tools into any agentic IDE or custom AI agent through direct function calling or a unifie...
AI conversations that actually remember. Never re-explain your project to Claude again. Local-first, integrates with Obsidian.
🌐Web Agent Protocol (WAP) - Record and replay user interactions in the browser with MCP support Python-based implementation.
A text-based user interface (TUI) client for interacting with MCP servers using Ollama. Features include multi-server, dynamic model switching, streaming res...
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP