Independent by design · no pay-to-rank placements  · How we evaluate tools →
Anclum Submit
Z

zanaat-dev/baron

Platform-agnostic work-orchestration for AI coding agents — one pane of glass (issues, scm, ci, deploy, notify) across providers, via MCP + CLI.

Before you install: no copy-paste command · license Apache-2.0 · link reachable

First step: npx -y @zanaat/baron-cli@latest init --provider github # or: --provider azure-devops

no SECURITY.md
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
Install & config
Client config (built from the install command this repo gives)
{
  "mcpServers": {
    "zanaat-dev-baron": {
      "command": "npx",
      "args": ["-y", "@zanaat/baron-cli@latest"]
    }
  }
}

Parsed from the README we fetched on 2026-10-26; we have not executed it.

command/args come from the install command the repository states. When it is ambiguous, the project README wins.
VS Code (.vscode/mcp.json - the key is servers)
{
  "servers": {
    "zanaat-dev-baron": {
      "command": "npx",
      "args": ["-y", "@zanaat/baron-cli@latest"]
    }
  }
}
Same server, but VS Code keeps it under <code>servers</code>.
Claude Code (command line)
claude mcp add --transport stdio zanaat-dev-baron -- npx -y @zanaat/baron-cli@latest
Claude Code does not read a config file; add the server with this command.
Key names differ by client: Clients & CLI
Star count
2 ★ · zanaat-dev/baron · read from the GitHub search API · (checked 2026-11-13 20:00:50)
Source
collected from the punkpeye/awesome-mcp-servers list · type: MCP server
Harvest history
first seen 2026-10-23 · last seen 2026-11-14 · seen 26× · listed by 23 sources
Score
score 2,300 · 2 ★ · 23 sources · mcp
Install
npx -y @zanaat/baron-cli@latest
FAQ (answers come from our records)
How do I install it?
The repository provides this install command: npx -y @zanaat/baron-cli@latest. It comes from the repository itself; we cannot guarantee it runs as-is in your client.
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository zanaat-dev/baron;first catalogued 2026-10-23;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.

# Baron

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

> Let your coding agent write to your work tracker — and keep the same flow when you change trackers.
> Baron is an open-source layer that turns issues, branches, PRs, CI runs, and deployments into one
> normalized contract, so your agent never learns a vendor's API, states, or column names.
Docs and site: baron.zanaat.dev
## The problem
AI coding agents bake one vendor's API and one team's process into prompts. The moment your
issues live in Azure DevOps but your code is on GitHub, or your board columns aren't literally "To Do
/ Done", or you switch trackers next quarter — the prompts break, and the agent falls back to raw,
vendor-specific tools. You've hardcoded vendor lock-in into the way you work.
## What Baron does
Plenty of tools let an agent read your tracker. Baron is about the other direction: writing —
creating work items, moving them, cutting branches, opening and merging PRs — which is where an agent
does damage when it guesses a vendor's state machine wrong.
The agent speaks one abstract vocabulary in terms of roles (backlog → ready → inprogress →
inreview → done; blocking is an orthogonal flag, so a blocked item keeps the role the work is
actually in), and Baron translates to each provider's real API, states, and
quirks. You confirm that mapping once, at baron init, and it is committed to your repo as
configuration — not re-guessed by the model on every call.
Each port binds to a provider independently, so issues on Azure DevOps, scm on GitHub, and
notify on Slack is a normal setup rather than a special case.
## What it looks like
You: Start work on STORE-142.
Baron ▸ runs the task-start recipe as a single call:
✓ Loaded STORE-142 "Add rate limiting to the login endpoint" (type role: task)
✓ Checked it: not done, has a canonical branch, not assigned to someone else
✓ Branched feature/STORE-142 from the repo's default branch
✓ Moved STORE-142 → inprogress, assigned to you
✓ Commented on the item: "Started work — on branch feature/STORE-142."
That same prompt on Azure DevOps sets the work item state to Active; on GitHub it applies an
in-progress label — because inprogress is a role, not a vendor state.
The checks matter as much as the actions: if the item is already done, belongs to someone else, or is
a container that should never be branched, the run stops before anything is created. The branch
name is derived by Baron from the item's type role, so every agent and every recipe derives the same
name for the same item instead of inventing one.
## Why it's different
Capability ports, not "a tracker." issues / scm / ci / deploy / notify, each bound to
a provider independently — so a consumer mixes providers rather than betting on one vendor spanning
everything.
Normalize, don't raw-proxy. New capabilities become first-class normalized ports; a clearly
labeled provider-native escape hatch is the explicit last resort, never the default path.
Capability gaps are never silent. When a provider lacks something (say, native issue hierarchy),
Baron either emulates it (e.g. labels), degrades with a warning, or errors loudly — decided by
policy, never swallowed.
Workflows are recipes, not prompts. Multi-step flows (task-start, task-finish, task-land,
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[![Listed on Anclum](https://anclum.com/badge/listed.svg)](https://anclum.com/en/s/zanaat-dev-baron/)
Source
awesome · https://github.com/zanaat-dev/baron
Browse by field
MCP servers
Traction
2 ★
Listed by
23 independent sources
added
today
Security policy
no SECURITY.md at the repository root (which does not mean it is unsafe)

More like this

All 6,229 →

Filed under

Every tag opens the full list for that filter. Counts are the live catalogue figures.

Browse all fields →

← Back to index