Observal MCP Server Registry & Agent Registry CLI
Project description
██████╗ ██████╗ ███████╗███████╗██████╗ ██╗ ██╗ █████╗ ██╗ ██╔═══██╗██╔══██╗██╔════╝██╔════╝██╔══██╗██║ ██║██╔══██╗██║ ██║ ██║██████╔╝███████╗█████╗ ██████╔╝██║ ██║███████║██║ ██║ ██║██╔══██╗╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██╔══██║██║ ╚██████╔╝██████╔╝███████║███████╗██║ ██║ ╚████╔╝ ██║ ██║███████╗ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚══════╝
A registry and insight platform for portable AI coding agents. Define context once, install it across tools, and learn what works.
If you find Observal useful, please consider giving it a star. It helps others discover the project and keeps development going.
What Observal is for
Observal is for teams doing context engineering across AI coding tools. If your organization maintains Skills, AGENTS files, MCP servers, hooks, prompts, sandboxes, or subagent definitions, Observal gives you one place to package them into versioned agents, publish them to a registry, and install them into the IDE or harness your developers use.
Define an agent once. Observal renders the right configuration for Claude Code, Cursor, Kiro, Pi, Copilot, Codex, OpenCode, and other supported tools. As teams use those agents, Observal turns real usage into insights about which prompts, skills, tools, and policies are helping.
Why teams use Observal
- Package context 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 coding tools: Generate the correct config for each supported IDE 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 without making observability the main workflow.
Supported IDEs
| IDE |
|---|
| Claude Code |
| Kiro |
| Cursor |
| Pi |
| Copilot (CLI & VS Code Extension) |
| Codex |
| OpenCode |
| Antigravity CLI |
One command to install any agent into any supported IDE. The config files are generated per-IDE 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/BlazeUp-AI/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).
From source (for contributors):
git clone https://github.com/BlazeUp-AI/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/BlazeUp-AI/Observal/main/install.sh | bash
Python (3.11+):
uv tool install observal-cli
# or: pipx install observal-cli
3. Connect your IDE
observal auth login
observal doctor --patch
This authenticates with your server, detects your IDE, installs telemetry hooks, starts capturing sessions automatically, and prepares it for agent installs and registry commands.
Once logged in, run /observal inside your IDE 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 IDE or harness the user runs.
observal pull security-auditor --ide pi
The registry is the distribution layer
Browse published agents, see which IDEs 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 IDE compatibility badges:
Build agents visually with live config preview for every IDE:
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:
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:
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/BlazeUp-AI/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
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | Next.js 16, React 19, 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) |
Contributing
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.
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@blazeup.app. Do not open a public issue. See SECURITY.md.
Star History
License
GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file observal_cli-1.6.1.tar.gz.
File metadata
- Download URL: observal_cli-1.6.1.tar.gz
- Upload date:
- Size: 4.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bed744aeeed2f149f44da509908588ba35699a422d59f5fcf750d72f90842743
|
|
| MD5 |
2b94db0db0b5edd68ab5936b9298e35d
|
|
| BLAKE2b-256 |
fcd5b9fe463b1456471321f108344da8318b70f284af468445c976437e5d773c
|
Provenance
The following attestation bundles were made for observal_cli-1.6.1.tar.gz:
Publisher:
release.yml on BlazeUp-AI/Observal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
observal_cli-1.6.1.tar.gz -
Subject digest:
bed744aeeed2f149f44da509908588ba35699a422d59f5fcf750d72f90842743 - Sigstore transparency entry: 1850047428
- Sigstore integration time:
-
Permalink:
BlazeUp-AI/Observal@85e6c866fbec7d385835a4997d1f7c178eefbbf3 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/BlazeUp-AI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@85e6c866fbec7d385835a4997d1f7c178eefbbf3 -
Trigger Event:
push
-
Statement type:
File details
Details for the file observal_cli-1.6.1-py3-none-any.whl.
File metadata
- Download URL: observal_cli-1.6.1-py3-none-any.whl
- Upload date:
- Size: 377.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8cfc2d89cc84596b962b36e5285ad56e26030e9a3f124ceed2cc37f8a6f6e114
|
|
| MD5 |
3b5eab295bcf030f773923120c60e80b
|
|
| BLAKE2b-256 |
2017869409753ae2db55be0200db27d5ec2f16326ae31eb6c71ee245f1afcac0
|
Provenance
The following attestation bundles were made for observal_cli-1.6.1-py3-none-any.whl:
Publisher:
release.yml on BlazeUp-AI/Observal
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
observal_cli-1.6.1-py3-none-any.whl -
Subject digest:
8cfc2d89cc84596b962b36e5285ad56e26030e9a3f124ceed2cc37f8a6f6e114 - Sigstore transparency entry: 1850047661
- Sigstore integration time:
-
Permalink:
BlazeUp-AI/Observal@85e6c866fbec7d385835a4997d1f7c178eefbbf3 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/BlazeUp-AI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@85e6c866fbec7d385835a4997d1f7c178eefbbf3 -
Trigger Event:
push
-
Statement type: