Skip to main content

Ovrin MCP server

An MCP server that gives MCP-capable clients (Claude Desktop, Claude Code, Cursor, VS Code, …) a real Linux computer on Ovrin: create a sandbox, run shell commands, execute stateful code, and read and write files — from the model.

It is a thin tool layer over the ovrin Python SDK, so accounts, quota, and metering all apply.

Install

pip install ovrin-mcp

Configure

Create a sandboxes-scoped API key in the console (Keys → Create key). A scoped key can only touch /sandboxes/*, so a leaked client config cannot read usage, mint keys, or touch billing.

export OVRIN_API_KEY="ovrin_..."

Claude Desktop / Claude Code

{
  "mcpServers": {
    "ovrin": {
      "command": "ovrin-mcp",
      "env": { "OVRIN_API_KEY": "ovrin_..." }
    }
  }
}

Cursor and VS Code use the same command + env shape.

Tools

Tool Purpose
sandbox_create Create a sandbox (template, timeout, payments)
sandbox_list / sandbox_get Inspect sandboxes
sandbox_kill Terminate and stop billing
sandbox_pause / sandbox_resume / sandbox_renew Lifecycle
command_run Run a shell command
code_run / create_code_context Stateful code execution
file_read / file_write / file_list / file_search Files
sandbox_endpoint Public URL for a port

Options

ovrin-mcp --help
  --api-key            Ovrin API key (default: OVRIN_API_KEY)
  --base-url           Control plane URL (default: OVRIN_BASE_URL)
  --transport          stdio (default) | sse | streamable-http
  --host               Bind host for sse/streamable-http (default: 127.0.0.1)
  --port               Bind port for sse/streamable-http (default: 8000)
  --default-template   Template when sandbox_create omits one (default: python)
  --default-timeout    Lifetime in seconds when omitted (default: 3600)
  --max-sandboxes      Session cap (default: 5)
  --keep-sandboxes     Do not terminate session-created sandboxes on exit

Remote transport

stdio is the default and what local clients use. To serve multiple clients over the network, run the HTTP transports:

ovrin-mcp --transport streamable-http --host 0.0.0.0 --port 8000
# MCP endpoint: http://<host>:8000/mcp

ovrin-mcp --transport sse --host 0.0.0.0 --port 8000
# SSE endpoint:  http://<host>:8000/sse

Put it behind TLS and an authenticating proxy before exposing it. Each session still holds one OVRIN_API_KEY (the process key), and the session cap and cleanup-on-exit apply per process.

On exit the server terminates the sandboxes it created this session (--keep-sandboxes disables that). Sandboxes you created elsewhere are left alone.

Release files for ovrin-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ovrin-mcp 0.1.1
File Size Uploaded
ovrin_mcp-0.1.1.tar.gz 81.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ovrin-mcp 0.1.1
File Interpreter ABI Platform
ovrin_mcp-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 92.4 kB

Release files / ovrin_mcp-0.1.1.tar.gz

Download URL ovrin_mcp-0.1.1.tar.gz
Size 81.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d5e50c2cd58e3a4592236f0c81091d9d0c6459915adbb79d8c27076dffb926d9
BLAKE2b-256 checksum
How to use checksums
e0ec468edee5e27a3f7c920deccce818cbd970adc0cbcb73943d95be7eee7e0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release files / ovrin_mcp-0.1.1-py3-none-any.whl

Download URL ovrin_mcp-0.1.1-py3-none-any.whl
Size 10.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
52a3d29179febcc5d80d2b4ddbb2635e4becdb220fa175c248980e574e2579d7
BLAKE2b-256 checksum
How to use checksums
5e3bd44d5aea58075976c87e42ec1840aa11eac3fe101a9bbe8d74032bf594be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page