sebastienrousseau/rlg
๐ฆ ๐ ๐ ๐ช ๐ง - Log-stream tools for on-call / SRE agent workflows โ expose rlg (RustLogs) log files as MCP tools. Three tools: taillog (last N events, filtered by level/target), filterlog (JSON-path-style predicates), summarizeerrors (grouped error taxonomy). Speaks JSON-RPC 2.0 over stdio; near-lock-free structured logging engine underneath (65k-slot ring buffer, 14 output formats, oslog/journald sinks). Install cargo install rlg-mcp or docker run -i ghcr.io/sebastienrousseau/rlg-mcp. Dual-licensed MIT OR Apache-2.0.
Quick Install
{
"mcpServers": {
"sebastienrousseau-rlg": {
"command": "npx",
"args": [
"-y",
"sebastienrousseau-rlg"
]
}
}
}Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.
Documentation Overview
rlg โ RustLogs
Near-lock-free structured logging for Rust, plus an ecosystem of companion crates: CLI tooling, MCP server, OTLP exporter, tower middleware, WebAssembly bindings, PII redaction, test utilities, and aggregation reports.
This is the Cargo workspace root. The library lives at
crates/rlg. Ten companion crates ship from this
workspace, all at lockstep version 0.0.11.
The rlg ecosystem
| Crate | What it does | Use case |
|---|---|---|
rlg | Near-lock-free structured logging engine. 65k-slot ring buffer, deferred formatting, 14 output formats, native OS sinks (os_log via syslog(3), journald). | Embed structured logging in any Rust binary or library. |
rlg-cli | rlg binary โ jq for structured logs. Tail, filter, convert across all 14 formats. | Pipe my-service | rlg --min-level error --format ecs from the shell. |
rlg-mcp | Model Context Protocol server exposing rlg streams as tools to LLM agents. | Claude Desktop, Cursor, mcp.run agents reading your logs. |
rlg-otlp | OpenTelemetry network exporter (OTLP/HTTP JSON). | Ship records to Honeycomb, Datadog, Tempo, Jaeger, otelcol. |
rlg-tower | tower::Layer emitting per-request structured access logs. | axum, tonic, hyper, lambda_runtime โ any tower::Service. |
rlg-wasm | wasm-bindgen wrapper for browser / Deno / Cloudflare Workers / Bun, plus a WASI 0.2 component interface for wasmtime hosts. | Structured logging from JS or WASI 0.2 components. |
rlg-redact | PII / secret redaction between Log::fire() and the sink. Aho-Corasick fused alternation regex. | Compliance, GDPR, audit-trail safety. Built-in patterns for cards, JWTs, bearers, emails, IPs, AWS keys. |
rlg-test | Test utilities โ capture rlg records in a #[test] scope and assert on them with assert_logged!. | Downstream library tests verifying their structured log output. |
rlg-report | Log digest / analytics: count by level, top components, top errors, latency percentiles. CLI + library mode. | Operational dashboards, daily error reports, oncall triage. |
rlg-ebpf | Enricher trait + ProcessEnricher (portable) + EbpfEnricher scaffold (Linux, behind the ebpf feature) for automatic PID / process-name attributes. | Automatic host-level context on every record without app code changes. |
xtask (internal, unpublished) | cargo xtask check-all / coverage / audit / doc / examples / bench / release. | Maintainer automation. |
Install one, install all
[dependencies]
rlg = "0.0.12"
rlg-otlp = "0.0.12" # ship to an OTLP collector
rlg-tower = "0.0.12" # HTTP middleware
rlg-redact = "0.0.12" # PII redaction
[dev-dependencies]
rlg-test = "0.0.12" # assertions in your tests
CLI binaries:
cargo install rlg-cli # the `rlg` binary
cargo install rlg-mcp # the `rlg-mcp` MCP server
cargo install rlg-report # the `rlg-report` digest tool
Tools
The MCP server crate, rlg-mcp, exposes rlg
log streams to LLM agents as three MCP tools over the stdio transport:
tail_logโpath, optionaln(default 100) โ lastnparseable records, rendered in Logfmt.filter_logโpath, optionalmin_level/component/formatโ records matching every supplied filter, in the chosenLogFormat.summarize_errorsโpathโ JSON map ofcomponent โ error_countfor ERROR-and-above records.
Workspace layout
.
โโโ Cargo.toml # workspace manifest (profiles, members)
โโโ README.md # โ you are here
โโโ CHANGELOG.md / CONTRIBUTING.md / SECURITY.md
โโโ LICENSE-{APACHE,MIT}
โโโ crates/
โ โโโ rlg/ # core library
โ โโโ rlg-cli/ # `rlg` binary + filter/render lib
โ โโโ rlg-mcp/ # MCP server
โ โโโ rlg-otlp/ # OTLP/HTTP exporter
โ โโโ rlg-tower/ # tower::Layer
โ โโโ rlg-wasm/ # wasm-bindgen + WASI 0.2 component
โ โโโ rlg-redact/ # PII / secret scrubber (Aho-Corasick)
โ โโโ rlg-test/ # test utilities
โ โโโ rlg-report/ # log digest binary + lib
โ โโโ rlg-ebpf/ # Enricher trait + eBPF (Linux) scaffold
โ โโโ xtask/ # internal automation (publish = false)
โโโ .github/
โโโ workflows/
โโโ ci.yml # delegates to sebastienrousseau/pipelines
โโโ release.yml # workspace-aware crates.io publisher
Quick links
- Core docs:
crates/rlg/README.mdยท docs.rs/rlg - Contributing & signing policy:
CONTRIBUTING.md - Security policy:
SECURITY.md - Release notes:
CHANGELOG.md
License
Dual-licensed under Apache 2.0 or MIT, at your option.