Skip to main content
 ██████╗ ██████╗ ███████╗███████╗██████╗ ██╗   ██╗ █████╗ ██╗
██╔═══██╗██╔══██╗██╔════╝██╔════╝██╔══██╗██║   ██║██╔══██╗██║
██║   ██║██████╔╝███████╗█████╗  ██████╔╝██║   ██║███████║██║
██║   ██║██╔══██╗╚════██║██╔══╝  ██╔══██╗╚██╗ ██╔╝██╔══██║██║
╚██████╔╝██████╔╝███████║███████╗██║  ██║ ╚████╔╝ ██║  ██║███████╗
 ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝  ╚═╝  ╚═══╝  ╚═╝  ╚═╝╚══════╝

Observal is the control plane and system of record for internal AI components

License Python PyPI version Contributors Discord GHCR pulls

If you find Observal useful, please consider giving it a star. It helps others discover the project and keeps development going.


What is Observal and what does it solve?

Observal is the control plane and system of record for internal AI components. Every tech-forward organization today creates internal Skills, Agents, MCP servers and other AI components to boost productivity. Though the creation of these components has been prolific, the adoption and usage of such components is sparse. Developer/AI users today end up creating their own version of AI components without reusing existing packages.

The cause is largely due to two problems:

  1. Lack of a discoverability layer

Organizations store their AI components and agents in siloed github repositories with little to no documentation. Users are not able to locate similar components and this results in multiple developers creating the same/similar components again.

  1. Missing Feedback Loop

Any software where usage patterns are not understood and the principle of user-centric development is violated tends to fade out. Such is the problem with development of MCPs, Skills and Agents. Developers publish and maintain these components with little visibility into how they're actually used. Additionally, AI failures don't trigger static error codes—they hallucinate or provide subtly incorrect answers. This leaves users clueless about what went wrong compounding the feedback problem.

Observal solves this by providing a centralized discovery layer for AI components alongside useful insights into AI usage patterns. It turns silent failures into actionable feedback, ensuring internal AI tools are continuously optimized for the people using them.

Observal supports Claude Code, Cursor, Kiro, Pi, Copilot, Codex, OpenCode, and other tools.

Why teams use Observal

  • Package workflows into reusable agents: Bundle Skills, MCP servers, hooks, prompts, sandboxes, and policy into one versioned unit.
  • Run a governed registry: Review submissions, approve internal agents, inspect version diffs, and give developers one trusted place to install from.
  • Render across multiple Coding IDE/CLI: Generate the correct config for each supported harness instead of maintaining separate setup instructions for every harness.
  • Learn what works: Use real adoption and session data to find which agents, tools, prompts, and workflows are helping teams.
  • Replay sessions when needed: Use traces as evidence for debugging, review, audits, and deeper analysis.

Supported harnesses

harness
Claude Code
Kiro
Cursor
Pi
Copilot (CLI & VS Code Extension)
Codex
OpenCode
Antigravity CLI

One command to install any agent into any supported harness. The config files are generated per-harness automatically.


Quick Start

Observal has two parts: a server (API + web UI + databases) you self-host, and a CLI you install on each developer machine.

1. Deploy the server

One-line install (requires Docker Engine ≥ 24.0 with Compose v2):

curl -fsSL https://raw.githubusercontent.com/Observal/Observal/main/install-server.sh | bash

This downloads a Docker Compose package, runs guided setup (domain, secrets, ports), pulls container images from GHCR, and starts the full stack (API, web UI, PostgreSQL, ClickHouse, Redis, worker, load balancer, Prometheus, Grafana).

Deployment docs are linked directly from this README:

From source (for contributors):

git clone https://github.com/Observal/Observal.git && cd Observal
cp .env.example .env
make up

2. Install the CLI

Standalone binary (no Python required):

curl -fsSL https://raw.githubusercontent.com/Observal/Observal/main/install.sh | bash

Python (3.11+):

uv tool install observal-cli
# or: pipx install observal-cli

3. Connect your harness

observal auth login
observal doctor --patch

This authenticates with your server, detects your harness, installs telemetry hooks, starts capturing sessions automatically, and prepares it for agent installs and registry commands.

Once logged in, run /observal inside your harness and it takes the wheel. Pull agents, submit components, browse the registry, run diagnostics:

/observal pull security-auditor
/observal scan
/observal doctor

Or just tell your agent what you want and it figures out the right commands.


How Observal works

Agents are portable context packages

An agent bundles 5 component types into a single installable package: MCP servers, skills, hooks, prompts, and sandboxes. You define the agent once, publish it to the registry, and Observal generates the right config files for whichever supported harness or harness the user runs.

observal pull security-auditor --harness pi

The registry is the distribution layer

Browse published agents, see which harnesses they support, check download counts and ratings, and install with one command. Admins review submissions before they go live. Version diffs show exactly what changed between releases, so teams can safely evolve shared context.

Insights show what is helping

Observal turns real usage into reports about which agents, prompts, tools, and workflows are working or getting in the way. Use those insights to improve shared context instead of guessing from anecdotes.

Session traces provide the evidence

When you need to debug, audit, or understand a result, Observal can replay the full coding session: user prompts, thinking blocks, assistant responses, and tool calls with their inputs and outputs. The traces support registry and insight workflows rather than defining the product.


Agent Registry

Browse, search, and install agents with harness compatibility badges:

Agent registry with grid view

Build agents visually with live config preview for every harness:

Agent Builder with preview panel

Components library: MCPs, Skills, Hooks, Prompts, Sandboxes:

