p.enthalabs

Flightdeck: observability and control plane for AI agent fleets

Self-hosted **·** Apache 2.0 **·** Production and coding agents

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 view Streaming Paused

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 off by default in the sensor; the Claude Code plugin captures your own session by default and can be turned off.

Anthropic OpenAI litellm LangChain LangGraph LlamaIndex CrewAI bifrost Claude Code MCP

On the dashboard

Live fleet view Streaming

Video 8

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

Agents

Video 9

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

Events

Video 10

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.