
RLM Tools
io.github.stefanosheaPublished by GitHub account stefanosheav0.1.0Updated Oct 24, 2026
Persistent Python sandbox for token-efficient codebase exploration in MCP clients
Overview
A local Python sandbox MCP server that lets an AI coding agent explore a codebase server-side and return only compact summaries, cutting context usage.
- What you can do
- RLM Tools exposes three MCP tools: rlm_start opens a session on a directory, rlm_execute runs Python inside a persistent sandbox, and rlm_end closes the session. Inside the sandbox the agent gets helpers such as read_file, read_files, grep, grep_summary, grep_read, glob_files and tree, plus an optional llm_query for sub-LLM analysis. Variables persist across execute calls, so raw file and search data stays in sandbox memory and only printed output enters the model's context.
- When to use it
- Useful when an agent works on large codebases and burns much of its context on raw grep, glob and file-read output. It suits exploration, search and module-understanding tasks where only conclusions need to reach the model. It is a standard MCP server for clients such as Claude Code, Codex and Cursor.
- Requirements
- Runs locally over stdio, installed from PyPI as rlm-tools and started with uvx, so a Python/uv runtime is needed. The core read, grep, glob and tree features need no API key. The optional llm_query helper requires the ANTHROPIC_API_KEY environment variable and calls Anthropic's API. Optional settings include RLM_SUB_MODEL, RLM_MAX_SESSIONS and RLM_SESSION_TIMEOUT.
Installation
In SourceWeft
- Open RLM Tools in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
RLM Tools
Your AI coding agent spends most of its token budget just reading your code — not reasoning about it. Every grep, file read, and glob result gets dumped into the conversation. On a large codebase, that's 25-35% of your context (and cost) burned on raw data the model never needed to see.
RLM Tools gives your agent a persistent sandbox to explore code in. Data stays server-side. Only the conclusions come back.
That's it. Your agent automatically uses the sandbox for exploration. No config, no prompting changes.
What Changes
Without RLM Tools — agent greps for import UIKit, gets 500 matches dumped into context. Reads 10 files, burns all their content as tokens. Context window fills up. Agent forgets what it was doing.
With RLM Tools — agent runs the same exploration in a server-side Python sandbox. Data stays in sandbox memory. Only the print() output enters context:
500 lines of grep results become 5 lines of summary. The agent sees what it needs, nothing more.
Real-World Impact
In typical coding workflows: 25-35% context reduction. That means your agent can explore roughly 40-50% more code before hitting context limits.
In heavy exploration tasks (reading many files, broad searches), savings go much further:
Full benchmark methodology and reproduction steps: docs/benchmarks.md
How It Works
Three MCP tools. That's the entire API:
The sandbox provides built-in helpers:
read_file(path)/read_files(paths)— Read files into variables (cached across calls)grep(pattern)/grep_summary(pattern)/grep_read(pattern)— Searchglob_files(pattern)— Find files by patterntree(path, max_depth)— Directory structurellm_query(prompt, context)— Sub-LLM analysis (optional, requires API key)
Variables persist across rlm_execute calls within a session. The agent can build up understanding incrementally — search, filter, read, analyze — without any intermediate data touching the context window.
Works With
RLM Tools is a standard MCP server. It works with any MCP-compatible client: Claude Code, Codex, Cursor, and others.
Other installation methods
JSON MCP config (Cursor, Windsurf, etc.)
Direct run
From source
Then point your MCP client to command: uv, args: ["--directory", "/path/to/rlm-tools", "run", "rlm-tools"].
Configuration
Copy .env.example to .env to customize. All settings are optional — RLM Tools works out of the box with zero config.
The core exploration features (read, grep, glob, tree) require no API key. The optional llm_query() helper calls the Anthropic API for semantic analysis within the sandbox — this is the only feature that requires a key.
Security
The sandbox is read-only and restricted:
- Imports: Safe stdlib only (re, json, collections, math, etc.)
- Builtins: Blocks exec, eval, compile,
__import__, breakpoint - File access: Read-only, scoped to session directory, path traversal blocked
- Execution: Configurable per-call timeout (default 30s)
- Rate limits: Configurable max calls per session
Background
RLM Tools implements an RLM-style exploration loop: keep raw data in tool-side memory, send only compact outputs to the model. Built on the Model Context Protocol.
Development
Run comparative benchmarks (requires a local project checkout):
License
MIT
Source: README.md at commit 81c1062
Tools
0Version history
1- v0.1.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts