mcpField
A
antrieb

antrieb

远程服务
github.com/jade-pico云与基础设施1426 周前更新
代码仓库

关于 antrieb

antrieb 是面向 LLM 生成网络与基础设施配置的远程 MCP 服务,可在真实虚拟机组成的临时集群中执行和验证代码。它支持多节点与自定义网络拓扑,并可将配置好的镜像或操作步骤保存为可复用资产。

主要功能

  1. 01创建临时多节点虚拟机集群
  2. 02配置多网络和多网卡拓扑
  3. 03在节点上执行命令并验证结果
  4. 04保存镜像或可执行操作手册
  5. 05搜索镜像、操作手册和活动集群

适用场景

  1. 01在隔离集群中验证防火墙或路由配置
  2. 02测试面向多节点的基础设施脚本
  3. 03搭建网络拓扑并检查节点间通信
  4. 04保存已验证的多节点部署流程

MCP 相关

这是远程 MCP 服务,通过 provision、exec、save、search 和 delete 工具,让客户端创建和操作临时 VM 集群,并管理镜像、操作手册及集群。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://antrieb.sh/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

Antrieb MCP 服务

为 LLM 生成的网络和基础设施提供即用即弃集群。

假设 LLM 编写了 VyOS NAT 配置、OpenWrt 防火墙规则集,或用于加固 CentOS 集群的 bash 脚本。在它影响你的环境之前,你要在哪里运行它?Antrieb 为 LLM 提供一个即用即弃的多节点集群,包含真实的 VM 和真实的网络,让它试运行生成的内容。弄坏了,就快速重新配置,再试一次。无需清理。

与你的 LLM 生成代码在生产环境中将要针对的 OS 和设备完全相同:CentOS Stream、Ubuntu、Debian、Alma、Alpine、VyOS、OPNsense、SONiC、OpenWrt。支持为每个 NIC 单独分配的多网络拓扑。不是容器,不是微型 VM,也不是未知的 Linux——与你真实设备群运行的内核和软件包完全相同。

Root 访问权限、专用网络、节点间无密码 SSH。每个集群可使用十分钟。每次都是全新环境。即用即弃的集群,让 LLM 犯错的成本大幅降低。

快速开始

Antrieb 是一个远程 MCP 服务。无需安装任何内容,只需将其添加到配置中并开始配置资源。

Claude 网页版 / ChatGPT

使用基于 Web 的 AI 客户端时,可将 Antrieb 添加为自定义连接器。

在 claude.ai 中:前往 Settings → Connectors,点击 Add custom connector。输入:

  • 名称: Antrieb
  • URL: https://antrieb.sh/mcp

点击 Add,然后点击 Connect 并登录。返回聊天页面,试试这样的请求:

创建一个包含 3 个节点的 Kubernetes 集群,让 node1 同时作为控制平面和工作节点运行,让 node2/node3 仅作为工作节点。安装 nginx,并运行 3 个 pod,设置 pod 反亲和性。

操作演示视频:https://youtu.be/8nts8ol-yeA

MCP 客户端(Claude Desktop、Claude Code、Codex、自定义客户端)

在 antrieb.sh/dash 获取免费的 API 密钥,然后将以下内容添加到 MCP 客户端配置中(例如 Claude Desktop 的 .mcp.json):

Claude Code

将此 JSON 放在当前文件夹中名为 .mcp.json 的文件里。Claude Code 会自动找到它。

{
  "mcpServers": {
    "antrieb": {
      "type": "http",
      "url": "https://antrieb.sh/mcp",
      "headers": {
        "Authorization": "Bearer ant_YOUR_API_KEY"
      }
    }
  }
}
Codex

将此 TOML 内容放入 ./.codex/config.toml。然后在启动 Codex 前,设置包含 API 密钥的 ANTRIEB_TOKEN 环境变量。

 [mcp_servers.antrieb]
  url = "https://antrieb.sh/mcp"
  bearer_token_env_var = "ANTRIEB_TOKEN"

