AI Business Insights
AI Agency Operations

How We Built a Multi-Client Control Plane for Our AI Agency (And Open-Sourced It)

Running AI agents for multiple clients creates chaos: agent sprawl, no single view, no way to act. Here's the self-hosted control plane we built to run every client's agents, projects, sites, and revenue from one dashboard — and why we open-sourced it.

How We Built a Multi-Client Control Plane for Our AI Agency (And Open-Sourced It) article image

We run a small AI agency. Every client gets their own box, their own trained AI agent, and their own deliverables: a receptionist for one client, an Amazon agency dashboard for another, a full product pipeline for a third. For months, keeping all of that straight meant switching between half a dozen dashboards, SSH sessions, and spreadsheets.

Then we hit the wall every small AI shop eventually hits: agent sprawl. Multiple agents, multiple clients, multiple boxes — and no single place to see what was running, who was working on what, and what was broken.

So we built the tool we needed. This week we open-sourced it. Here's what we learned, and why we think every AI agency needs a control plane of its own.

The problem: agents multiply faster than dashboards

When you run AI systems for clients, the pieces multiply quickly:

  • Agents — a trained Hermes agent per client, plus your own internal agents (our VPS agent and laptop agent).
  • Projects — every client engagement has a pipeline: research, build, deploy, support.
  • Sites and deliverables — client portals, dashboards, receptionist widgets, MCP servers.
  • Revenue — Gumroad products, subscription retainers, one-off builds, AdSense.

The hard part isn't building any single piece. It's operating all of them together. Which agent is handling which client? What's deployed where? Is the receptionist down? Who do I ping to restart it?

Spreadsheets break. CRMs don't speak "agent." Notion becomes a graveyard of stale statuses. If you're just getting started with what agents can actually do for an agency, our guide to AI agents for agencies walks through the reporting and proposal workflows first.

What a control plane actually is

In infrastructure, a control plane is the layer that decides what should happen — as opposed to the data plane, which executes it. Kubernetes has one. Cloud platforms have one. But AI agencies — which are effectively operating fleets of agents — usually have nothing.

A control plane for an AI agency gives you:

  1. One dashboard for every client, agent, project, site, and revenue line.
  2. One way to act — not just observe.
  3. One endpoint your own agents can operate through (more on that below).

We designed ours around the constraint that made everything else possible: each client is a first-class tenant. A client's workspace holds their own agents, their own deliverables, their own projects and sites — completely separate from our internal operations. That single decision killed the confusion that spreadsheets were causing.

The remote-exec design that keeps credentials safe

The most dangerous temptation in an agency is to keep client credentials in one place so you can "just fix things." We refused that. Our design is pull-based, credential-free:

  • The Command OS holds a command queue.
  • Each client box polls the queue with its own token — never with our credentials.
  • The box executes (restart, redeploy, fix, health check) and reports the result back.
  • The dashboard shows the history.

No SSH from the control plane. No client passwords sitting in one database. If a client box is compromised, the attacker gets that client's token — not a path to every other client. For an agency, that's the difference between a bad day and a lawsuit.

The MCP server: agents operating the OS

Here's the part we're most excited about: the control plane ships with a 17-tool MCP server. MCP (Model Context Protocol) is the open standard that lets AI agents use tools. Because the whole OS is behind MCP, any agent — ours or a client's — can read and write it over stdio:

  • list and create tasks
  • check sites and dispatch commands
  • list clients, projects, revenue
  • heartbeat agent status

This closes the loop: your agents don't just appear in the dashboard. They operate it. Our VPS agent can check a client's site status through the same interface we click in the browser. That's the difference between an agency that uses AI and an agency that runs on it.

Real data only

A rule we refuse to break: no mock numbers. The seed data is our real portfolio — real clients, real deliverables, real projects. It's tempting to demo with pretty fake numbers, but fake data hides real problems. When the dashboard shows revenue, it shows what we actually earned. When it shows a site down, the site is actually down. (If you're still sizing up whether automation pays off at all, our guide to calculating AI automation ROI shows the math.)

Why we open-sourced it

Two reasons. First, we're a playbook-driven agency — our whole model is "show the work." Publishing the actual tool we use to run the business is the strongest proof of that. Second, every solo founder and small AI shop we talked to has the same agent-sprawl problem, and most were solving it with a CRM and hope. This is our answer, free.

The stack is deliberately boring: Next.js, SQLite, Node 24+, one Docker container, zero external services. MIT licensed.

What's in the repo

  • Dashboard — revenue, projects, agents, sites, cron health, CI status in one view
  • Pipeline board — every client engagement through the build phases
  • Agent control — task inbox, agent registry, heartbeats, sessions
  • Remote-exec — restart/redeploy/fix any client box via connect-back
  • MCP server — 17 tools for any agent
  • Multi-tenant — each client gets their own workspace

Quick start

docker compose up -d
# open http://localhost:3000 → /setup → create admin → login

Connect an agent:

node scripts/command-os-mcp.cjs

Node 24+, SQLite, one container. If you run AI systems for clients, grab it, give it a star, and tell us what to build next — client billing, GA4/AdSense integration, and deploy buttons are on the roadmap.

The takeaway

AI agencies are software companies now. The ones that win won't be the ones with the smartest prompt — they'll be the ones that can operate fleets of agents across many clients without chaos. A control plane isn't a nice-to-have; it's the difference between a portfolio of projects and a real business. For a broader view of where agentic AI fits into business operations, our complete 2026 guide to AI agents for business covers the full landscape.

We're still early — the tool is live, the launch is this week, and the roadmap is driven by whoever stars it and tells us what hurts. If you're running AI agents for clients, we'd love to hear what your operations look like. That feedback is the next feature.

AI agencycontrol planeMCP servermulti-clientAI agentsopen source

AI Invention Editorial Team

Practical analysis from AI Invention for founders, operators, and business leaders building useful AI automation without the hype.