Skip to main content

Model Context Protocol server for forkd microVM sandboxes

Project description

forkd MCP server

An MCP server that exposes forkd microVM sandboxes as tools to any MCP-aware client — Claude Desktop, Claude Code, Cursor, Cline, etc.

What it lets the agent do

Once registered, the agent can:

Tool What
list_snapshots See available parent templates
spawn_sandboxes Fork N children from a template
list_sandboxes List live sandboxes
get_sandbox Inspect one sandbox by id
exec_command Run a shell command in a sandbox
eval_code Evaluate Python against the warmed PID-1
ping_sandbox Health-check a sandbox
kill_sandbox Terminate one sandbox

Each tool maps 1:1 onto a forkd-controller REST endpoint (docs/API.md). The server is stateless; the controller owns sandbox lifecycle.

Install

pip install forkd-mcp
# or from source:
pip install -e .

Requires the forkd-controller daemon running locally (README) and reachable on http://127.0.0.1:8889 by default.

Configure

Environment variables:

Var Default Purpose
FORKD_URL http://127.0.0.1:8889 Controller base URL
FORKD_TOKEN unset Bearer token, required when daemon is started with --token-file
FORKD_HTTP_TIMEOUT 60 Per-request timeout (seconds)

Register with Claude Desktop

Add to your claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "forkd": {
      "command": "forkd-mcp",
      "env": {
        "FORKD_URL": "http://127.0.0.1:8889",
        "FORKD_TOKEN": "<contents-of-/etc/forkd/token>"
      }
    }
  }
}

Restart Claude Desktop. The eight tools above will appear in the "hammer" menu.

Register with Claude Code

claude mcp add forkd --env FORKD_URL=http://127.0.0.1:8889 \
                     --env FORKD_TOKEN=$(sudo cat /etc/forkd/token) \
                     -- forkd-mcp

Verify with claude mcp list.

Smoke test

# In one shell, start the controller:
sudo systemctl start forkd-controller

# In another, run the MCP server stand-alone (stdio transport):
FORKD_TOKEN=$(sudo cat /etc/forkd/token) forkd-mcp
# The server will block on stdin waiting for an MCP client.

To exercise the server without an MCP client, point any MCP debugger at it (e.g. npx @modelcontextprotocol/inspector forkd-mcp).

What this is and isn't

Is — a thin wrapper that lets MCP clients drive forkd. The agent plans, the MCP server forwards, the controller actually forks VMs.

Isn't — a sandbox itself. forkd-controller must be running, and the host needs KVM + a registered snapshot. See recipes/ for ready-to-fork parent images.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

forkd_mcp-0.1.0.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

forkd_mcp-0.1.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file forkd_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: forkd_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for forkd_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5c5dc3f07f140fbce66da9141c17f01a2d7cbe651b1300fea94f5cc56cc716ec
MD5 30a4b0ecb6f44de332d8e4a40914c875
BLAKE2b-256 2edc35fd0e4b3267ce7293ad330322d7fe9cbbdeaeb59eb05f5fc98551bc3cdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for forkd_mcp-0.1.0.tar.gz:

Publisher: publish-pypi-mcp.yml on deeplethe/forkd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file forkd_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: forkd_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for forkd_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b3ce10e39c6a66cd0771d4f8fd83703882ea3fbd6ea1b594e56412622ef7299e
MD5 1891f1d4693695d448d2bd1a113e59ae
BLAKE2b-256 854318eaf263cbd8f7439ae34ef9541ff76a93897659f4714e9a40c2b68def52

See more details on using hashes here.

Provenance

The following attestation bundles were made for forkd_mcp-0.1.0-py3-none-any.whl:

Publisher: publish-pypi-mcp.yml on deeplethe/forkd

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page