无需本地安装,无需依赖项,无需 Docker。

工作原理

LLM 通过 5 个工具控制真实的 VM:

1. provision  →  Spin up a cluster (sub-second per VM, declare custom networks and NICs)
2. exec       →  Run commands on any node (cluster-scoped env vars auto-injected)
3. save       →  Snapshot a node as an image, or save a runbook
4. search     →  Discover images, runbooks, or active clusters
5. delete     →  Destroy a cluster, or decommission a saved artifact

LLM 驱动整个工作流:配置集群,逐条命令安装软件,验证每个步骤,并反复调整直至运行正常。Antrieb 提供基础设施;LLM 提供智能。

工作流示例
You: provision 3 ubuntu nodes and install nginx on all nodes


LLM: provision(cluster: ["ubuntu24.04 x3"])
→ { session_id: "abc12", nodes: ["node1", "node2", "node3"], provision_time_ms: 720 }

LLM: exec(session_id: "abc12", node: "node1", command: "apt-get update && apt-get install -y nginx")
→ { exit_code: 0, stdout: "..." }

LLM: exec(session_id: "abc12", node: "node1", command: "systemctl start nginx && curl -s localhost")
→ { exit_code: 0, stdout: "<html>Welcome to nginx...</html>" }

LLM: save(type: "image", session_id: "abc12", node: "node1", name: "my-nginx", commands: [...])
→ { ani: "antrieb:my-nginx:v1" }

LLM: delete(type: "cluster", name: "abc12")
→ { success: true }

可用镜像

基础镜像
ANI描述
ubuntu24.04Ubuntu 24.04 LTS:apt、bash、Python 3、curl、wget、jq
almalinux9AlmaLinux 9(兼容 RHEL):dnf、bash、Python 3
centos-stream10CentOS Stream 10:dnf、bash、Python 3
debian13Debian 13:apt、bash、Python 3、curl、wget、jq
alpineAlpine Linux 3.23:apk、精简系统、musl libc
sonicSONiC:用于数据中心交换机的开源网络 OS
vyosVyOS:基于 Linux 的路由器 / 防火墙,采用统一 CLI
openwrtOpenWrt 25.12:基于 Linux 的固件,使用 UCI 配置
opnsenseOPNsense:基于 FreeBSD 的防火墙 / 路由器,带 Web UI
堆栈镜像

堆栈镜像是通过在基础镜像中添加额外软件包创建的自定义镜像。

ANI描述
terraform-awsTerraform,搭配真实 AWS(免费套餐、Antrieb 的凭据、由 Vault 代理的 STS)
ansible-controller带有集合的 Ansible 控制节点
podmanPodman、Buildah、Skopeo(无根运行,兼容 Docker API)
mongodbMongoDB 服务端镜像,用于数据库预配和集成测试
postgresqlPostgreSQL 服务端镜像,用于 SQL 数据库测试
vaultHashiCorp Vault 镜像,用于密钥工作流和由 Terraform 支持的凭据
mariadbMariaDB 服务端镜像,用于兼容 MySQL 的数据库测试
nginxNGINX 镜像,用于 Web 服务端和反向代理场景
helm-k3sK3s 搭配 Helm,用于轻量级 Kubernetes 场景
asterisk-pbxAsterisk PBX 镜像,用于 SIP 和电话通信场景

使用 search 发现所有可用镜像及其完整描述,或者只指定发行版名称,由 Antrieb 选择合适的镜像。

集群网络

网络是 provision 的首要输入,而非事后考虑的事项。每个集群都与其他所有集群(包括你拥有的集群)实现 L2 隔离,同时具备主机名解析、自身节点间的免密 SSH,以及自动注入每次 exec 调用的集群范围环境变量。每次运行中 有所不同 的是节点的连接和控制方式,这由 provision 的可选参数 networks 和 nics 决定。

共有两种模式:默认网络(扁平的单子网、可访问互联网)和 声明式网络(一等公民级的多子网、多 NIC 拓扑)。

