Govern and discover internal AI components across your org
Observal is a self-hosted control plane and registry for internal AI agents, skills, and MCP servers, with usage insights and session replay.
Why it matters
Observal serves as the central control plane and registry for all internal AI components-Skills, Agents, MCP servers, prompts, and sandboxes-enabling teams to discover, version, deploy, and monitor reusable AI tools across multiple coding IDEs and CLIs while capturing usage patterns and feedback loops that prevent duplicate work and silent failures.
Outcomes
What it gets done
Package Skills, MCP servers, hooks, prompts, and sandboxes into versioned, reusable agents
Run a governed registry where teams review, approve, and install trusted internal AI components
Generate harness-specific configs automatically for Claude Code, Cursor, Copilot, Kiro, and other tools
Capture session traces and usage analytics to identify which agents and workflows drive adoption
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/observal-observal | bash Overview
Observal
Observal is a self-hosted control plane and system of record for internal AI components: a governed registry bundling MCP servers, skills, hooks, prompts, and sandboxes into versioned agents installable across Claude Code, Cursor, Copilot, and other harnesses, with AI-powered usage insights and full session replay. Use it when multiple teams are independently building internal AI agents, skills, or MCP servers and duplicating work with no visibility into what's actually used; it requires self-hosting a full server stack, so it pays off once there's a real shared component library to govern.
What it does
Observal is a control plane and system of record for internal AI components - the Skills, Agents, and MCP servers that organizations build to boost productivity but that end up siloed in individual GitHub repos, poorly documented, and reinvented repeatedly because nobody can find what already exists. Observal addresses two specific failure modes: a missing discoverability layer (components are scattered with no way to locate similar existing work) and a missing feedback loop (developers publish agents, skills, and MCPs with no visibility into how they're actually used, and AI failures don't throw error codes - they hallucinate or answer subtly wrong, leaving users with no signal about what went wrong). It solves this with a centralized registry plus usage insights, turning silent failures into actionable feedback.
An "agent" in Observal is a portable context package bundling five component types - MCP servers, skills, hooks, prompts, and sandboxes - into a single versioned, installable unit. Define it once, publish it to the registry, and Observal generates the correct config files for whichever supported coding harness a developer runs (Claude Code, Cursor, Kiro, Pi, Copilot, Codex, OpenCode, Antigravity CLI), so teams don't maintain separate setup instructions per tool. The registry supports admin review of submissions before they go live, version diffs showing exactly what changed between releases, download counts, and ratings. AI-powered insight reports (via LiteLLM, so any provider works) analyze real session data across "what's working," "what's hindering," and "quick wins," and full session replay - user prompts, thinking blocks, assistant responses, and every tool call's inputs and outputs - supports debugging, review, and audits. Audit logs, SAML SSO, SCIM provisioning, and an executive dashboard all ship in the Apache-2.0 open-source distribution.
When to use - and when NOT to
Use Observal when an organization has multiple developers or teams independently building internal AI agents, skills, or MCP servers across several coding harnesses, and is losing productivity to duplicated work (no discoverability) and unmeasured, unmanaged AI tool adoption (no feedback loop). It's a fit for teams that want governed, reviewed publishing of internal agents with per-harness config generation, and for anyone who needs session-level evidence (full replay of prompts, thinking, and tool calls) for debugging or auditing AI-assisted work.
It's not a fit for a solo developer or a team with no shared internal AI component library to manage - the whole product is built around discovery, governance, and cross-session insight, which only pays off once there's a real registry of shared agents/skills/MCPs and enough usage to analyze. It also requires self-hosting a full server stack (API, web UI, Postgres, ClickHouse, Redis, worker, load balancer, Prometheus, Grafana), so it's operational overhead beyond installing a lightweight CLI tool.
Inputs and outputs
Observal has two parts: a self-hosted server (API, web UI, databases) and a CLI installed on each developer machine. Deploy the server with a one-line Docker Compose install (Docker Engine 24.0+ with Compose v2 required):
curl -fsSL https://raw.githubusercontent.com/Observal/Observal/main/install-server.sh | bash
Install the CLI as a standalone binary or via Python (uv tool install observal-cli), then connect a harness:
observal auth login
observal doctor --patch
This authenticates against the server, detects the harness, installs telemetry hooks, and starts capturing sessions automatically. Inside a connected harness, /observal pull <agent-name>, /observal scan, and /observal doctor pull agents from the registry, submit components, and run diagnostics. Output is a working agent installed with harness-correct config, plus, on the server side, a browsable and searchable registry, AI-generated insight reports, and replayable session traces (token counts, models, tools, and a turn-by-turn timeline, drillable to exact tool inputs and outputs).
Integrations
Observal integrates directly with Claude Code, Cursor, Kiro, Pi, Copilot (CLI and VS Code extension), Codex, OpenCode, and Antigravity CLI as supported harnesses, generating per-harness config automatically for any published agent. Its AI-powered insight reports run through LiteLLM, so they work with Anthropic, OpenAI, Bedrock, Gemini, Azure, or Ollama as the underlying model provider. The stack itself is Vite/React/TanStack/Tailwind on the frontend, FastAPI/Strawberry GraphQL on the backend, PostgreSQL for the registry and ClickHouse for telemetry, Redis/arq for queueing, and deploys via Docker Compose (10 services) or Kubernetes via Helm.
Who it's for
Platform and developer-experience teams at organizations building internal AI agents, skills, and MCP servers across multiple coding tools, who need a governed, searchable registry to stop duplicated work, real usage data to know which shared components are actually helping, and session-level replay for debugging, review, or audit - especially organizations already standardized on tools like Claude Code, Cursor, or Copilot across the team. It is licensed under Apache-2.0.
Source README
██████╗ ██████╗ ███████╗███████╗██████╗ ██╗ ██╗ █████╗ ██╗ ██╔═══██╗██╔══██╗██╔════╝██╔════╝██╔══██╗██║ ██║██╔══██╗██║ ██║ ██║██████╔╝███████╗█████╗ ██████╔╝██║ ██║███████║██║ ██║ ██║██╔══██╗╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██╔══██║██║ ╚██████╔╝██████╔╝███████║███████╗██║ ██║ ╚████╔╝ ██║ ██║███████╗ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚══════╝
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.
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:
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.
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 |
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:
- Setup guide: fastest path from zero to a working stack
- Self-hosting overview: deployment models and operator docs
- Production deployment: hardened production topology
- Databases: Postgres, ClickHouse, migrations, retention
- Upgrades: safe upgrade and rollback flow
- Backup and restore: backup plan before upgrades
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:
Build agents visually with live config preview for every harness:
Components library: MCPs, Skills, Hooks, Prompts, Sandboxes:
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).
See Insights LLM Setup for configuration.
Session Replay
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:
Review and Governance
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:
Open-source features
Audit logs, SAML SSO, SCIM provisioning, and the executive dashboard are included in the Apache-2.0 distribution.
Audit log with parameterized search:
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, local transcript reconciliation, push-based ingest |
| Deployment | Docker Compose (10 services), Kubernetes (Helm) |
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 harisrini21@gmail.com. Do not open a public issue. See SECURITY.md.
Star History
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.