v0.1.0
a vendor-neutral registry for AI agents, skills, and MCP servers
agents skills mcp-servers
$ agentctl server start
All three share:
identity, versioning, promotion lifecycle, eval records, BOM
You build an agent agentctl does the rest Others find it
────────────────── ──────────────────── ──────────────
docker push image ──> agentctl init --path . agentctl search "k8s"
(LLM reads your code, agentctl inspect ...
generates manifest) agentctl deps ...
agentctl get ...
──> agentctl push agents m.yaml ↓
(draft — private, mutable) docker pull + deploy
──> agentctl eval attach ...
(external tools submit results)
──> agentctl promote --to evaluated Content locks here.
──> agentctl promote --to approved
──> agentctl promote --to published Now discoverable.
LLM reads your source code and generates the full YAML. No manual writing.
agentctl init --path ./my-agent \
--image ghcr.io/acme/cluster-doctor:1.0.0 \
-o manifest.yaml
Supports any LLM provider:
Anthropic OpenAI Ollama vLLM Any OpenAI-compatible
# Register the artifact (lands in draft)
agentctl push agents manifest.yaml
# External tools submit eval records (optional)
agentctl eval attach agents acme/cluster-doctor 1.0.0 \
--category safety --provider garak \
--benchmark toxicity --score 0.96
agentctl eval attach agents acme/cluster-doctor 1.0.0 \
--category functional --provider eval-hub \
--benchmark accuracy --score 0.88
The registry stores eval records. It does not run evaluations or compute trust scores.
agentctl promote agents acme/cluster-doctor 1.0.0 --to evaluated
agentctl promote agents acme/cluster-doctor 1.0.0 --to approved
agentctl promote agents acme/cluster-doctor 1.0.0 --to published
Content becomes immutable after evaluated. What was evaluated is what gets shipped.
$ agentctl inspect agents acme/cluster-doctor 1.0.0
agent acme/cluster-doctor@1.0.0
Status: published
Title: Cluster Doctor
Published: 2026-02-20T09:24:16Z
Eval Records: 3
functional 1 record(s)
safety 1 record(s)
red-team 1 record(s)
Average score: 0.92
Promotion History:
draft → evaluated — 3 evals pass
evaluated → approved — Reviewed by platform team lead
approved → published — Ready for production
$ agentctl deps agents acme/cluster-doctor 1.0.0
agent acme/cluster-doctor@1.0.0
|- mcp-server acme/kubernetes-mcp@2.0.0 [resolved]
|- mcp-server acme/prometheus-mcp@>=1.0.0 [UNRESOLVED]
|- skill acme/k8s-troubleshooting@1.0.0 [resolved]
|- model claude-sonnet-4@anthropic [resolved]
The BOM captures the full dependency graph:
Agents declare models, tools (MCP servers), skills, prompts, orchestration
Skills declare tool requirements (abstract, not tied to specific MCP servers)
MCP Servers declare runtime dependencies, external services
./scripts/demo.sh
UI → http://localhost:8080
API → http://localhost:8080/api/v1