Context7
Up-to-date docs for AI agents
Descripción del creador (original en inglés)
MCP server and proxy that compresses LLM prompts, tool output, and replies to cut token cost.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"llmtrim": {
"command": "npx",
"args": [
"-y",
"@llmtrim/cli",
"mcp"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add llmtrim -- npx -y @llmtrim/cli mcpPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"llmtrim": {
"command": "npx",
"args": [
"-y",
"@llmtrim/cli",
"mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"llmtrim": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@llmtrim/cli",
"mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub fkiene, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.13.4) llegó al registro hace 2 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Context7, Codebase Memory, Exa
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
llmtrim
Local proxy that compresses LLM API traffic so you pay less. Same answers, smaller bill.
−31% input · −74% output · −66% round-trip cost · 112 live A/B cases · ~5 ms/call · no model to load
Using Claude Code ? One install also gets you /sub to serve it through CLIProxyAPI.
Proxy · CLI · MCP · library (Python · Ruby · Swift · Kotlin · JS/WASM)
What it does • Install • Day to day • In action • Works with • Claude Code • Numbers • Config • CLI & library
You run Claude Code, Codex, Cursor, or your own app. Every turn, the tool sends a large request: system prompt, tools, history, raw command output. You pay for every token of that, including the parts that do not help the model.
A 200-line build log with two errors. Tool schemas resent on every call. JSON with hundreds of near-identical rows. That bulk is still billed.
llmtrim sits on your machine as a local proxy, trims the waste, and forwards a smaller request. The reply is unchanged. You keep the same tools and answers; you spend less.
before: your tool ───── full request ─────▶ OpenAI / Anthropic / …
◀──────── reply ──────────
after: your tool ──▶ llmtrim ──smaller──▶ OpenAI / Anthropic / … (on your machine) ◀──────── reply ────────── (same answer)
Compression cannot raise your bill or break a request; worst case is zero savings. Everything runs locally, nothing is sent to us. In action →
For Claude Code the same install also wires /sub to route sessions through another subscription. Details →
npm install -g @llmtrim/cli@latest && llmtrim setup
llmtrim status
That's it. setup starts a local proxy and wires your shell. When Claude Code is present, it also turns on /sub. You do not run a separate install for that.
| You want | Run |
|---|---|
| First install | llmtrim setup |
| New version | llmtrim update (then llmtrim ensure after npm/brew/cargo) |
| Something broken | llmtrim ensure · llmtrim doctor --fix · or `f` in status |
Any tool that honors
HTTPS_PROXYworks (Claude Code, Codex, Cursor, Aider, your SDK). GitHub Copilot does not (certificate pinning). Full list →
Other installers (Homebrew, curl, Scoop, Cargo, Docker)
# Linux / macOS
curl -fsSL https://raw.githubusercontent.com/fkiene/llmtrim/main/install.sh | sh
irm https://raw.githubusercontent.com/fkiene/llmtrim/main/install.ps1 | iex
brew install fkiene/tap/llmtrim cargo binstall llmtrim scoop install llmtrim docker run -d -p 43117:43117 -v llmtrim-state:/data ghcr.io/fkiene/llmtrim
Full options: INSTALL.md.
Desktop tray (menu bar / system tray)
Menu-bar / system-tray popover with the same savings numbers. Bundled in Homebrew, Scoop, and npm; setup can enable open-at-login. Open with llmtrim tray. On Linux desktops, interactive ensure can fetch the tray binary from the latest release (needs libwebkit2gtk-4.1 and libayatana-appindicator3).
Is this safe?
Same technique as mitmproxy, scoped to LLM API hosts only. setup changes three things; llmtrim uninstall reverses all three:
~/.llmtrim/ (name-constrained; cannot intercept your bank or email)HTTPS_PROXY + CA trustNo API keys stored (your tool's auth is forwarded). Prompts never touch disk; only anonymous token counts. Recoverable tool results stay in bounded daemon RAM for five hours by default and disappear on restart. Full threat model: SECURITY.md.
llmtrim ca
openssl x509 -in ~/.llmtrim/ca.pem -noout -text | grep -A3 "Name Constraints"
llmtrim status # savings + health (aliases: monitor, gain)
llmtrim update # new release, restart daemon, refresh integrations llmtrim ensure # match the recommended install state on this machine
| Situation | Command |
|---|---|
| Watch savings | llmtrim status |
After npm / brew / cargo upgrade | llmtrim ensure (or `f` in status) |
| Diagnose | llmtrim doctor · repair with doctor --fix |
| Pause / resume proxy | llmtrim stop · llmtrim start |
| Force one session through llmtrim | llmtrim wrap claude |
| Remove everything | llmtrim uninstall |
After setup, update, or ensure, owned Claude Code /sub stays in sync with the binary.
Time series: llmtrim status --daily · --weekly · --monthly · --json · --csv.
An agent ran a build. The tool returned 58 lines; two were errors. All 58 would have been billed.
4,662 chars → 978 (−79%). Errors stay verbatim. Repeated INFO lines fold into a template plus the values (lossless when the range is regular).
# before (noise + signal)
[2026-06-13T10:02:00Z] INFO compiling module core::worker::task_0 (incremental) … 28 more near-identical INFO lines … [2026-06-13T10:02:31Z] ERROR src/worker/pool.rs:214: mismatched types: expected usize, found i64 … 25 more INFO lines … [2026-06-13T10:03:01Z] ERROR src/net/conn.rs:88: cannot borrow buf as mutable more than once [2026-06-13T10:03:02Z] INFO build failed, 2 errors
[{}] INFO compiling module core::worker::task_{} (incremental) [×30: (10:02:00Z..10:02:29Z step 1s; 0..29)] [2026-06-13T10:02:31Z] ERROR src/worker/pool.rs:214: mismatched types: expected usize, found i64 [{}] INFO compiling module core::net::conn_{} (incremental) [×25: 10:02:32Z..10:02:56Z; 0..24] [2026-06-13T10:03:01Z] ERROR src/net/conn.rs:88: cannot borrow buf as mutable more than once [2026-06-13T10:03:02Z] INFO build failed, 2 errors
Try it on a request body of your own:
echo '{"model":"gpt-4o","messages":[...]}' | llmtrim compress --provider openai
Log folding is one stage. Others kick in on different waste:
| Waste | What happens |
|---|---|
| Build logs, diffs, grep dumps | Keep errors / changes / matches; fold the rest |
| Long pasted context | Keep chunks relevant to the question |
| Source code | Keep useful bodies; rest → signatures |
| Tool schemas every turn | Trim + keep the cache prefix stable |
| Huge JSON arrays | Compact table (TOON) or sample |
| Verbose model replies | Ask for terser output where safe |
[!IMPORTANT]
Compression cannot raise your bill or break a request. Each stage is re-measured with the provider's real tokenizer and undone if it does not save tokens. If the provider rejects the compressed body, the original is resent. Worst case is zero savings.
Existing prompt-cache prefixes (cache_control) are left alone. First-arrival recoverable shaping (llmtrim recall r_…) is off by default; live-zone tool-output windowing still runs, and a re-run of the same tool ships in full. To skip shaping for a command (verbatim stdout, including a terminal trailer), set toolout_passthrough = ["*gpt.sh*"] or prefix the command with LLMTRIM_TOOL_OUTPUT=passthrough. Lines starting with LLMTRIM_KEEP: survive windowing even when the rest is clipped.
All 10 compressors
Stages run in savings order. Nothing under a cache_control marker is rewritten.
| Stage | What it does | When it runs |
|---|---|---|
| tool-output | Lossless template fold first, then window logs · diffs · grep · dumps down to errors / changes / matches; opt-in first-arrival recall can restore omitted cache-boundary results with llmtrim recall | tool results |
| cache discipline | Mark + stabilize the invariant prefix (sort tools/schema · OpenAI prompt_cache_key) so it stays cached | tools |
| lexical retrieval | BM25+ ranking with RM3 feedback · TextTiling topic cuts · budgeted non-redundant selection; question protected | long context |
| skeletonization | tree-sitter keeps relevant function bodies, drops the rest to signatures (14 languages) | code |
| serialize + hygiene | Minify JSON, encode record arrays to TOON or CSV, Unicode-normalize | always · lossless |
| json sample | Down-sample huge record arrays: first/last + outliers + a query-biased diverse sample | big JSON |
| dedup | Collapse duplicate + near-duplicate lines (prose only) | always |
| output control | Terse instruction · Chain-of-Draft · token budget · native JSON schema · anti-overthink directive (quantized reasoning) · agent-loop frugality directive | auto |
| tool layer | Static tool selection + description trimming | tools |
| multimodal | Downscale images to the provider's resolution cap | images |
Default auto enables each stage only where it pays. safe is lossless-only. Config →
When ~/.claude exists, setup, update, and ensure wire /sub (and routed subagents). No separate install command for that.
| Feature | What you get | ||
|---|---|---|---|
/sub | Per-window: `/sub on [optional:codex\ | kimi\ | grok] · /sub off · /sub status` |
Subscription reroute (sub) (opt-in; may conflict with provider ToS)
Send Claude Code through CLIProxyAPI instead of Anthropic, or as a fallback hop when the current path fails. Login is CLIProxyAPI's TUI; decide for yourself whether that fits the provider ToS.
llmtrim sub on # install + start CLIProxyAPI, enable redirect
llmtrim sub on grok # write opus/sonnet/haiku/fable → that CLI's models llmtrim sub auth # CLIProxyAPI TUI — sign in llmtrim sub models # official + live sidecar models llmtrim sub map on opu
Solo se muestra el principio; lee el resto en el repo