raymon.searchLABSCO SUMMARY
Your debug dumps become something the agent can query.
Ray-style logging already puts structured context — file, line, screen, colour — around each dump; Raymon keeps that structure and makes it searchable rather than scrolled. The search-then-fetch split is the right shape for an agent: summaries first, full payloads only for the UUIDs that matter, with redaction available when the payloads carry secrets.
What it is
Raymon accepts Ray-style debug dumps from your application over HTTP, stores them durably as JSONL, shows them in a terminal UI, and exposes the same log store to an AI agent over a Streamable HTTP MCP endpoint. It listens on the Ray default port, so most Ray client libraries reach it with no configuration.
What you get
- Two read-only MCP tools:
raymon.searchreturns compact summaries filtered by plain text or/regex/, types, colors, screen, project or host, with pagination;raymon.get_entriesfetches full entries by UUID - Redaction on demand —
raymon.get_entriestakes aredactflag, andRAYMON_MCP_REDACT_PAYLOADSmakes it the default, replacing password-, token-, key-, cookie- and secret-looking fields - Ingest at
POST /with clear status codes: 200 stored, 400 invalid JSON, 413 over the body limit, 422 missing required fields - A keyboard-first terminal UI for browsing live logs, filtering by screen, type and colour, fuzzy and regex search, opening the origin file in your IDE, and archiving a view to JSONL
- Durable storage in
data/entries.jsonlunder the active storage root, restored into memory at startup so MCP search sees persisted logs - Connected MCP peers receive
ray/eventnotifications for inserted, updated, cleared and lagged events
Requirements
A Raymon binary from Cargo, Homebrew, GitHub Releases or a source build; cargo install raymon needs Rust 1.89 or newer. Run raymon for the TUI plus both endpoints on 127.0.0.1:23517, or RAYMON_NO_TUI=1 raymon headless. Point your client at http://127.0.0.1:23517/mcp. For anything non-loopback you must set RAYMON_ALLOW_REMOTE=1, and Raymon then requires RAYMON_AUTH_TOKEN unless you deliberately set RAYMON_ALLOW_INSECURE_REMOTE=1. Configuration comes from ray.json, environment variables and CLI flags, in that order of precedence. MIT.
Setup effort
One command — cargo install raymon
USE CASES
Finding the dump that explains a failure
Search stored entries by text or regex, narrowed to error and exception types, then fetch the full payloads.
Debugging one screen of a busy app
Filter by screen and project so only the relevant dumps come back, instead of the whole stream.
Sharing logs without leaking credentials
Fetch entries with redaction on so password- and token-shaped fields are replaced before they reach the model.
2 tools
Listed in project docs. Your client may show a different list.
raymon.get_entriesBEFORE YOU INSTALL
What to know first
Tools you get
2 tools named in the project's documentation.
INSTALLATION
Connect your client
Server setup
cargo install raymon