Zordon

io.github.piotrkowalczuk由 GitHub 账号 piotrkowalczuk 发布v0.28.1更新于 Nov 4, 2026

Supervise a local dev stack — databases, brokers and services declared in an Alphasfile — over MCP.

概览

AI 生成的概览

通过 MCP 监管 Alphasfile 中声明的本地开发栈(数据库、消息代理与服务),让助手启动、查看并执行预置任务。

可以做什么
  • 启动、停止声明的整套栈,并查看整条链上正在运行的内容
  • 创建相互隔离的并行工作区,运行具名预置任务或其清理步骤
  • 查看服务状态、就绪情况与日志,输出为面向代理的精简结构化格式
  • 把每条 zordon 命令和每个已声明的预置任务都作为 MCP 工具提供给助手
适用场景
当项目的本地依赖(数据库、消息代理、代理服务器、服务)已在 Alphasfile 中声明,并希望助手在改代码时启动栈、检查状态并执行初始化步骤时使用。
运行要求
本机需安装 zordon,且 zordon、alpha、tommy 三个可执行文件在 PATH 上,项目目录中需有 Alphasfile。MCP 客户端从项目目录启动服务器,或设置 ZORDON_HOME。可选 HTTP 传输监听本地地址。
安装前请注意
服务以普通主机进程运行而非容器,会占用真实端口并写入主机。文档说明 HTTP 传输端点尚未做身份验证。预置任务及启动、停止、清理都会改变本地状态,助手可执行 Alphasfile 中声明的任意预置任务。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Zordon,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Zordon

[Go Reference] [Go Report Card] [CI] [License: GPL v3]

The local stack your inner loop runs against — databases, brokers, proxies and services as fast, disposable host processes, declared once and supervised together. No containers.

Zordon is a supervisor for the local stack your code runs against — the databases, brokers, proxies and services that have to be alive for your code to be exercised for real. It runs them as ordinary host processes instead of containers, declared once in an Alphasfile and supervised together, so standing the stack up, duplicating it, and throwing it away are all cheap.

Three goals shape every decision. Low latency — standing the stack up and re-running sit inside the loop, not around it; iteration shouldn't wait on infrastructure. Resourcefulness — per-stack overhead stays small enough that many agents run side by side, each with a stack real enough to evaluate against rather than a wall of mocks. Guardrails — the Alphasfile doubles as a contract, so the MCP server hands an agent only a narrow, declared surface: bring the stack up, inspect it, run a provision you named, and work through that interface instead of improvising against the host.

Why not containers? Code is increasingly written in a loop — change something, run the real stack against it, read the result, go again, hundreds of times an hour. Containers buy isolation by paying full cold-start and idle-overhead cost on every run: right for production, wasteful for a loop. Zordon takes the other side, recovering isolation from per-run workspaces instead of images — so a second stack beside yours, or a tenth, is a non-event.

Declare the whole stack in one Alphasfile:

hcl
service "go" "nats" {  git {    url = "github.com/nats-io/nats-server"    tag = "v2.14.0"  }
  vars = { client = net::pickport() }   # grab a free port, no clashes  arguments { values = { main = { p = self.vars.client } } }}
sh
zordon start   # resolve, build, bring it up, stream logs until everything is READY

Features

  • No containers, no daemon. Your databases, brokers, proxies and services run as plain supervised host processes — nothing to image, mount or register.
  • Polyglot toolchains. Go, Rust, Ruby, Node.js and Java (Maven/Gradle) services built straight from a git URL or local source; native packages (Redis, PostgreSQL, etcd, …) provisioned through mise.
  • One manifest. The whole stack — source, build, run, env, readiness, logs — declared in a single Alphasfile.
  • Dynamic configuration as a graph. Values are functions, not strings: net::pickport() picks a free port, fs::tmp()/fs::hash() give per-run paths, and services reference each other (service.go.caddy.vars.http) with zero hardcoded wiring. → docs
  • Workspaces. zordon workspace create x stands up a second, fully isolated copy of the entire stack — own ports, own dirs — an agent's sandbox beside yours, no port-mapping. → docs
  • Federation. Alphasfiles chain by directory position: a project sits below shared infra instead of importing it. Move it in the tree and its environment recomputes. → docs
  • Readiness-aware bringup. HTTP and exec readiness checks over a dependency graph; zordon start returns the moment every service is READY, then keeps the stack alive in the background.
  • Convergent re-runs. Re-running costs only what actually changed — no blanket teardown and rebuild.
  • Provisions. One-off setup (migrations, seeding, topic creation) declared per service, run on demand, with zordon clean for teardown.
  • Agent-friendly output. --agent emits terse, structured logs; output is kept signal-dense because when a model reads your logs, tokens are the budget.
  • MCP server. zordon mcp exposes every command — and every provision — as MCP tools, so an agent can drive the whole stack. → docs
  • Guardrails for agents. The Alphasfile plus the MCP surface form a narrow, declared interface between agent and stack — it runs the named provisions you defined, not an open shell, so it can't improvise its way around your setup.
  • No runtime dependencies. Three static Go binaries — zordon, alpha, tommy — and nothing else to install, image, or register.

Documentation

Full docs: https://zordon.io (source in docs/, built with MkDocs Material).

Installation

Homebrew (macOS):

sh
brew install piotrkowalczuk/tap/zordon

A release tarball (macOS and Linux, arm64 and amd64) from Releases:

sh
tar -xzf zordon_<version>_<os>_<arch>.tar.gz -C ~/.local/bin zordon alpha tommy

Or from source, if you have a Go toolchain:

sh
go install github.com/piotrkowalczuk/zordon/cmd/...@latest

Every variant installs the same three binaries — zordon, alpha, and the tommy reaper. Keep them in one directory and make sure that directory is on your $PATH: zordon finds alpha via $PATH, and alpha finds tommy only as a sibling of its own executable. See Binaries and layout.

Quick start

Create an Alphasfile (see examples/simple), then:

sh
zordon start              # spawn alpha, push config, stream bringup logszordon status             # what's running across the whole chain right now?zordon stop               # ask alpha to shut its children down and exitzordon clean              # run each provision's clean teardown (stack stopped)zordon workspace create x  # a parallel, isolated copy of the stack

See the docs for everything else.

Use with Claude (MCP)

zordon mcp runs an MCP server, over stdio by default or over HTTP with --transport=http. It exposes every zordon command — and every provision — as a tool, so an agent can drive your stack and run provisions on demand.

The fastest path is the Claude Code plugin — no manual config:

sh
/plugin marketplace add piotrkowalczuk/zordon/plugin install zordon@zordon

This registers the zordon mcp server and a skill nudging the agent toward it automatically; see the install how-to.

For other MCP clients, or without the plugin:

The MCP client launches the server; you don't run zordon mcp yourself. With Claude Code, register it from your project directory:

sh
claude mcp add zordon -- zordon mcp

Or add it to your client's MCP config (e.g. .mcp.json):

json
{ "mcpServers": { "zordon": { "command": "zordon", "args": ["mcp"] } } }

The server resolves the chain from its working directory, so launch the client from the project tree (or pass -e ZORDON_HOME=…). Provisions run inside the live alpha, so zordon start first — or let the agent call the start tool.

To let an agent confined to a container or sandbox drive a host-side stack, serve it over HTTP instead — the client then needs only a URL, with no zordon binary inside the box:

sh
zordon mcp --transport=http --listen 127.0.0.1:7391

See the how-to; note the endpoint is not authenticated yet.

The server advertises its purpose to the agent via MCP instructions (when to reach for these tools), so it should pick them up on its own. To nudge it harder in a zordon-managed repo, add a line to your CLAUDE.md (or AGENTS.md): "this project's local stack is managed by zordon — use the zordon MCP tools to bring it up, inspect it, and run provisions."

See the zordon mcp reference and how-to.

License

GNU General Public License v3.0, see LICENSE.md.

来源:README.md,提交 383e0a9

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:该软件包类型无法在沙箱中运行。

版本历史

8
  1. v0.28.1最新Nov 4, 2026
  2. v0.28.0Nov 3, 2026
  3. v0.26.0Oct 30, 2026
  4. v0.24.0Oct 29, 2026
  5. v0.22.3Oct 6, 2026
  6. v0.21.0Oct 6, 2026
  7. v0.20.0Sep 28, 2026
  8. v0.19.0Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分