Skip to content

Monoscope

Open-source (AGPL-3.0) observability platform, formerly APItoolkit, that ingests OpenTelemetry logs, traces and metrics. It targets S3-compatible object storage through its own engine, TimeFusion, and adds LLM-powered natural-language search, scheduled AI agents and reports, a KQL-driven CLI, and an MCP server.

← Observability

Summary

Monoscope is a Haskell server (UI, REST, OTLP/gRPC ingest, background jobs) backed by PostgreSQL/TimescaleDB and, optionally, TimeFusion, an MIT-licensed Rust engine that keeps telemetry as Delta Lake/Parquet in your bucket and speaks the Postgres wire protocol. Its differentiators are object-storage economics without sampling, natural language translated to KQL, AI agents that email daily or weekly reports, and first-class agent tooling (JSON CLI, Claude Code skills, MCP). The caveat: as of v0.6.27 (2026-09-07) the move to S3 is unfinished. Telemetry is dual-written to Postgres and TimeFusion behind feature flags, and the default Docker Compose install stores everything in TimescaleDB.

Key Facts

Fact Value
Latest Version v0.6.27 (2026-09-07). Pre-1.0, bursty release cadence (v0.6.18 to v0.6.22 in five days in May 2026, then gaps of 3 to 6 weeks)
License Monoscope AGPL-3.0 (commercial licence on request). TimeFusion MIT. SDKs MIT
Vendor Monoscope (the former APItoolkit; apitoolkit.io redirects to monoscope.tech). Founder and CTO Anthony Alaribe
Core language Haskell (GHC 9.12.2) server and CLI. TypeScript/Lit web components. Rust TimeFusion
Ingestion OTLP/gRPC on 4317. Optional Kafka or Google Pub/Sub consumers. Browser SDK for RUM and replay
Storage PostgreSQL + TimescaleDB (metadata and legacy telemetry). TimeFusion to S3/MinIO/R2 (Delta Lake) behind flags
Query KQL (UI, CLI, REST, MCP). Natural language translated to KQL through an OpenAI-compatible LLM. SQL directly on TimeFusion
Deployment Docker Compose (Monoscope + TimescaleDB), plain Kubernetes manifests (no Helm chart), Monoscope Cloud
Cloud pricing Free tier. $29/month for 20M events, $1 per extra million, 30-day retention. Cloud + S3 (BYOS) from $199/month for 100M events with unlimited retention

Full release history, variables and pricing: Reference.

Architecture At A Glance

Applications send OTLP to the Monoscope server. The server writes to TimescaleDB and, when enabled, to TimeFusion, which persists Delta tables in your bucket.

flowchart LR
    Apps["Apps + OTel SDKs<br/>browser SDK"] -->|"OTLP gRPC :4317"| MS["monoscope-server<br/>(Haskell)"]
    Q["Kafka / Pub/Sub<br/>(optional)"] -.-> MS
    MS --> PG["PostgreSQL +<br/>TimescaleDB"]
    MS -.->|"ENABLE_TIMEFUSION_WRITES"| TF["TimeFusion<br/>(Rust, pgwire)"]
    TF --> S3["S3 bucket<br/>Delta Lake / Parquet"]
    MS --> LLM["OpenAI-compatible LLM<br/>NL search, agents"]
    Users["UI / CLI / MCP"] -->|":8080"| MS

Component-level detail, the ingestion sequence and the TimeFusion internals are in Explanation.

Why Monoscope

  • Object-storage economics: TimeFusion stores Parquet under a Delta Lake log in a bucket you own (AWS S3, MinIO, R2). With the Cloud + S3 plan, retention is limited only by your bucket.
  • No sampling by design: every request, log and span is stored. Error grouping, log patterns (Drain) and an API catalog are derived at ingest.
  • Natural language on top of KQL: prompts are turned into inspectable KQL, not free-form SQL, so tenancy scoping stays in deterministic code.
  • AI agents and reports: agents run hourly, daily or weekly, surface anomalies, and email summaries.
  • Agent-ready tooling: a CLI with stable JSON envelopes, Claude Code skills, and an MCP server that exposes every REST route as a tool.
  • OpenTelemetry-native: any OTel SDK, agent or Collector works (the README cites "750+ integrations").

When Monoscope Fits

