Observal is a free, open source marketing & customer engagement project written in Python and released under Apache-2.0. It has 2,359 GitHub stars, 472 forks and 201 open issues, and was last pushed 35 hours ago. On this registry it ranks #43 of 70 tracked projects in Marketing & Customer Engagement, with 5 head-to-head comparisons available.

 ██████╗ ██████╗ ███████╗███████╗██████╗ ██╗   ██╗ █████╗ ██╗
██╔═══██╗██╔══██╗██╔════╝██╔════╝██╔══██╗██║   ██║██╔══██╗██║
██║   ██║██████╔╝███████╗█████╗  ██████╔╝██║   ██║███████║██║
██║   ██║██╔══██╗╚════██║██╔══╝  ██╔══██╗╚██╗ ██╔╝██╔══██║██║
╚██████╔╝██████╔╝███████║███████╗██║  ██║ ╚████╔╝ ██║  ██║███████╗
 ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝  ╚═╝  ╚═══╝  ╚═╝  ╚═╝╚══════╝

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

License Python PyPI version Contributors Discord Server GHCR pulls Artifact Hub CLA assistant OpenSSF Scorecard OpenSSF Best Practices Codecov

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.

  2. 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 components into reusable agents: Bundle Skills, MCP servers, hooks, prompts, and sandboxes 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
Goose

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, generates operator-owned secret files with restricted container-group access, binds published ports to loopback by default, pulls container images from GHCR, and starts the stack. With a terminal it runs guided setup; without a terminal the same command applies safe defaults automatically.

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

readme truncated — read the full docs on github

Frequently asked questions

Is Observal free to use?

Observal is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Observal do?

Observal is self-hosted registry for your coding agent extensions with a built in insight engine. Setup Observal, define the scope and share your Skills, MCPs

What is Observal written in?

Observal is primarily written in Python. Its source is publicly available at https://github.com/Observal/Observal, and it has 2,359 GitHub stars.