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.0

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.0
File Size Uploaded
ovrin_mcp-0.1.0.tar.gz 11.2 kB Details

Built distribution (wheel)

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

Total release size: 20.5 kB

Release files / ovrin_mcp-0.1.0.tar.gz

Download URL ovrin_mcp-0.1.0.tar.gz
Size 11.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ae8f5c097a5b146dfac3b6d5befa20885fcf2d292db83a80d14139f0671ae467
BLAKE2b-256 checksum
How to use checksums
e81c0c7f8bdc994d39dd37af96918e98e5da16929bf42d2bb7bdca2c03562b74
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 10, 2026.

Transparency log

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

Download URL ovrin_mcp-0.1.0-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
84baa52cd033aa3524478a72751dff78da913da7448d8a7acdb524029d942ce9
BLAKE2b-256 checksum
How to use checksums
5e439100144db5f0a9319989a06d095778554761d6e7139b5021b34e3414dd0d
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 10, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.0 This release

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