← Discover MCPs and Agents
a
MCPAI & MLGitHub

agor

Agor - team command center for all things agentic

Links

README

From the repo.

Agor logo

Agor

Team command center for all things agentic.

Agor is a self-hosted, multiplayer-ready web workspace for running coding agents — Claude Code, Codex, Gemini, and others — on isolated git branches. Each branch is a first-class git working directory with its own dev environment and conversation history. Agents run in the browser instead of a terminal, with per-prompt token and cost accounting, structured tool output, and an MCP endpoint agents can drive themselves. Run it solo in a few minutes; turn on multiplayer and Unix-level isolation when you bring your team.

npm License: BSL 1.1 Docs Discord

Documentation · Quick Start · Architecture · Contributing


Built on the agent CLIs & SDKs you already use

Agor ships no model of its own. It drives the coding-agent CLIs and SDKs you already run, interchangeable per session — bring your own provider and subscription, no vendor lock-in. Compare the harnesses →

Claude Code    Codex    Gemini CLI    GitHub Copilot    OpenCode    Cursor

Agor board with live cursors, branch cards, zones, and agent dashboards

The board: branches as cards, zones as regions, agent sessions, and — optionally — teammates present live.

▶ Watch the unscripted demo on YouTube (13 min)


What it does

  • Branches as the anchor — every piece of work is a git branch with its own working directory, dev environment, conversation history, and PR. One entity to point at.
  • Isolated dev environments — a one-click dev server per branch, with ports auto-assigned so parallel branches never collide.
  • Multi-runtime — Claude Code, Codex, Gemini, OpenCode, Copilot, and Cursor (beta) are interchangeable per session. Bring your own provider; no vendor lock-in.
  • Rich session UI — per-prompt token and dollar accounting, structured tool blocks, model/effort selectors, completion chimes. The terminal experience, in the browser.
  • MCP-native — Agor exposes itself over MCP; sessions are auto-issued a token, so agents fork, spawn, schedule, and report on their own work.
  • Long-lived AI teammates — persistent coworkers, each with a Knowledge-base namespace for durable, searchable memory, plus skills and schedules. They collaborate with the team and with each other, beyond one-off sessions.
  • Multiplayer when you want it — live cursors, comments, and shared sessions/environments for your team. Optional; works fine solo.
  • Governance & observability — branch-scoped RBAC and ACLs, per-user credentials and env vars, and per-prompt token + dollar accounting with full, durable history across every session.
  • Self-hosted, with explicit isolation — your repos and database (LibSQL or Postgres), with trusted local, fail-closed sandbox, or delegated external execution. BSL 1.1.

Quick Start

Requires Node.js ≥ 22.12 (install) and Git on PATH. HTTPS remotes also require a working system CA trust store; SSH remotes require an SSH client and configured keys or agent access.

npm install -g agor-live

agor init           # creates config/database and installs the tools you select
agor daemon start   # runs the daemon in the background
agor open           # opens the web UI

Use agor install later to change or repair the selected agentic tools; it does not initialize or recreate Agor.

That's it — add a repo and create your first session from the onboarding wizard.

Prefer Homebrew? See the Getting Started guide for the brew path. For Docker, source builds, Postgres, and team setups, see Extended Installation.


Core Concepts

Agor is built on three foundational entities — everything else builds on these:

  • Branches — the unit of work. A first-class git working directory on its own branch, with an isolated dev environment and its own conversations. Conventionally 1 branch = 1 feature/PR.
  • Sessions & Trees — agent conversations with genealogy. Fork to explore alternatives (copies context), spawn subsessions for focused subtasks (fresh context window).
  • Boards & Zones — a Figma-like 2D canvas of branches. Drop a branch into a zone to fire a templated prompt.

Read the Features Overview →


Key Capabilities

TeammatesLong-lived AI coworkers, each with its own Knowledge-base namespace for durable, semantically searchable memory — shared with the team and able to collaborate with other teammates. Taught conversationally, then equipped with skills, MCP tools, gateway channels, and schedules.
Agor MCP ServerAgor exposes itself over MCP. Agents introspect sessions, branches, and boards, and drive the system themselves.
Multiplayer & SocialLive cursors, facepiles, spatial comments, and a shared multiplayer terminal.
Rich Chat UXPer-prompt token + dollar accounting, model/effort selectors, structured tool blocks, completion chimes.
EnvironmentsOne-click dev servers per branch with auto-managed unique ports — no more port fights.
Security & RBACBranch-scoped permission tiers, per-user credentials and env vars, and explicit execution modes (simple / sandbox / delegated).
KnowledgeA shared, searchable markdown knowledge base — one place for decisions, runbooks, prompts, and agent memory.
SchedulerCron-style triggers for templated prompts. Powers teammate heartbeats, standups, and automated audits.
Message GatewaySlack and GitHub as portals into Agor sessions.
ArtifactsLive, interactive apps (dashboards, mockups, tools) rendered directly on the board.
Cards (Beta)Generic workflow entities for non-code workflows.

