explaingit

ardurai/mara

Analysis updated 2026-05-18

1RustAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TLDR

A lightweight Rust log shipper that collects and normalizes telemetry from AI coding tools and agents so it can be sent to your existing monitoring backend.

Mindmap

mindmap
  root((Mara))
    What it does
      Log collection
      Telemetry normalization
      Backend forwarding
    Tech stack
      Rust
      OpenTelemetry gen_ai
      WebAssembly sandbox
    Use cases
      AI agent observability
      Sensitive data redaction
      Audit trails
    Audience
      Ops and devops
      AI tool operators
    Backends
      Grafana Loki
      Splunk
      Prometheus

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Collect usage and token telemetry from Claude Code, Codex, or Cursor agents into one place.

USE CASE 2

Forward normalized AI activity logs to Grafana Loki, Splunk, Elasticsearch, or Prometheus.

USE CASE 3

Redact sensitive data from AI tool logs before it ever leaves your machine.

USE CASE 4

Get an audit trail of what local AI agents actually did without sending raw prompts to a third party.

What is it built with?

RustOpenTelemetryWebAssembly

How does it compare?

ardurai/maraabc3dz/mixxxabyo-software/ferro-stash
Stars111
LanguageRustRustRust
Setup difficultymoderatemoderatemoderate
Complexity3/52/54/5
Audienceops devopsgeneralops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Pre-1.0 software, run as a single binary at the edge next to the AI tools it monitors.

Apache 2.0 license: free to use, modify, and reuse for any purpose, including commercial use, with attribution and a patent grant.

In plain English

Mara is a log collection and forwarding agent specifically designed for AI workloads, things like AI coding assistants, local language model runtimes, and automated AI agents. It fills a gap that general-purpose logging tools do not cover well: these AI tools produce telemetry, meaning usage data, token counts, prompt activity, and model calls, in formats that conventional observability systems do not natively understand. The project describes itself as similar in concept to Fluent Bit, a well-known lightweight log shipper, but purpose-built for AI runtimes. It collects telemetry from tools like Claude Code, Codex, Cursor agents, and local language model servers, normalizes the data according to the OpenTelemetry gen_ai semantic conventions, a standard schema for describing AI operations, applies a policy stage that can redact sensitive information before data leaves your machine, and then forwards everything to whatever monitoring backend you already use. Options include Grafana Loki, Splunk, Elasticsearch, Kafka, S3-compatible storage, Prometheus, local files, or a generic webhook. The policy stage runs in a WebAssembly sandbox, meaning plugins that process your data cannot access the rest of your system. Prompt and raw message body capture is opt-in and disabled by default. Mara is written in Rust as a single binary designed to run at the edge, directly on the machine where AI tools are running. It is pre-1.0 and Apache 2.0 licensed. You would use it if you need auditable, structured logs from AI agent activity without sending raw data to a third-party service.

Copy-paste prompts

Prompt 1
Help me configure Mara to forward AI agent telemetry from Claude Code to Grafana Loki.
Prompt 2
Explain how Mara's WebAssembly policy stage redacts sensitive data before forwarding logs.
Prompt 3
Show me how Mara normalizes telemetry using the OpenTelemetry gen_ai semantic conventions.
Prompt 4
Write a Mara config that ships logs from a local language model server to a webhook.

Frequently asked questions

What is mara?

A lightweight Rust log shipper that collects and normalizes telemetry from AI coding tools and agents so it can be sent to your existing monitoring backend.

What language is mara written in?

Mainly Rust. The stack also includes Rust, OpenTelemetry, WebAssembly.

What license does mara use?

Apache 2.0 license: free to use, modify, and reuse for any purpose, including commercial use, with attribution and a patent grant.

How hard is mara to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is mara for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.