Skip to main content

Observal MCP Server Registry & Agent Registry CLI

Project description

 ██████╗ ██████╗ ███████╗███████╗██████╗ ██╗   ██╗ █████╗ ██╗
██╔═══██╗██╔══██╗██╔════╝██╔════╝██╔══██╗██║   ██║██╔══██╗██║
██║   ██║██████╔╝███████╗█████╗  ██████╔╝██║   ██║███████║██║
██║   ██║██╔══██╗╚════██║██╔══╝  ██╔══██╗╚██╗ ██╔╝██╔══██║██║
╚██████╔╝██████╔╝███████║███████╗██║  ██║ ╚████╔╝ ██║  ██║███████╗
 ╚═════╝ ╚═════╝ ╚══════╝╚══════╝╚═╝  ╚═╝  ╚═══╝  ╚═╝  ╚═╝╚══════╝

A self-hosted unified agent registry with built in analytics. Enterprise edition adds SSO (OIDC and SAML), Audit Logs, Security Events and organizational AI insights.

License Python PyPI version Coverage Contributors Discord GHCR pulls

If you find Observal useful, please consider giving it a star. It helps others discover the project and keeps development going.


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, and starts capturing sessions automatically.

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.


What Observal Does

Agents are the primary unit

An agent bundles 5 component types into a single installable package: MCP servers, skills, hooks, prompts, and sandboxes. You define them in YAML, publish to the registry, and anyone can pull them with one command. The platform generates the right config files for whichever IDE the user runs.

observal pull security-auditor --ide pi

Every session becomes a trace

Once connected, Observal captures your entire coding session: every user prompt, every thinking block, every assistant response, every tool call with its full input and output. No sampling, no summarization. The raw session flows into ClickHouse for querying and analysis.

The registry is a package manager for agents

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.


Agent Registry

Browse, search, and install agents with IDE compatibility badges:

Agent registry with grid view

Build agents visually with live config preview for every IDE:

Agent Builder with preview panel

Components library: MCPs, Skills, Hooks, Prompts, Sandboxes:

Component registry showing MCP servers


Session Replay

Full session overview with token counts, models, tools, and turn-by-turn timeline:

Session detail showing tokens, tools, models, and turns

Every turn captured: user prompt, tool calls, thinking block, assistant response:

Turn expanded showing user prompt, thinking, and response

Drill into any span to see exact tool inputs and outputs:

Span detail showing bash command input and full output


Review and Governance

Admin review queue with full prompt inspection and approve/reject:

Review queue with agent detail

Version diffs show exactly what changed between releases:

Side-by-side diff of v1.0.0 vs v2.0.0

Leaderboard tracks top agents and components by downloads:

Leaderboard with rankings


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).

Insight report with What's Working, What's Hindering, Quick Wins

See Insights LLM Setup for configuration.


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:

Audit log with PHI sensitivity badges and chain hashes

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:

  1. Fork and clone
  2. make hooks to install pre-commit hooks
  3. Create a feature branch
  4. Run make lint and make test
  5. 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

Star History Chart

License

GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE.

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

observal_cli-1.6.0.tar.gz (4.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

observal_cli-1.6.0-py3-none-any.whl (376.3 kB view details)

Uploaded Python 3

File details

Details for the file observal_cli-1.6.0.tar.gz.

File metadata

  • Download URL: observal_cli-1.6.0.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

Hashes for observal_cli-1.6.0.tar.gz
Algorithm Hash digest
SHA256 571e4c8e1f8035537f15555dc7f47d3d24f10e5b61e1dd5579add9180e51c032
MD5 755d67329d309a60cd53499a01fd14a7
BLAKE2b-256 2827c67667f30b2761499ad1231add19c28ead80359025360289c28f67883754

See more details on using hashes here.

Provenance

The following attestation bundles were made for observal_cli-1.6.0.tar.gz:

Publisher: release.yml on BlazeUp-AI/Observal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file observal_cli-1.6.0-py3-none-any.whl.

File metadata

  • Download URL: observal_cli-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 376.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for observal_cli-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f0d47d28675a9da764019c2f86276b4ef997197f2c592a0f1a4a24d0efc7cd8
MD5 4e61ea2bb9d37c1663d8364338a6c7cf
BLAKE2b-256 5b155d9e2bb77467a3c73bef7dcd1eaf82f8d93c4c45af3734bc8fec44dad608

See more details on using hashes here.

Provenance

The following attestation bundles were made for observal_cli-1.6.0-py3-none-any.whl:

Publisher: release.yml on BlazeUp-AI/Observal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page