Flightdeck.

Self-hosted · Apache 2.0 · Production and coding agents

Observability and control plane for AI agent fleets.

Every LLM call, MCP event, and tool call your agents make streams to the dashboard as it happens, surfaced as a per-agent timeline and as a live fleet-wide feed. Set token budgets, MCP allow/block rules, and live directives on your production agents.

Coding agents attach via the Claude Code plugin.

Production agents add the flightdeck-sensor Python package to their entrypoint: init() + patch(), no other code changes.

Fleet viewStreamingPaused
research-agent
support-triage
claude-code · omri
etl-summarizer
llm_call tool_use mcp_event policy_warn / degrade policy_block / kill

One row per agent, sub-agents nested under their parents, events plotted as they arrive. Hover any event to inspect it; hovering pauses the stream.

What it does

Live fleet view

Every agent on a shared timeline: LLM calls, embeddings, tool uses, MCP events, and structured errors, streamed as they happen. Click any event to inspect it.

Budgets that act

Central token budgets per flavor, enforced in-process. Warn at 80%, swap to a cheaper model at 90%, block at 100%. Defaults, all configurable, every decision a structured event.

Kill switch and directives

Stop one agent or an entire flavor from the dashboard; the signal delivers on the agent's next call. Register custom directives in Python and invoke them remotely.

MCP protection

Allowlist or blocklist the MCP servers your agents may talk to, per flavor. Misconfigured or unrecognized servers warn or block before the call leaves the process.

Sub-agent trees

Multi-agent runs render as a tree: orchestrator parent, one child session per sub-agent, linked and labeled by role. Claude Code tasks, CrewAI agents, LangGraph nodes.

Analytics and cost

Token consumption, latency, model distribution, policy volume, and estimated cost, grouped by flavor, model, framework, host, team, or role.

Architecture

Not a proxy. The sensor wraps SDK clients inside your agent's own process: init() + patch(), no other code changes, and calls go straight to the provider. Prompt capture is opt-in and off by default.

Anthropic OpenAI litellm LangChain LangGraph LlamaIndex CrewAI bifrost Claude Code MCP

On the dashboard

Live fleet viewStreaming

The live fleet feed. Agents, events, run boundaries, and policy decisions on one shared clock.

Agents

Every agent with token, latency, error, and cost trends, plus a per-agent drawer and swimlane.

Events

Filter every event by agent, type, framework, model, or MCP server. Click through to the run.

Quickstart

Coding agents

Inside Claude Code, install the plugin from the repo's marketplace:

/plugin marketplace add flightdeckhq/flightdeck
/plugin install flightdeck@flightdeck-plugins
/reload-plugins

Production agents

Add the sensor to your entrypoint. Nothing else changes:

# pip install flightdeck-sensor
import flightdeck_sensor
flightdeck_sensor.init(server="...", token="...")
flightdeck_sensor.patch()

Run the stack itself with git clone https://github.com/flightdeckhq/flightdeck && cd flightdeck && make dev, dashboard on localhost:4000. Docker Compose and a Helm chart cover production. Full walkthrough in the README.