Observal MCP Server Registry & Agent Registry CLI
Project description
██████╗ ██████╗ ███████╗███████╗██████╗ ██╗ ██╗ █████╗ ██╗ ██╔═══██╗██╔══██╗██╔════╝██╔════╝██╔══██╗██║ ██║██╔══██╗██║ ██║ ██║██████╔╝███████╗█████╗ ██████╔╝██║ ██║███████║██║ ██║ ██║██╔══██╗╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██╔══██║██║ ╚██████╔╝██████╔╝███████║███████╗██║ ██║ ╚████╔╝ ██║ ██║███████╗ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚══════╝
Discover, share, and monitor AI coding agents with full observability built in.
If you find Observal useful, please consider giving it a star. It helps others discover the project and keeps development going.
Observal is a self-hosted AI agent registry with built-in observability. Think Docker Hub, but for AI coding agents.
Browse agents created by others, publish your own, and pull complete agent configurations — all defined in a portable YAML format that templates out to Claude Code, Kiro CLI, Cursor, Gemini CLI, and more. Every agent bundles its MCP servers, skills, hooks, prompts, and sandboxes into a single installable package. One command to install, zero manual config.
Every interaction generates traces, spans, and sessions that flow into a telemetry pipeline. The built-in eval engine scores agent sessions so you can measure performance and make your agents better over time.
|
Agent Registry Browse, search, and install published agents |
Dashboard Agent scores, recent sessions, top downloads |
|
Trace Detail Every tool call: models, token counts, 16 turns |
Insight Report AI-generated analysis of agent usage patterns |
|
Error Log Classified errors with drill-through to sessions |
Review Queue Admin approve/reject workflow for submissions |
Documentation
Full docs live at docs.observal.io
| Start here | Go to |
|---|---|
| 5-minute install and first trace | Quickstart |
| Understand the data model | Core Concepts |
| Instrument your existing MCP servers | Observe MCP traffic |
| Run Observal on your infrastructure | Self-Hosting |
| Look up a CLI command | CLI Reference |
| Report a bug with diagnostics | Reporting Issues |
See CHANGELOG.md for recent updates.
Quick start
See SETUP.md for the full setup guide.
git clone https://github.com/BlazeUp-AI/Observal.git && cd Observal
cp .env.example .env
make up
uv tool install --editable .
observal auth login
Supported IDEs
| IDE | Support |
|---|---|
| Claude Code | Full — skills, hooks, MCP, rules, OTLP telemetry |
| Kiro CLI | Full — superpowers, hooks, MCP, steering files, OTLP telemetry |
| Gemini CLI | Tested — hooks, MCP, rules, OTLP telemetry |
| Cursor | Tested — MCP + shim telemetry, rules |
| VS Code | Limited — MCP + shim telemetry, rules |
| Copilot CLI | Limited — hooks, MCP + shim telemetry, rules |
| Codex CLI | Limited — rules |
| OpenCode | Limited — JS plugin hooks, MCP + shim telemetry, rules |
Compatibility matrix and per-IDE setup: Integrations.
Tech stack
| Component | Technology |
|---|---|
| Frontend | Next.js 16, React 19, Tailwind CSS 4, shadcn/ui, Recharts |
| Backend | Python 3.11+, FastAPI, Strawberry GraphQL, Uvicorn |
| Databases | PostgreSQL 16 (registry), ClickHouse (telemetry) |
| Queue | Redis + arq |
| CLI | Python, Typer, Rich |
| Eval engine | AWS Bedrock / OpenAI-compatible LLMs |
| Telemetry | OpenTelemetry Collector |
| 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.
Running tests
make test # quick
make test-v # verbose
All tests mock external services. No Docker needed.
Community
Have a question, idea, or want to share what you've built? Head to GitHub Discussions. Please use Discussions for questions; open Issues for confirmed bugs and concrete feature requests.
Join the Observal Discord to chat directly with the maintainers and other community members.
Reporting issues
When filing a bug report, please attach a support bundle so maintainers can diagnose the problem quickly:
observal support bundle
This produces a .tar.gz archive containing version info, sanitized configuration, health probes, aggregate table counts, and optional system metrics. All values pass through a redaction layer — no customer data, row contents, or credentials are included. Review the bundle before sharing:
observal support inspect observal-support-*.tar.gz
Security
To report a vulnerability, please use GitHub Private Vulnerability Reporting or email contact@blazeup.app. Do not open a public issue. See SECURITY.md.
License
GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE.
Star history
Project details
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-0.5.0.tar.gz.
File metadata
- Download URL: observal_cli-0.5.0.tar.gz
- Upload date:
- Size: 4.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e01155f39cb611bf5a9d40b2d93c8c084efb182b22c33abd5dfa879c4dca999
|
|
| MD5 |
44fec7a257ca9410c89096c6039ccb12
|
|
| BLAKE2b-256 |
34066d69941afa182aff59c6dcfee982cc6da59ee4740dd0401c6909046a5fdd
|
Provenance
The following attestation bundles were made for observal_cli-0.5.0.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-0.5.0.tar.gz -
Subject digest:
0e01155f39cb611bf5a9d40b2d93c8c084efb182b22c33abd5dfa879c4dca999 - Sigstore transparency entry: 1521658849
- Sigstore integration time:
-
Permalink:
BlazeUp-AI/Observal@62d98b782c48a4e17e323e16529147746e7b825c -
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@62d98b782c48a4e17e323e16529147746e7b825c -
Trigger Event:
push
-
Statement type:
File details
Details for the file observal_cli-0.5.0-py3-none-any.whl.
File metadata
- Download URL: observal_cli-0.5.0-py3-none-any.whl
- Upload date:
- Size: 187.7 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 |
6bebd697cf500c8488da96442fdf14f68f1786b8ea2cf8e4607e31a265cef63b
|
|
| MD5 |
17739c9053a604ca0bd64eae2d55228c
|
|
| BLAKE2b-256 |
34025955b204361cf3e1ee605a5ef1b8695bfdcef0e4a6293d4c46ea17b38f79
|
Provenance
The following attestation bundles were made for observal_cli-0.5.0-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-0.5.0-py3-none-any.whl -
Subject digest:
6bebd697cf500c8488da96442fdf14f68f1786b8ea2cf8e4607e31a265cef63b - Sigstore transparency entry: 1521658884
- Sigstore integration time:
-
Permalink:
BlazeUp-AI/Observal@62d98b782c48a4e17e323e16529147746e7b825c -
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@62d98b782c48a4e17e323e16529147746e7b825c -
Trigger Event:
push
-
Statement type: