██████╗ ██████╗ ███████╗███████╗██████╗ ██╗ ██╗ █████╗ ██╗ ██╔═══██╗██╔══██╗██╔════╝██╔════╝██╔══██╗██║ ██║██╔══██╗██║ ██║ ██║██████╔╝███████╗█████╗ ██████╔╝██║ ██║███████║██║ ██║ ██║██╔══██╗╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██╔══██║██║ ╚██████╔╝██████╔╝███████║███████╗██║ ██║ ╚████╔╝ ██║ ██║███████╗ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚══════╝
Observal is the control plane and system of record for internal AI components
If you find Observal useful, please consider giving it a star. It helps others discover the project and keeps development going.
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:
-
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.
-
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.
- 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.
| 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.
Observal has two parts: a server (API + web UI + databases) you self-host, and a CLI you install on each developer machine.
One-line install (requires Docker Engine ≥ 24.0 with Compose v2):
curl -fsSL https://raw.githubusercontent.com/Observal/Observal/main/install-server.sh | bashThis 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 upStandalone binary (no Python required):
curl -fsSL https://raw.githubusercontent.com/Observal/Observal/main/install.sh | bashPython (3.11+):
uv tool install observal-cli
# or: pipx install observal-cliobserval auth login
observal doctor --patchThis 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.
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 piBrowse 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.
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.
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.
Browse, search, and install agents with harness compatibility badges:
Build agents visually with live config preview for every harness:
Components library: MCPs, Skills, Hooks, Prompts, Sandboxes:
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).
See Insights LLM Setup for configuration.
Full session overview with token counts, models, tools, and turn-by-turn timeline:
Every turn captured: user prompt, tool calls, thinking block, assistant response:
Drill into any span to see exact tool inputs and outputs:
Admin review queue with full prompt inspection and approve/reject:
Version diffs show exactly what changed between releases:
Leaderboard tracks top agents and components by downloads:
Audit logs, SAML SSO, SCIM provisioning, and the executive dashboard are included in the Apache-2.0 distribution.
Audit log with parameterized search:
Full docs at docs.observal.io.
Start here for deployment and operations:
| 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, local transcript reconciliation, push-based ingest |
| Deployment | Docker Compose (10 services), Kubernetes (Helm) |
See CONTRIBUTING.md. The short version:
- Fork and clone
make hooksto install pre-commit hooks- Create a feature branch
- Run
make lintandmake test - Open a PR
See AGENTS.md for internal codebase context.
GitHub Discussions for questions and ideas. Discord for chat. Open Issues for confirmed bugs.
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:
Logs are written to ~/.observal/logs/dev.log and include structured context for every request, background job, and telemetry event.
Report vulnerabilities via GitHub Private Vulnerability Reporting or email [email protected]. Do not open a public issue. See SECURITY.md.
Observal is licensed under the Apache License 2.0. See LICENSE.