Scenario Fit
API-heavy product teams wanting full-fidelity request/response capture Strong. This is the APItoolkit heritage (API catalog, body capture, change detection)
Team wanting cheap long retention in its own bucket Good on Cloud + S3. On self-hosted, plan for the unfinished TimeFusion migration
On-call teams that want NL search and AI summaries Strong. LLM features are first-class, but need an OpenAI-compatible endpoint
Small team wanting a quick self-hosted stack Good. Two-container compose, but you own auth, email and upgrades
Large enterprise needing HA, SSO, RBAC depth and support SLAs Weak to moderate. Pre-1.0, no Helm chart, single-writer TimeFusion, thin RBAC docs

Use Cases

  • Production debugging: correlated logs, traces and session replays, plus live tail and "events around this error" context windows.
  • API monitoring: automatic endpoint discovery, API change detection, error fingerprinting and log patterns.
  • On-call triage: issues, monitors, AI issue analysis, and Slack, Discord, WhatsApp or email alerts.
  • Customer support: session replay linked to backend traces.
  • Agent workflows: Claude Code or other MCP clients investigating incidents through the CLI or the MCP server.

Licensing & Pricing

Edition License Cost (2026-09)
Self-hosted Community AGPL-3.0 Free
Self-hosted Enterprise Commercial Custom pricing (contact sales)
Monoscope Cloud Proprietary SaaS Free tier, then $29/month for 20M events + $1/M extra, 30-day retention
Cloud + S3 (BYOS) Proprietary SaaS From $199/month for 100M events + $1/M extra, unlimited retention

Pricing corrections (2026-09-25)

The overage rate is $1 per million events, not $2. Self-hosted Enterprise is custom pricing. The "starts at $500/month" figure in earlier versions of this page could not be found on the pricing page. Details are in Reference.

Ecosystem & Connections

  • TimeFusion (monoscope-tech/timefusion): MIT, Rust, DataFusion + Delta Lake + pgwire + Foyer + Tantivy. Usable on its own as an S3-backed Postgres-protocol store.
  • SDKs: monoscope-python (Flask, Django, FastAPI, Pyramid), monoscope-js (Express, Fastify, NestJS, AdonisJS, Next.js), monoscope-go, monoscope-laravel, @monoscopetech/browser. Older apitoolkit-* framework repositories are archived or legacy.
  • CLI and agents: monoscope CLI, monoscope-tech/skills (Claude Code plugin), MCP server at /api/v1/mcp.
  • TestKit (monoscope-tech/testkit): YAML API-testing DSL in Rust (MIT/Apache-2.0), from the APItoolkit era.
  • Alert channels: email (SMTP, SendGrid, Postmark), Slack, Discord, WhatsApp (Twilio), PagerDuty (Events API v2 integration key per project).
  • Related vault topics: OpenTelemetry, OpenTelemetry Collector, Observability 2.0 (wide events), PostgreSQL, Kafka, MinIO.

Compatibility & Requirements

  • Runtime: Docker (compose) or Kubernetes. The image is ghcr.io/monoscope-tech/monoscope on Debian 12 slim. Budget about 4 GB RAM for a trial.
  • Database: PostgreSQL with the TimescaleDB extension (compose uses timescale/timescaledb-ha:pg18-all).
  • Optional: TimeFusion (S3-compatible bucket, persistent local disk for WAL and cache), Kafka or Google Pub/Sub, an OpenAI-compatible LLM endpoint, SMTP/SendGrid/Postmark.
  • Clients: any OpenTelemetry SDK or Collector exporting OTLP/gRPC. HTTP-only exporters need a Collector in front.

Alternatives

Tool Key difference
SigNoz ClickHouse backend, larger community, no native bucket-first storage or built-in NL agents
OpenObserve Rust, Parquet on S3 as the primary store today (not mid-migration). SQL and PromQL, fewer LLM features
Grafana LGTM Loki, Tempo and Mimir also use object storage. Broad ecosystem, several components to run
Datadog Commercial SaaS, much broader feature set, per-host and per-GB pricing, vendor-held data
Elastic Mature search and observability, heavier to operate, costly at scale

Tech Stack

