System Architecture
Layers
Transport Layer
Handles MCP protocol communication. Ultra supports all MCP transport types:- stdio — Standard I/O for local clients (Claude Desktop, Cursor)
- HTTP/SSE — Server-sent events over HTTP
- Streamable HTTP — Modern HTTP streaming
Pipeline
The interceptor chain processes every request and response. Interceptors run in priority order for requests and reverse order for responses.Aggregator
The aggregator manages connections to upstream MCP servers and presents them as a single unified interface to the client.Storage
Pluggable storage backends for observability data:| Backend | Use Case | Persistence |
|---|---|---|
| Memory | Testing, development | None (lost on restart) |
| SQLite | Local deployments | ~/.config/ultra/ultra.db |
| PostgreSQL | Cloud/Hub deployments | Persistent |
Storage interface, supporting traces, audit events, metrics, and aggregate statistics.
Key Dependencies
| Dependency | Purpose |
|---|---|
modelcontextprotocol/go-sdk | Official MCP SDK (transport, protocol) |
spf13/cobra | CLI framework |
charmbracelet/bubbletea | Interactive terminal UI |
charmbracelet/lipgloss | Terminal styling |
go.opentelemetry.io/otel | Distributed tracing and metrics |
labstack/echo/v4 | Web framework (dashboard, Hub) |
jackc/pgx/v5 | PostgreSQL driver |