每个集群(两种模式均适用)
  • **主机名解析:**每个节点的 /etc/hosts 中都有 node1、node2、node3。
  • **免密 SSH:**为每个集群生成 ed25519 密钥对并分发给所有节点。ssh node2 hostname 可直接使用。
  • **L2 隔离:**不同集群中的节点无法互相访问,不受 CIDR 重叠或账户影响。
  • 每次 exec 调用均提供环境变量:NODE_NAME、NODE_INDEX、NODE_IP、CLUSTER_HOSTS(多行 IP NAME,可直接用于 /etc/hosts)、CLUSTER_SSH_PUBKEY、CLUSTER_SSH_PRIVKEY。
LLM: exec(node: "node1", command: "ssh node2 hostname")
→ { stdout: "node2" }
默认网络(省略 networks / nics 时)
LLM: provision(cluster: ["ubuntu24.04 x3"])

你将获得:

  • 一个自动分配的 /24 网络,名称为 default,每个节点配有一个 NIC,IP 由 DHCP 分配。
  • 可通过网络出口访问互联网,采用精选的端口允许列表(HTTP、HTTPS、DNS、SSH、包管理器)。任意出站流量都会被阻止。
  • 无需路由器 VM、无需防火墙区域,也无需配置拓扑。节点之间以及节点与外部世界之间均可通信。

如果你要测试的不是 网络,请使用此模式——例如应用层工作、特定发行版配置、Ansible playbook、CI 流水线,以及在三台 Ubuntu 上运行 Kubernetes。

已声明的网络(多网络、多网卡)

当拓扑本身就是测试对象时,传入 networks 和 nics:例如路由器、防火墙、DMZ、隔离的后端子网、双宿主节点和 BGP 网状网络。

LLM: provision(
  cluster: ["vyos", "ubuntu24.04", "ubuntu24.04"],
  networks: [
    { name: "wan", egress: true },
    { name: "lan", cidr: "10.10.1.0/24", egress: false }
  ],
  nics: {
    node1: [{ net: "wan" }, { net: "lan" }],   // vyos: dual-homed router
    node2: [{ net: "lan" }],                    // ubuntu backend
    node3: [{ net: "lan" }]                     // ubuntu backend
  }
)

约定:

  • 每个已声明的网络都是独立的 L2 网段,拥有自己的 DHCP 服务和 /24 网段。未指定时会自动分配 CIDR;仅支持 /24。
  • egress: true — 可通过默认端口允许列表访问互联网。egress: false — 流量仅在网络内部传输;没有默认出站路由。
  • dhcp: true(默认值)— 平台分配 IP。dhcp: false — 由你分配 IP(路由器 VM 管理地址分配或需要精确的 /31 链路时使用)。
  • 网卡顺序很重要。 nics.<node> 中的每个条目会按列出的顺序成为 eth0、eth1 等网卡。
  • 每个启用 DHCP 的网络中的 .1 都保留给平台桥接网关。 路由器 VM 应使用 .254(或通过 DHCP 客户端获取)— 将 .1 分配给 VM 会导致 ARP 地址来回切换。