Layer Technology
Backend Haskell: effectful, Servant/Warp, hasql, odd-jobs, proto-lens, hw-kafka-client
Frontend Lucid server-rendered HTML + HTMX + hyperscript, Tailwind CSS v4 + DaisyUI v5, Lit web components, ECharts 6, Monaco/CodeMirror
Storage engine TimeFusion: Rust, Apache DataFusion 54, Delta Lake, pgwire, Foyer cache, Tantivy full-text
Metadata DB PostgreSQL + TimescaleDB (pg18 image in compose)
Ingestion OTLP/gRPC. Kafka / Pub/Sub consumers
LLM OpenAI-compatible API (OPENAI_BASE_URL, OPENAI_MODEL)

Community Health

Metric Value
GitHub stars ~1.8k (2026-09, per the Tools Catalogue)
Release activity 10 releases between 2026-05-01 and 2026-09-07
Development style Pull-request based, local CI sign-off, heavy agent-assisted workflow (AGENTS.md)
Public references Customer logos on the README include Andela, Partna, GrovePay and ThePeer (vendor-provided)
Community Discord, GitHub issues
Company Monoscope, formerly APItoolkit. The repository names "Monoscope" as author and copyright holder (2021-2026); legal entity and location are not stated in project sources (checked 2026-09-28)

Topic Map

  • How-to Guides: deploy Monoscope, point telemetry at it, add TimeFusion/S3 storage, day-2 operations, CLI and MCP server.
  • Reference: release history, editions and pricing, ports, environment variables, telemetry table schema, CLI and MCP surfaces, SDK packages.
  • Explanation: component topology, ingestion path, TimeFusion storage engine, LLM query and agent features, deployment shapes, security model.

Sources

Questions

Answered

How does Monoscope differ from OpenObserve?

Both target object storage, but OpenObserve already uses Parquet on S3 as its primary store. Monoscope is still migrating from TimescaleDB to TimeFusion. Monoscope adds LLM natural-language search (to KQL), scheduled AI agents and reports, API-catalog features from its APItoolkit history, and MCP/CLI tooling for agents. Monoscope's server is Haskell and its storage engine is Rust. OpenObserve is Rust throughout.

What is TimeFusion?

An MIT-licensed Rust service that stores observability data as Delta Lake tables on S3-compatible storage and serves SQL over the PostgreSQL wire protocol. It uses DataFusion for execution, a local WAL plus memory buffer for fast durable writes, Foyer for caching, and Tantivy for full-text indexes. Its README no longer quotes a headline throughput. The "500K+ events/sec" figure appears only in Monoscope's README. See Explanation.

Can I use my own S3 bucket with Monoscope Cloud?

Yes. The Cloud + S3 (BYOS) plan starts at $199/month for 100M events with unlimited retention in your bucket.

How does Monoscope handle multi-tenancy?

Projects are the tenant boundary (own API keys, members with view/edit/admin permissions). In TimeFusion, project_id is the first partition key, and some projects can get dedicated tables. Organisation-level multi-tenant workspaces are still on the roadmap.

What LLM provider powers the natural language query engine?

Any OpenAI-compatible API. The server reads OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MODEL and OPENAI_SMALL_MODEL, with OpenAI GPT models as the built-in defaults (src/System/Config.hs). Self-hosters can point it at their own gateway or leave it unset.

How does TimeFusion handle schema evolution?

Table schemas are YAML files compiled into the binary. Adding nullable columns is safe (old files read NULL). Adding NOT NULL columns breaks existing reads. Semi-structured fields are stored as a Variant type, so new OTel attributes do not need a migration unless they are promoted to typed columns (TimeFusion RUNBOOK.md).

Does self-hosted Monoscope support PagerDuty and fine-grained RBAC?

PagerDuty, yes: the server has a PagerDuty Events API v2 integration configured per project with an integration key, and no environment variables (source checked 2026-09-28). RBAC is coarse: three levels (view, edit, admin), with few explicit checks in the code. See Reference and Reference.

Open

How does the Haskell backend handle production reliability?

The team dogfoods its own tracing and runs heavy type-level checks, but there is no public post-mortem or SLO data for the Cloud service.

What is the production readiness level of the 0.6.x line?

There is no stability or backwards-compatibility policy for 0.x releases, and the TimeFusion migration is unfinished. When will ENABLE_POSTGRES_TELEMETRY_WRITES default to off?

How are LLM cost and rate limits handled when many agents fire at once?

The server tracks token prices and has kill switches for LLM review jobs, but queueing and rate-limit behaviour for scheduled agents is undocumented.