mcpField
F
fcvm

fcvm

本地服务
github.com开发工具02 天前更新

关于 fcvm

fcvm-mcp 启动 fcvm 的 MCP 服务,为 AI Agent 提供可丢弃的 Firecracker microVM 沙箱以运行和准备代码。它需要带 KVM 的 Linux 主机,并支持快照和分叉运行中的虚拟机。

主要功能

  1. 01在沙箱中运行命令和管理文件
  2. 02构建镜像并提交准备好的状态
  3. 03对运行中的虚拟机创建快照和分叉
  4. 04控制沙箱网络访问

适用场景

  1. 01在可丢弃的虚拟机中运行 Agent 生成的代码
  2. 02准备虚拟机状态并分叉副本
  3. 03将沙箱访问限制为指定主机

MCP 相关

它启动 `fcvm mcp`,向 MCP 客户端提供沙箱工具,包括命令执行、文件操作、镜像构建、状态提交、快照和虚拟机分叉。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"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>"
}
}
}
}
启动命令uvx fcvm-mcp
需要配置的环境变量
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_SECRETS密钥Names 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

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypifcvm-mcp0.7.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

fcvm-mcp

启动 fcvm 的 MCP 服务,为 AI Agent 提供一次性 Firecracker microVM 作为沙箱。每个沙箱都能从任意 OCI 镜像启动自己的内核,耗时约 1 秒。Agent 可以使用工具运行命令、读写文件、构建镜像、提交准备好的状态,并为 VM 创建快照,以便在约 150 毫秒内分叉出运行中的副本。网络访问可设为关闭、完全开放,或通过日志代理强制执行主机白名单。

此软件包仅负责启动:它会查找已安装的 fcvm 并运行 fcvm mcp。fcvm 本身需要一台支持 KVM 的 Linux 主机:

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

然后向 MCP 客户端注册此服务。使用 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

在客户端的 JSON 配置中:

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

启动器会先在 PATH 中查找 fcvm,然后查找 ~/.local/bin 和 /usr/local/bin。设置 FCVM_BIN 可指定其他路径。直接运行 fcvm mcp 效果相同,且无需安装 Python 软件包。

设置通过环境变量配置:FCVM_MCP_NETWORK 固定网络策略,FCVM_MCP_TEMPLATE 选择默认模板,FCVM_MCP_TTL 和 FCVM_MCP_IDLE_STOP 用于停止被遗忘的沙箱,FCVM_MCP_SECRETS 和 FCVM_MCP_FORWARD 用于向沙箱传递凭据,而不会让 Agent 看到这些凭据。Agent 指南 介绍了这些工具和所有设置。

Apache License 2.0。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。