← Infrastructure

Company Manager

Model any organization as a team of LLM agents. Hire employees, write their job descriptions, assign missions — from a CEO's seat, on your own MCP infrastructure.

The Idea

An organization is a set of roles, each with a scope of responsibility, a way of working, and tools to get the job done. Company Manager takes that definition literally: every employee is an LLM agent whose behavior is entirely described by its job description — a system prompt — combined with the MCP tools it is allowed to use.

You run the company. You open the app, pick an organization, hire agents by writing their job description, activate them, and assign missions. Work is executed in real time by LLMs from the AI Hub, using MCP tools scoped to each role. You observe, pause, refine, and fire.

The same pattern models a software team, a legal review desk, a support triage line, a finance back-office, or a research lab. What changes is the prompts and the allowed tools — not the infrastructure.

What an Agent Is

Each agent is a small, auditable unit of work. Its identity lives in a single row of a DuckDB table, and its behavior is defined by a handful of fields.

Job Description

The system prompt. Role, responsibilities, tone, constraints, escalation rules. The prompt is the contract between the CEO and the agent.

Allowed Tools

A filtered subset of the MCP tool catalog. A sales agent sees CRM tools, not production database write access. Least privilege by default.

LLM Backend

Any backend registered in the AI Hub: local llama.cpp, Claude, GitHub Models. Sampling parameters (temperature, top-p) are applied only when the backend supports them.

Status

Idle, Working, Paused, or Offline. Activation is a deliberate act — a hired agent is not a running agent until you flip it on.

Workers and Supervisors

Two agent types cover most organizational patterns.

Worker

Executes missions directly. Runs a ReAct loop against its allowed tools: think, call a tool, observe, iterate, produce a result. One mission at a time.

Supervisor

Orchestrates other agents. Receives a mission, decomposes it into sub-tasks, delegates each to an appropriate worker, monitors progress, synthesizes the results into a single outcome.

A Supervisor is just another agent with a specialized prompt and the ability to spawn sub-missions. Hierarchies emerge naturally: a Program Manager Supervisor can coordinate Team Lead Supervisors, each coordinating individual Workers.

How It Sits on the MCP Stack

Company Manager is not a new runtime. It is a plugin that composes existing pieces of the MCP infrastructure.

┌───────────────────────────────────────────────────────────┐ │ CEO UI — ImGui client plugin (roster, missions, feed) │ ├───────────────────────────────────────────────────────────┤ │ Company Manager Plugin (hexagonal: domain / app / infra) │ │ • Organizations, Agents, Missions, Logs in DuckDB │ │ • MCP tools: hire, fire, assign, start, cancel… │ ├───────────────────────────────────────────────────────────┤ │ AI Hub RBAC MCP Tool Registry │ │ (LLM inference) (permissions) (agent capabilities) │ ├───────────────────────────────────────────────────────────┤ │ MCP Server — WebSocket JSON-RPC 2.0, plugin host │ └───────────────────────────────────────────────────────────┘

AI Hub

Single source of LLM inference. Every agent, regardless of backend, goes through the Hub — so GPU queues, rate limits, and concurrency are managed once, centrally.

RBAC

The CEO is an authenticated user. Every hire, fire, and mission start is traceable to a human identity. Agents inherit the CEO's effective permissions, filtered by their allowed tools.

MCP Tools

Every plugin already installed on the server — GitHub, Jira, accounting, data ingestion, BI — becomes a potential capability for an agent. No new integration layer.

DuckDB

Organizations, agents, missions, and every log entry live in a single embedded database. Queryable, exportable, auditable. No hidden state.

Organization Patterns

Nothing about the platform assumes a particular organizational shape. A few examples of what the same engine can model:

Software TeamProduct Manager Supervisor + Backend Dev + Frontend Dev + QA + Release Manager.
Support DeskTriage Supervisor routes incoming tickets to L1 / L2 / billing / refunds agents.
Legal ReviewParalegal Workers draft, Senior Counsel Supervisor validates against policy.
Finance Back-officeInvoice processing, reconciliation, anomaly flagging, with a Controller Supervisor.
Research LabLiterature Scout + Data Analyst + Report Writer, coordinated by a Principal Investigator.
Content StudioResearcher + Writer + Editor + SEO Analyst, chained by a Managing Editor.

Multiple organizations coexist in the same installation. Agents can be duplicated across organizations (copy the role, keep the same prompt) or transferred (reassign to a new org).

Real-time Observability

Every thought, tool call, tool result, and final output is a log entry broadcast over the MCP WebSocket. The CEO UI renders them live.

Activity Feed

A streaming view of what every active agent is doing, filterable by agent or mission.

Mission Replay

Every mission is a reproducible trace. Open a completed mission and see exactly how the result was reached — thought by thought, tool call by tool call.

Org Chart

Visual hierarchy of agents and supervisor relationships, rendered with ImPlot. Click a node, jump to the agent.

Why Build This on MCP

Multi-agent platforms exist as SaaS products. Company Manager is a different proposition.

Your Infrastructure

Runs on your servers. No data leaves your perimeter unless you explicitly allow an agent to use a remote backend.

Swappable Backends

Switch an agent from Claude to a local quantized model in one click. The job description doesn't change — only the cost profile.

Composable by Design

Every MCP tool you already built is reusable. Adding a new business capability is a plugin, not a rewrite.

Audit-ready

RBAC on the CEO side, per-agent tool filtering, full DuckDB trail on the storage side. Every action is attributable.

MCPAI HubRBACDuckDBImGuiImPlotWebSocket JSON-RPCHexagonal architectureReAct