这让你能够开展复杂的网络工作:配置带有 WAN/LAN 区域的 VyOS / OPNsense 防火墙、将 SONiC 用作 L2 交换机或 L3 路由器、使用其 fw3 区域模型配置 OpenWrt、在反向代理 LAN 后部署 nginx、通过 /31 传输链路建立 BGP 对等关系、配置 NAT 回环和 DNAT 端口转发。每种模式的完整操作指南都收录在 @antrieb/* runbook 库中。

可复用的拓扑应保存为 runbook。网络在 provision 期间内联声明;如果同一拓扑适用于多个场景,请将拓扑、命令和验证步骤一并保存为 runbook。

网络实验示例

默认的 antrieb/* runbook 库包含经过验证的场景,例如:

  • VyOS: 基于区域的 DMZ 防火墙、DNAT 端口转发、DHCP/DNS 转发、DHCP 中继、双 WAN 故障切换、基于策略的路由、eBGP、OSPF、VRRP、WireGuard、IPsec、VLAN 中继、QoS 流量整形。
  • SONiC: L2 桥接、L3 路由、VLAN 分段、带策略的 VLAN 间路由、使用 FRR 的 BGP、OSPF、DHCP 中继、LAG、SPAN 镜像、VXLAN L2 扩展。
  • OPNsense: DNAT 端口转发、三区域 DMZ、WireGuard 远程接入、使用 HAProxy 的 HTTPS 负载均衡。
  • OpenWrt: 家用路由器 NAT、访客区域隔离、端口转发、dnsmasq 静态 DHCP 和本地 DNS 覆盖。
  • 服务拓扑: nginx 反向代理、由 Ansible 管理的 nginx 后端,以及使用 HAProxy 的负载均衡和故障切换演练。

Runbook 是可执行的验证方案:包含拓扑、命令、预期的数据包行为,以及使用 tcpdump、路由表、conntrack、BGP/OSPF 状态、DHCP 跟踪、VPN 握手和故障切换测试等工具进行的验证步骤。

Runbook

Runbook 用于保存复杂的多节点场景,也会记录一些小而关键、可能不值得专门写成博客的注意事项。它们是采用特定结构、可供大模型执行的 Markdown 文档:

  • ## Topology required — 适用的集群结构(镜像、网络、网卡)
  • ## Variables — 如 <LAN_SUBNET> 这样的占位符,调用方在应用时替换
  • ## Steps — 编号步骤;说明性文字解释原因,围栏 shell 代码块是实际命令,每个代码块都标明目标节点
  • ## Verify — 如何确认成功

使用 save(type: "runbook", session_id: "...", name: "...", body: "...markdown...") 保存。session_id 必须指向一个其 exec 历史记录能证明该 runbook 的会话。使用 search(type: "runbook", fq_name: "namespace/name") 获取正文。

Runbook 与镜像相辅相成:镜像记录已安装状态(预先打包到 qcow2 中的软件包和配置)。Runbook 记录工作流(按顺序执行的多节点操作,用于生成可用系统)。对于任何涉及多个节点的内容,优先使用 runbook,因为单个镜像无法表达 VM 之间的协同操作。

所有保存的内容都位于你组织的命名空间中;antrieb/* 命名空间包含只读默认内容。

自定义镜像

将任何已配置的节点保存为可重复使用的镜像:

  1. 配置基础镜像
  2. 通过 exec 安装并配置软件
  3. 使用成功执行的命令列表调用 save(type: "image", ...)
  4. Antrieb 会生成 build-image.sh、startup.sh 和说明
  5. 该镜像可立即用于后续的 provision 调用

立即试用

无需 MCP 客户端。使用你的 API 密钥和 curl:

# 1. Provision a single Ubuntu node
curl -s -X POST https://antrieb.sh/mcp \
  -H "Authorization: Bearer ant_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"provision","arguments":{"cluster":["ubuntu24.04"]}}}'
→ { "session_id": "abc12...", "nodes": ["node1"], "provision_time_ms": 680 }
# 2. Run a command on the node
curl -s -X POST https://antrieb.sh/mcp \
  -H "Authorization: Bearer ant_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"exec","arguments":{"session_id":"abc12...","node":"node1","command":"cat /etc/os-release | head -3"}}}'
→ { "node": "node1", "exit_code": 0, "stdout": "PRETTY_NAME=\"Ubuntu 24.04 LTS\"\nNAME=\"Ubuntu\"\nVERSION_ID=\"24.04\"" }
# 3. Tear it down
curl -s -X POST https://antrieb.sh/mcp \
  -H "Authorization: Bearer ant_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"delete","arguments":{"type":"cluster","name":"abc12..."}}}'

将 ant_YOUR_KEY 替换为你的 API 密钥,并将 abc12... 替换为步骤 1 中的 session_id。

常见问题

为什么选择 Antrieb?

AI 正进入运营的各个层面:云端、本地部署、旧系统、安全、网络和边缘环境。错误配置云服务器会带来很多麻烦。在现场错误配置一万台边缘设备则是灾难性的。

Antrieb 是大模型与运维之间的验证层。在 AI 生成的基础设施代码接触你的环境之前,它必须先在真实、可销毁的环境中证明自己;该环境需要足够贴近目标架构,以暴露运维故障。相同的操作系统、相同的软件包、相同的行为。不是容器,也不是近似模拟。Antrieb 是一个可审计的验证场所,用于验证 AI 生成的运维变更。

为什么集群只有 10 分钟?

10 分钟的 TTL 主要不是为了限制计算资源。集群可以快速重新创建。设置 TTL 是为了让验证可复现,并防止大模型积累意外状态。

不要保留实验环境,要保留经验。

  • **状态漂移:**大模型不能依赖遗留文件、部分修复或先前尝试留下的隐藏变更。每个解决方案都必须从干净状态开始运行。
  • **可复现性:**如果某个解决方案无法在全新集群上复现,就不算成功。
  • **认知漂移:**长期运行的集群会让大模型过度依赖最初的计划。环境仍然存在且保留了部分进展时,它可能会不断修补错误的方法。严格的 TTL 会强制设置检查点:大模型必须总结所学内容,丢弃意外状态,选择更简洁的命令序列,并从头复现结果。
  • **防止滥用:**TTL 还能防止扫描、机器人活动、挖矿或托管等长期运行的滥用行为。

为什么集群不可变?

集群的架构在配置时就已固定:镜像、节点数量、网络和 NIC 分配。如果大模型需要不同的拓扑结构,应使用更合适的设计配置新集群。

这样可以防止架构漂移。如果没有不可变性,大模型就可能不断添加节点、网络、路由和例外情况,直到实验环境不再符合原本要验证的系统。结果可能“能用”,但只是因为环境围绕错误做法不断演变。

不可变性迫使拓扑结构成为明确的假设:

  1. 选择架构。
  2. 配置架构。
  3. 测试实现。
  4. 如果架构有误,就丢弃它并配置一个更简洁的架构。

这样一来,验证目标就清晰、可重复,也值得保存为运行手册。

免费吗?

是的。前往 antrieb.sh/dash 获取免费 API 密钥。

每台 VM 的资源规格是什么?

大多数 Linux 基础镜像和堆栈镜像配备 4 个 vCPU、2 GB 内存和 20 GB 磁盘。网络设备和较小的边缘镜像可能有所不同;search(type: "image") 会返回当前规格和完整的镜像说明。

一个集群最多可以有多少个节点?

每个集群最多 4 个节点。如果拓扑结构需要专用的控制器节点(例如管理一组设备的 Ansible 控制节点),则允许额外增加 1 个节点,最多为 5 个。

我可以同时运行多少个集群?

每个账户最多可同时运行 2 个集群。

节点可以访问互联网吗? 是的,默认情况下可以访问。默认网络上的每个节点都能直接访问互联网,不过出于安全原因,只有特定端口允许访问。包管理器、curl、pip、npm:都可以正常使用。如果你声明了带有 egress: false 的显式网络,该网络上的节点就会与互联网完全隔离。

集群会运行多久?

经过身份验证的集群有 10 分钟的硬性 TTL。之后,集群将被彻底销毁:计算资源、网络,一切都会被清除。TTL 无法延长。如果你再次获得与之前会话相同的 IP 地址,该虚拟机也是全新的。

聊天会话结束后,集群会怎样?

集群会一直运行,直到你删除它或 TTL 到期。之后,IP 地址可能会被重新分配给后续的虚拟机。你的命令会单独记录,并可在控制面板中查看。

虚拟机真的会自动销毁吗?我会不会遇到不干净的节点?

是的,虚拟机完全是临时的。会话虚拟机不会在不同会话间重复使用。会话结束或 TTL 到期后,虚拟机就会被销毁。你创建的每个节点都是全新的。

谁能看到在我的虚拟机上运行的命令?

只有你。其他任何人都无法访问你的命令历史记录。

我的大模型会不会意外在命令日志中暴露敏感数据?

请勿在命令中包含机密或凭据等敏感数据。你可以通过控制面板访问命令日志,请妥善处理其中的内容。

我的虚拟机与其他用户的虚拟机隔离吗?

是的。同一集群中的节点可以互相访问,但节点无法访问其他集群中的节点,包括你自己的其他集群。你可以这样验证:告诉你的大模型:*"创建两个各包含一个节点的集群,获取每个节点的 IP,然后分别通过 SSH 登录并尝试 ping 另一个节点。"*你会看到 ping 失败。

我可以不通过大模型,亲自 SSH 登录节点吗?

不可以。所有交互都通过大模型进行。告诉它你想做什么,它就会帮你完成。一切都通过对话进行。

会记录哪些数据?你们会存储我的命令吗?

会。所有命令都会记录,并可在你的控制面板中查看:antrieb.sh/dash。

哪些客户端可以使用?

Claude.ai、ChatGPT Web、Claude Desktop、Cursor、Windsurf 和 Claude Code。如果你的客户端支持通过 HTTP 使用远程 MCP 服务,就应该可以使用。

它支持 Claude 以外的模型吗?

支持。Antrieb 只是一个 MCP 服务;智能完全来自你的大模型。它适用于你的 MCP 客户端支持的任何模型。

保存的镜像需要多久才能就绪?

我们的目标是 2 分钟,最长为 5 分钟。Runbook 会立即保存——它们是元数据,而不是 qcow2 镜像。

自定义镜像和 Runbook 是私有的吗?

是的,默认情况下为私有。若要在团队内共享,请前往 antrieb.sh/dash 上的个人资料页面,为你的组织设置命名空间。之后,你保存的所有内容都只能由你组织的成员访问。

Antrieb 如何防止滥用?

  • 命令记录和 AI 监控。 每个节点上执行的每条命令都会被记录。我们使用 AI 严厉检测并防止滥用行为,包括加密货币挖矿、DDoS、垃圾信息和未经授权的扫描。
  • 集群限制。 每位用户最多同时运行 2 个集群。每个集群最多包含 4 个节点。
  • 集群间隔离。 同一集群中的节点可以互相通信。不同集群中的节点无法通信,即使它们属于同一个账户也是如此。
  • 出站端口允许列表。 默认网络的出站流量仅限于经过筛选的一组端口(HTTP、HTTPS、DNS、SSH、包管理器)。任意出站连接都会被阻止。使用 egress: false 声明的网络完全没有出站通道。

这与 E2B、Morph 有何不同? 与 E2B 相比: E2B 非常适合代码执行沙箱。它针对运行代码进行了优化,而非基础设施。你获得的是单个沙箱,而不是集群,并且其环境在操作系统层面与你的环境并不一致。如果你要测试基础设施(Ansible playbook、systemd 行为、SELinux 策略、网络),就需要真正的操作系统和软件包。

与 Morph Cloud 相比: Morph 为你的 Agent 提供开发环境。Morph 的 devbox 非常适合构建和迭代软件的编码 Agent。Antrieb 则用于基础设施工作,此时与实际发行版保持一致至关重要:Ubuntu、AlmaLinux、Alpine、Arch、SONiC,与你实际运行的操作系统相同,而不是经过定制的 devbox。

这与直接使用 Docker 容器或 GitHub Codespaces 有什么不同?

Docker 容器共享主机内核,因此无法在容器中可靠地测试 SELinux 策略、内核模块、systemd 行为或特定发行版的软件包问题。Antrieb 为你的大模型提供真正的虚拟机,运行与你的环境中实际使用的操作系统完全相同的版本。

除了 Linux 发行版之外,许多网络设备和基础设施平台(SONiC、Cisco IOS-XE、Palo Alto、F5、Juniper)只提供虚拟机镜像,或仅有限支持容器。即使存在容器版本,它几乎总是真实产品的子集:缺少功能、API 不同、行为不完整。追踪各厂商的容器版本实际支持哪些功能,本身就会成为一个问题。使用虚拟机,你可以运行真实的设备镜像,获得完整保真度。

Codespaces 是为人类打造的。你打开浏览器或编辑器,点击操作并输入内容。Antrieb 则专为大模型验证工作成果而打造。你的大模型会配置集群、运行命令、读取输出并不断迭代,全程在同一段对话中通过工具调用完成。这就像是给大模型一张截图让它点击操作,与提供直接 API 之间的区别。

工具参考

provision

启动虚拟机集群。返回会话句柄、节点名称、TTL 和配置所用时间。节点会获得私有 IP、/etc/hosts 条目,以及用于免密 SSH 的共享 ed25519 密钥对。

参数类型必填描述
clusterarray是虚拟机拓扑。每个条目可以是简写字符串("ubuntu24.04" = 1 台虚拟机,"ubuntu24.04 x3" = 3 台虚拟机),也可以是对象 {image, count?}。
networksarray否集群级私有网络。每个网络可以是 {name, cidr?, egress?, dhcp?},也可以是引用已保存配置的字符串 @namespace/name。默认:一个名为 default 且具有 NAT 出口的网络。
nicsobject否按节点名称指定各节点的 NIC 分配,例如 { "node1": [{"net":"lan"}] }。默认:每个节点在第一个网络上分配一个 NIC。

返回 session_id、nodes、provision_time_ms、ttl_seconds、expires_at。

exec

在指定节点上运行 shell 命令。返回标准输出、标准错误和退出代码。每条命令都可以访问集群环境变量(NODE_NAME、NODE_INDEX、NODE_IP、CLUSTER_HOSTS、CLUSTER_SSH_PUBKEY、CLUSTER_SSH_PRIVKEY),以便在节点间进行协作。

参数类型必填描述
session_idstring是来自 provision
nodestring是节点名称(例如 "node1")
commandstring是要执行的 shell 命令原文
save

持久化一个制品。已保存的制品位于你所在组织的命名空间中,并可立即用于后续的 provision / search 调用。

参数类型必填描述
typestring否"image"(默认值)或 "runbook"
namestring是仅包含小写字母和连字符的标识符(镜像会变为 antrieb:<name>:v1,运维手册会变为 @<namespace>/<name>)
descriptionstring否用于搜索的简短描述(强烈建议为运维手册填写——这是大模型在浏览模式下看到的内容)
session_idstring若 type=image 或 type=runbook 则必填对于镜像,这是包含要创建快照的节点的会话。对于运维手册,这是其执行历史能够演示该场景的会话。
nodestring若 type=image 则必填要保存的节点
commandsarray若 type=image 则必填在节点上成功执行的命令列表,按执行顺序排列
bodystring若 type=runbook 则必填Markdown 文档(结构请参阅运维手册)
search

浏览目录,或获取特定运维手册。提供两种模式:浏览(使用关键词或不提供参数 → 元数据列表)和获取(type=runbook,fq_name=namespace/name → 返回单篇运维手册及其完整正文;应用前必须先获取)。

参数类型必填描述
typestring否"image"(默认值)、"cluster" 或 "runbook"
keywordsstring否按名称、描述和 fq_name 进行全文筛选
fq_namestring否按完整限定名称获取特定运维手册,并返回其完整 Markdown 正文。对镜像和集群无效。
limitnumber否最大结果数(默认值为 20,最大值为 100)
delete

销毁集群或停用已保存的制品。antrieb/* 默认项不可删除。

参数类型必填描述
typestring是"cluster"、"image" 或 "runbook"
namestring是对于集群,填写 session_id;其他情况填写短名称或 namespace/short fq_name

许可证

Apache 2.0

评论

支持 Markdown

第一次接触 MCP?

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

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