Component registry showing MCP servers


Agent Insights

AI-powered insight reports analyze usage patterns across all sessions, what's working, what's hindering, and quick wins. Powered by LiteLLM, works with any provider (Anthropic, OpenAI, Bedrock, Gemini, Azure, Ollama).

Insight report with What's Working, What's Hindering, Quick Wins

See Insights LLM Setup for configuration.


Session Replay

Full session overview with token counts, models, tools, and turn-by-turn timeline:

Session detail showing tokens, tools, models, and turns

Every turn captured: user prompt, tool calls, thinking block, assistant response:

Turn expanded showing user prompt, thinking, and response

Drill into any span to see exact tool inputs and outputs:

Span detail showing bash command input and full output


Review and Governance

Admin review queue with full prompt inspection and approve/reject:

Review queue with agent detail

Version diffs show exactly what changed between releases:

Side-by-side diff of v1.0.0 vs v2.0.0

Leaderboard tracks top agents and components by downloads:

Leaderboard with rankings


Enterprise Edition

Source-available under a separate license. Activated with a signed JWT key. Core never imports from ee/, the open-source edition is fully functional without it.

Enterprise adds:

  • Audit trail/logs with parameterized search and CSV export
  • SAML SSO and SCIM provisioning
  • Executive dashboard for org-wide agent performance

Audit log with parameterized search:

Audit log with PHI sensitivity badges and chain hashes

The server and CLI are the same package for all editions. Enterprise features activate at runtime when a valid license key is present:

# Pass the key during server install
curl -fsSL https://raw.githubusercontent.com/Observal/Observal/main/install-server.sh | bash -s -- --license-key YOUR_KEY

# Or add it later to your .env
echo 'OBSERVAL_LICENSE_KEY=your.key' >> .env
make rebuild

Documentation

Full docs at docs.observal.io.

Start here for deployment and operations:

Need Link
Fast local or source setup SETUP.md
Self-hosting overview docs/self-hosting/README.md
Production deployment docs/self-hosting/production-deploy.md
Single-node deployment docs/self-hosting/single-node-deploy.md
Docker Compose setup docs/self-hosting/docker-compose.md
Databases and migrations docs/self-hosting/databases.md
Upgrades docs/self-hosting/upgrades.md
Backup and restore docs/self-hosting/backup-and-restore.md

Tech Stack

Layer Technology
Frontend Vite 6, React 19, TanStack Router, Tailwind CSS 4, shadcn/ui
Backend Python 3.11+, FastAPI, Strawberry GraphQL
Databases PostgreSQL 16 (registry), ClickHouse (telemetry)
Queue Redis + arq
CLI Python, Typer, Rich
Telemetry Session hooks, stdio shims, push-based ingest
Deployment Docker Compose (10 services), Kubernetes (Helm)

Contributing

See CONTRIBUTING.md. The short version:

  1. Fork and clone
  2. make hooks to install pre-commit hooks
  3. Create a feature branch
  4. Run make lint and make test
  5. Open a PR

See AGENTS.md for internal codebase context.

Community

GitHub Discussions for questions and ideas. Discord for chat. Open Issues for confirmed bugs.

Reporting Issues

observal support bundle

Produces a redacted diagnostic archive. Review before sharing: observal support inspect observal-support-*.tar.gz

For live debugging, Observal uses loguru-based dev logging (internally called "optic"). Stream logs with:

observal logs

Logs are written to ~/.observal/logs/dev.log and include structured context for every request, background job, and telemetry event.

Security

Report vulnerabilities via GitHub Private Vulnerability Reporting or email contact@observal.io. Do not open a public issue. See SECURITY.md.

Star History

Star History Chart

License

The open-source core, all code outside ee/, is licensed under the Apache License 2.0. See LICENSE and our License Commitment.

The ee/ directory contains Enterprise Edition code licensed separately under the Observal Enterprise License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

observal_cli-1.9.9.tar.gz (6.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

observal_cli-1.9.9-py3-none-any.whl (424.6 kB view details)

Uploaded Python 3

File details

Details for the file observal_cli-1.9.9.tar.gz.

File metadata

  • Download URL: observal_cli-1.9.9.tar.gz
  • Upload date:
  • Size: 6.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for observal_cli-1.9.9.tar.gz
Algorithm Hash digest
SHA256 9298504f12cdea3e79ada57049a49b5c19f3a59138dbc45af42a435ca4b2a87c
MD5 05385dfe083f22131950b101f872d803
BLAKE2b-256 0d06390a2c0325fb9ac410e7f65f3b569e2bef477631b2e1fd3c252bdfd6a66d

See more details on using hashes here.

Provenance

The following attestation bundles were made for observal_cli-1.9.9.tar.gz:

Publisher: release.yml on Observal/Observal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file observal_cli-1.9.9-py3-none-any.whl.

File metadata

  • Download URL: observal_cli-1.9.9-py3-none-any.whl
  • Upload date:
  • Size: 424.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for observal_cli-1.9.9-py3-none-any.whl
Algorithm Hash digest
SHA256 f0f4f379b2c6c18a2d5d0cd6644e1a449a0d95321d46a69a7775b5abd2757dc3
MD5 2b945761e1d435fbc1e5ddfc7432ab33
BLAKE2b-256 e2f635dd44fa33acad857b3fe0f43e4b218cdd4a6fa30640c5a104a7494433ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for observal_cli-1.9.9-py3-none-any.whl:

Publisher: release.yml on Observal/Observal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page