oci ghcr.io/sebastienrousseau/rlg-mcp:0.0.12stdioApache-2.0updated 8d ago
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.
What can you do with rlg mcp?
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.
Install
Add rlg mcp to your client. Pick the one you use.
claude mcp add ghcr-io-sebastienrousseau-rlg-mcp-0-0-12 -- docker run -i --rm ghcr.io/sebastienrousseau/rlg-mcp:0.0.12codex mcp add ghcr-io-sebastienrousseau-rlg-mcp-0-0-12 -- docker run -i --rm ghcr.io/sebastienrousseau/rlg-mcp:0.0.12amp mcp add ghcr-io-sebastienrousseau-rlg-mcp-0-0-12 -- docker run -i --rm ghcr.io/sebastienrousseau/rlg-mcp:0.0.12{
"mcpServers": {
"ghcr-io-sebastienrousseau-rlg-mcp-0-0-12": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/sebastienrousseau/rlg-mcp:0.0.12"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"ghcr-io-sebastienrousseau-rlg-mcp-0-0-12": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/sebastienrousseau/rlg-mcp:0.0.12"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"ghcr-io-sebastienrousseau-rlg-mcp-0-0-12","command":"docker","args":["run","-i","--rm","ghcr.io/sebastienrousseau/rlg-mcp:0.0.12"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"ghcr-io-sebastienrousseau-rlg-mcp-0-0-12": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/sebastienrousseau/rlg-mcp:0.0.12"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"ghcr-io-sebastienrousseau-rlg-mcp-0-0-12": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/sebastienrousseau/rlg-mcp:0.0.12"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"ghcr-io-sebastienrousseau-rlg-mcp-0-0-12": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/sebastienrousseau/rlg-mcp:0.0.12"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"ghcr-io-sebastienrousseau-rlg-mcp-0-0-12": {
"type": "local",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/sebastienrousseau/rlg-mcp:0.0.12"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"ghcr-io-sebastienrousseau-rlg-mcp-0-0-12": {
"command": {
"path": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/sebastienrousseau/rlg-mcp:0.0.12"
]
}
}
}
}Add to your Zed `settings.json`.
docker run -i --rm ghcr.io/sebastienrousseau/rlg-mcp:0.0.12Run `goose configure`, choose **Add Extension โ Command-line Extension**, and paste this command.
3 tools
rlg mcp exposes 3 tools to a connected agent.
- tail_log
- `path`, optional `n` (default 100) โ last `n` parseable records, rendered in Logfmt.
- filter_log
- `path`, optional `min_level` / `component` / `format` โ records matching every supplied filter, in the chosen `LogFormat`.
- summarize_errors
- `path` โ JSON map of `component โ error_count` for ERROR-and-above records.
Score
68 / 100
Good
- Documentation20/25
- Maintenance19/25
- Trust13/20
- Capability4/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 1 days ago
- Has a release history
- Repository is not archived
- Licensed Apache-2.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 3 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint โ no local install
Version history
| Versions | Published |
|---|---|
| 0.0.12Latest | Aug 26, 2026 |