mcpField
F
fcvm

fcvm

Local
github.comDeveloper Tools0Updated 2d ago

About fcvm

fcvm-mcp launches fcvm as an MCP server, giving AI agents disposable Firecracker microVM sandboxes for running and preparing code. It requires a Linux host with KVM and supports snapshotting and forking running VMs.

Key features

  1. 01Run commands and manage files in sandboxes
  2. 02Build images and commit prepared states
  3. 03Snapshot and fork running VMs
  4. 04Control sandbox network access

Use cases

  1. 01Run agent-generated code in disposable VMs
  2. 02Prepare a VM state and fork copies
  3. 03Restrict sandbox access to selected hosts

MCP support

It launches `fcvm mcp`, exposing sandbox tools to MCP clients, including command execution, file operations, image building, state commits, snapshots, and VM forks.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"carlosbravoa-fcvm": {
"command": "uvx",
"args": [
"fcvm-mcp"
],
"env": {
"FCVM_MCP_NETWORK": "<FCVM_MCP_NETWORK>",
"FCVM_MCP_TEMPLATE": "<FCVM_MCP_TEMPLATE>",
"FCVM_MCP_TTL": "<FCVM_MCP_TTL>",
"FCVM_MCP_IDLE_STOP": "<FCVM_MCP_IDLE_STOP>",
"FCVM_MCP_SECRETS": "<FCVM_MCP_SECRETS>",
"FCVM_MCP_FORWARD": "<FCVM_MCP_FORWARD>",
"FCVM_MCP_CACHE": "<FCVM_MCP_CACHE>",
"FCVM_MCP_JAIL": "<FCVM_MCP_JAIL>",
"FCVM_BIN": "<FCVM_BIN>"
}
}
}
}
Run commanduvx fcvm-mcp
Environment variables to set
FCVM_MCP_NETWORKPin the network policy for every sandbox: none, or an allowlist such as @pypi,@github
FCVM_MCP_TEMPLATETemplate used when the agent names neither an image nor a template, e.g. python-sandbox
FCVM_MCP_TTLStop sandboxes this long after boot unless the agent sets a lifetime, e.g. 4h
FCVM_MCP_IDLE_STOPStop sandboxes that saw no exec or file operation for this long, e.g. 30m
FCVM_MCP_SECRETSSecretNames of environment variables passed into every sandbox as secrets, e.g. GITHUB_TOKEN
FCVM_MCP_FORWARDHost credentials relayed into every sandbox: ssh-agent, git
FCVM_MCP_CACHE1: restricted sandboxes fetch pip and npm packages through the host's mirror
FCVM_MCP_JAIL0: don't run sandboxes under the Firecracker jailer even when it is set up
FCVM_BINPath of the fcvm command, when it isn't on PATH, in ~/.local/bin or in /usr/local/bin

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypifcvm-mcp0.7.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

fcvm-mcp

Starts the MCP server of fcvm, which gives an AI agent disposable Firecracker microVMs as sandboxes. Each sandbox boots its own kernel in about a second from any OCI image. The agent gets tools to run commands, read and write files, build images, commit prepared states, and snapshot a VM to fork running copies in about 150 ms. Network access is off, full, or an allowlist of hosts enforced by a logging proxy.

This package is only a launcher: it finds the installed fcvm and runs fcvm mcp. fcvm itself needs a Linux host with KVM:

curl -fsSL https://raw.githubusercontent.com/carlosbravoa/fcvm/main/install.sh | sh
fcvm setup

Then register the server with your MCP client. With Claude Code:

claude mcp add fcvm -- uvx fcvm-mcp
claude mcp add fcvm -e FCVM_MCP_NETWORK=@pypi,@github -- uvx fcvm-mcp   # agents can only reach PyPI and GitHub

In a client's JSON configuration:

{"mcpServers": {"fcvm": {"command": "uvx", "args": ["fcvm-mcp"]}}}

The launcher looks for fcvm on PATH, then in ~/.local/bin and /usr/local/bin. Set FCVM_BIN to use another one. Running fcvm mcp directly works the same way and needs no Python package.

Settings are environment variables: FCVM_MCP_NETWORK pins the network policy, FCVM_MCP_TEMPLATE picks the default template, FCVM_MCP_TTL and FCVM_MCP_IDLE_STOP stop forgotten sandboxes, FCVM_MCP_SECRETS and FCVM_MCP_FORWARD hand credentials to sandboxes without the agent seeing them. The agents guide covers the tools and every setting.

Apache License 2.0.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.