Screenshots

Multiplayer presence with comments on a branch card

Real-time multiplayer — cursors, facepile, scoped comments

Task-centric conversation UI

Rich agent sessions with structured tool blocks

Persistent AI teammates list

Persistent AI teammates with memory and skills

MCP-native control surface

MCP-native — agents drive Agor themselves

Scheduler configuration modal

Scheduler — cron-style triggers for templated prompts

Branch environment configuration

One-click dev environments per branch


Architecture

graph TB
    subgraph Clients
        CLI["CLI (oclif)"]
        UI["Web UI (React)"]
    end

    Client["Feathers Client<br/>REST + WebSocket"]

    subgraph "Agor Daemon"
        Feathers["FeathersJS Server"]
        MCP["MCP HTTP Endpoint<br/>POST /mcp + Bearer auth"]
        Services["Services<br/>Sessions, Tasks, Messages<br/>Boards, Branches, Repos"]
        ORM["Drizzle ORM"]
    end

    subgraph Executor["Executor (process-isolated)"]
        AgentSDKs["Agent SDKs<br/>Claude · Codex · Gemini · OpenCode"]
    end

    subgraph Storage
        DB[("LibSQL / Postgres<br/>~/.agor/agor.db")]
        Git["Git Branches<br/>~/.agor/worktrees/"]
        Config["Config<br/>~/.agor/config.yaml"]
    end

    CLI --> Client
    UI --> Client
    Client <-->|REST + WebSocket| Feathers

    Feathers --> Services
    Feathers --> MCP
    MCP --> Services
    Services --> ORM
    Services --> Executor
    Executor -.->|JSON-RPC 2.0| MCP

    ORM --> DB
    Services --> Git
    Services --> Config

The daemon (apps/agor-daemon, FeathersJS) owns the database, services, WebSocket events, and the MCP HTTP endpoint. The executor (packages/executor) is a process-isolated runtime that spawns agents via their SDKs locally, inside the filesystem sandbox, or through a delegated external substrate. Shared types, the Drizzle schema, and git utilities live in @agor/core (packages/core).

Full Architecture Guide →

Repository layout

agor/
├── apps/
│   ├── agor-daemon/   # FeathersJS backend (REST + WebSocket + MCP)
│   ├── agor-ui/       # React UI (Ant Design + React Flow)
│   ├── agor-cli/      # oclif CLI
│   └── agor-docs/     # Docs site (Nextra) — canonical reference, published at agor.live
├── packages/
│   ├── core/          # @agor/core — types, db (Drizzle), git, api
│   └── executor/      # Process-isolated agent runtime
└── context/           # Agent-oriented cheat sheets and design docs

Development

The fastest path to a running dev instance from source:

git clone https://github.com/preset-io/agor
cd agor
docker compose up
# Visit http://localhost:5173 → login: admin@agor.live / admin

Prefer running locally without Docker? The two-process workflow (daemon in watch mode + UI dev server) and the .agor.yml variants (sqlite / postgres / rich / HA / docs) are documented in the Development Guide. It also covers running Agor inside Agor for dogfooding.

See CONTRIBUTING.md for the contribution workflow, and CLAUDE.md for the agent-oriented map of the codebase.


✨ Pledge ✨

⭐️ I pledge to fix a GitHub issue for every star Agor gets :)


Community

License

Business Source License 1.1 (BUSL-1.1). Agor is source-available, not open source, before the Change Date.

The Additional Use Grant permits production use, including internal and self-hosted commercial use. It does not permit commercializing Agor itself by offering its agent-orchestration functionality to third parties as a product or service, whether hosted, managed, or bundled for customers to operate. Consulting, support, integration, modification, use within a broader product or service, and single-customer internal deployments remain permitted subject to the license terms. Contact Preset, Inc. about alternative commercial licensing.

On January 15, 2029, or the fourth anniversary of the first public BSL distribution of a particular version (whichever comes first), that version converts to the Apache License 2.0. The license text controls if this summary differs from it.

About

Heavily prompted by @mistercrunch (Preset, Apache Superset, Apache Airflow), built by an army of Claudes and Codexes.

Read more: Agor Cloud — opening a private beta · Agent Modeling 101 · Raise a team helper agent in an afternoon · all posts →

Collected info

  • ★ 1,406 stars
  • ⎇ 122 forks
  • Language: TypeScript
  • Source updated: 9/21/2026

Config for your environment

Replace {MCP_ENDPOINT_URL} with this MCP’s endpoint URL (from its repo or docs above). No API key — you connect directly.

Tool

OS

Config file: ~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-server": {
      "url": "{MCP_ENDPOINT_URL}"
    }
  }
}

Paste into mcpServers in the config file. Restart Cursor after saving.

If this MCP is also published on mcpchannel.ai, you can subscribe from Browse and use the gateway config there instead.