Agency Orchestrator

Runs multi-role AI workflows written in YAML and returns their combined deliverable

By AI不止语 (individual) TypeScript Local · stdio AI and ML

74 popularity score ★ 2.5k ↓ 857/wk

Connect your client

Local (npm)

Add in one click

Opens the app, which asks before it adds the server.

Or add it by command or config

Claude CodeTerminal
claude mcp add agency-orchestrator -- npx -y agency-orchestrator serve
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "agency-orchestrator": {
      "command": "npx",
      "args": [
        "-y",
        "agency-orchestrator",
        "serve"
      ]
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "agency-orchestrator": {
      "command": "npx",
      "args": [
        "-y",
        "agency-orchestrator",
        "serve"
      ]
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "agency-orchestrator": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "agency-orchestrator",
        "serve"
      ]
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.agency-orchestrator]
command = "npx"
args = ["-y", "agency-orchestrator", "serve"]
Gemini CLITerminal
gemini mcp add --scope user agency-orchestrator npx -- -y agency-orchestrator serve

Settings 8

AO_PROVIDER Optional: Default model provider (for example deepseek, claude-code); without it an installed coding CLI is picked, else DeepSeek.
AO_API_KEY Optional: API key for the chosen API provider; not needed for signed-in coding CLIs or Ollama.
AO_MODEL Optional: Default model name for the chosen provider.
AO_HOME Optional: One folder for outputs, generated workflows, teams and prompts (MCP mode default: ~/.ao).
AO_OUTPUT_DIR Optional: Folder for run results.
AO_WORKFLOWS_DIR Optional: Folder for workflows generated by compose_workflow.
AO_AGENTS_DIR Optional: Replaces the built-in role library with your own folder.
AO_NOTIFY_URL Optional: Webhook to notify when a run finishes.

What it does

Agency Orchestrator is a workflow engine: you describe a job as a YAML file where each step is handed to an AI role (a product manager, a reviewer, an architect and so on), steps run in parallel where their dependencies allow, and the final step produces the deliverable. It ships role libraries in Chinese, English and five more languages. The MCP server is one mode of its `ao` command, started with `ao serve`, and speaks stdio.

Through the server an assistant can check a workflow file and print its execution plan, list the bundled templates and roles, have a model draft a new workflow from a one-line description, and run a workflow with input variables, optionally switching the model provider or model for that run. The models doing the work are whatever you point it at: a coding CLI you are already signed into (Claude Code, Codex, Copilot and others), a local Ollama, or one of 20+ API providers or any OpenAI-compatible endpoint.

In MCP mode, run results and generated workflow files are saved under `~/.ao/ao-output` and `~/.ao/ao-workflows` unless `AO_OUTPUT_DIR`, `AO_WORKFLOWS_DIR` or `AO_HOME` is set, rather than the current directory the CLI uses; the code does this because MCP clients often start servers with `/` as the working directory (src/mcp/server.ts at v0.20.0).

What it needs

RuntimeNode.js 20+

Node.js 20 or newer (package.json engines) for `npx`. At least one model source for running or composing workflows: a coding CLI installed and signed in (for example `npm i -g @anthropic-ai/claude-code` with a Claude subscription), a local Ollama, or an API key for a provider such as DeepSeek, set as `AO_API_KEY` or in `.env` via `ao init --provider`. API providers bill per use.

Limits

Workflow steps that ask a person (approval or human_input nodes) cannot be answered over MCP: `ao serve` sets `AO_NON_INTERACTIVE=1`, so those steps fail and `run_workflow` returns an error with the steps that did finish. `run_workflow` takes a path to a YAML file on disk, not inline YAML. The README's client snippet runs `npx agency-orchestrator serve` without `-y`, which can stop at npx's install prompt; the command here adds `-y`. Gemini CLI is listed as a provider but its makers note Google shut it down in June 2026.

Who it suits

Suits someone who wants an assistant to hand off a larger writing or planning job (a product review, a plan, a draft spec) to a team of role prompts and get one combined result, especially if they already pay for a coding CLI subscription it can reuse. It runs locally and mostly reads templates and writes result files. Pick something else if you need a workflow that pauses for human sign-off from inside the assistant, or a general agent framework you program in code rather than YAML.

Tools 6

run_workflow
Runs a workflow YAML file with given inputs and returns the final output, token counts and archive folder
validate_workflow
Checks a workflow YAML for errors without running it
list_workflows
Lists the workflow templates it can find
plan_workflow
Shows the order and parallel groups a workflow's steps would run in
compose_workflow
Has a model write a new workflow YAML from a one-line description and saves it
list_roles
Lists the AI roles available in the role library

Similar servers