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.
Documentation
Full docs live at observal.gitbook.io (sourced from /docs in this repo).
| 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 |
See CHANGELOG.md for recent updates.
Quick start
Install the CLI (standalone binary, no Python required):
curl -fsSL https://raw.githubusercontent.com/BlazeUp-AI/Observal/main/install.sh | bash
Or install via Python: uv tool install observal-cli / pipx install observal-cli / pip install --user observal-cli. See Installation for details.
Start the server:
curl -fsSL https://raw.githubusercontent.com/BlazeUp-AI/Observal/main/install-server.sh | bash
Or manually:
git clone https://github.com/BlazeUp-AI/Observal.git
cd Observal
cp .env.example .env
docker compose -f docker/docker-compose.yml up --build -d
Log in:
observal auth login # auto-creates admin on fresh server
Eight services start (API, web UI, Postgres, ClickHouse, Redis, worker, OTEL collector, Grafana). Full walkthrough in Quickstart; operator guide in Self-Hosting.
Already have MCP servers in your IDE? Instrument them in one command:
observal scan # auto-detect, register, and instrument everything
observal pull <agent> --ide cursor # install a complete agent
This detects MCP servers from your IDE config files and wraps them with observal-shim for telemetry without breaking your existing setup. A timestamped backup is created automatically. Everything happens locally — nothing is uploaded to the server.
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 | Native OTEL + shim telemetry |
| Codex CLI | Native OTEL + shim telemetry |
| GitHub Copilot | Shim telemetry |
| OpenCode | Shim telemetry |
| Cursor | MCP + shim telemetry |
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 (8 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.
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
Apache License 2.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.3.3.tar.gz.
File metadata
- Download URL: observal_cli-0.3.3.tar.gz
- Upload date:
- Size: 2.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
072b6bb02bcde15b35e644b160bac5f7249f1ec873bd9c84e0bcf6c421c87589
|
|
| MD5 |
ceb228c38e6b73be3e63458032e31d43
|
|
| BLAKE2b-256 |
2938689bf3a3a2ca331ef1f232c796beb57b51a82d082ca5ba6ea4ce6282f0e6
|
Provenance
The following attestation bundles were made for observal_cli-0.3.3.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.3.3.tar.gz -
Subject digest:
072b6bb02bcde15b35e644b160bac5f7249f1ec873bd9c84e0bcf6c421c87589 - Sigstore transparency entry: 1370462559
- Sigstore integration time:
-
Permalink:
BlazeUp-AI/Observal@0b29572c8105d8f6e462e4496c877888aa02463e -
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@0b29572c8105d8f6e462e4496c877888aa02463e -
Trigger Event:
push
-
Statement type:
File details
Details for the file observal_cli-0.3.3-py3-none-any.whl.
File metadata
- Download URL: observal_cli-0.3.3-py3-none-any.whl
- Upload date:
- Size: 162.3 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 |
12d429ecc37772f5f55e2d4ab1f674730c620f8d72a238a31769a54b28b4a105
|
|
| MD5 |
413da95a975c4e93f1e3c24c92630416
|
|
| BLAKE2b-256 |
c5b0622a285b550597d16987bc72f55f7469ffc8c52c253ab2d4d647e66094f2
|
Provenance
The following attestation bundles were made for observal_cli-0.3.3-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.3.3-py3-none-any.whl -
Subject digest:
12d429ecc37772f5f55e2d4ab1f674730c620f8d72a238a31769a54b28b4a105 - Sigstore transparency entry: 1370462688
- Sigstore integration time:
-
Permalink:
BlazeUp-AI/Observal@0b29572c8105d8f6e462e4496c877888aa02463e -
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@0b29572c8105d8f6e462e4496c877888aa02463e -
Trigger Event:
push
-
Statement type: