
LatentGate
io.github.KathanModh259Published by GitHub account KathanModh259v1.4.2Updated Oct 30, 2026
Read large logs, JSON and docs in a fraction of the tokens. Offline, fact-preserving optimizer.
Overview
LatentGate is a local MCP server that shrinks logs, JSON, docs and web pages before the assistant reads them, cutting token use offline and deterministically.
- What you can do
- Read a text file and return a token-optimized version of it
- Optimize text already in the conversation, optionally toward a question or token budget, and count tokens
- Compress images, text, conversations and documents with a local Ollama model, and show session statistics
- Fetch a URL and return compacted visible text in the hosted HTTP mode
- When to use it
- Useful when an assistant must read large logs, JSON dumps, long documents or repetitive text and context or cost is the bottleneck; the deterministic optimizer tools work without any model or API key.
- Requirements
- Runs locally over stdio via uvx from the PyPI package latent-gate (uv required); the first run downloads dependencies and may exceed a client's startup timeout. Image and compress_* tools additionally need a local Ollama server with pulled models. No credentials are declared for the MCP server itself.
Installation
In SourceWeft
- Open LatentGate 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
LatentGate
Give your AI the signal, not the noise.
An MCP server that shrinks logs, JSON, docs and web pages before your AI reads them — offline, deterministic, in ~3ms, no API key. 66% fewer tokens across a mixed dev corpus; 90%+ on repetitive logs.
[Python 3.10+] [License: Proprietary] [Version] [PRs Welcome] [Ollama] [MCP] [Prometheus] [Grafana] [k6] [Vercel] [CI] [Downloads] [Listed on mcpservers.org]
Use in Claude | Quick Start | Python API | REST API | Monitoring | Load Testing | Deployment | AI Tools | Benchmarks | Contributing
See it work
Try it in your browser → The real optimizer runs on your machine via WebAssembly; nothing you paste is uploaded.
A 400-line error log, read through LatentGate (balanced, measured with tiktoken):
Install it into Claude Code in one line, then ask "read app.log and tell me why orders fail":
What you can rely on: the same input always gives the same output (so provider prompt caching keeps
working); output is never larger than input; code blocks, URLs and quoted strings come back
byte-for-byte; level="lossless" changes nothing but whitespace, JSON formatting and exact duplicates.
What you trade at the default level: runs of near-identical lines are folded to first, last and value
ranges, so individual IDs inside a folded run are not kept. The full corpus, including where it loses
facts, is in Cost Benchmarks and reproducible with latent-gate --optimizer-benchmark.
Works in Claude Code, Claude Desktop, Cursor, Cline, Continue and Zed, free and offline.
Don't want to install anything? The official hosted LatentGate on mcprush also runs where local servers can't, such as claude.ai on the web and mobile. It has a free tier (300 calls a month) and paid plans from $9/month.
The Problem
Every time you send an image or long prompt to GPT-4o / Claude / Gemini, you burn 1,000+ tokens on processing that could happen locally for free.
Features
Use it in Claude
LatentGate plugs into Claude as an MCP server. Its optimizer tools work offline, with no Ollama and no API key — Claude reads big logs, JSON dumps and docs through it and spends a fraction of the context. A 400-line error log goes from 14,400 to ~100 tokens.
Requires uv (uvx fetches LatentGate from PyPI on first run).
The first run downloads dependencies, which can exceed Claude's 30-second MCP startup limit
on a slow connection; run this once beforehand (later starts take ~2s):
Claude Code — plugin (MCP server + a skill that tells Claude when to use it):
Claude Code — MCP server only:
Any agent — from the Agensi marketplace: LatentGate Context Saver is the official skill for Claude Code, Cursor, Codex CLI and 20+ other agents. It sets LatentGate up if it's missing, works with the local and hosted editions, and tells your agent when to use it.
Claude Desktop — add to claude_desktop_config.json and restart:
Then just ask: "Read logs/app.log with latent-gate and tell me why orders fail."
Quick Start
Install
Pull Ollama Models
One-Command Quickstart
This starts everything: Ollama → pulls models → API server → website. See scripts/quickstart.sh for options like --no-pull, --no-website, --port 9000.
CLI Usage
Production Hardening
For API deployments, restrict direct image-path reads to trusted directories:
Benchmark before releases so speed and savings are measured, not guessed:
Python API
Image Query
Text Compression
Batch Processing
Streaming
REST API
Start Server
Endpoints
Example Requests
Async Support
Video Processing
Configuration
Config File
Environment Variables
Save Config
Docker
The docker-compose setup includes:
- latent-gate API server (port 8000)
- Ollama local LLM server (port 11434)
- ollama-init container that auto-pulls required models (profile:
setup) - Prometheus metrics collector on port 9090 (profile:
monitoring) - Grafana dashboard on port 3000 (profile:
monitoring, credentials:admin/latentgate)
Monitoring Stack
Start with monitoring:
Access:
- Grafana: http://localhost:3000 (login:
admin/latentgate) - Prometheus: http://localhost:9090
- Metrics endpoint: http://localhost:8000/metrics
The LatentGate dashboard auto-loads in Grafana with 9 panels covering request rate, latency percentiles (p50/p95/p99), token savings, error rates, pipeline health, and endpoint breakdown.
Customize via environment variables:
GRAFANA_ADMIN— Grafana admin username (default:admin)GRAFANA_PASSWORD— Grafana password (default:latentgate)GRAFANA_ANONYMOUS— Enable anonymous access (default:true)LATENTGATE_ENABLE_METRICS— Enable Prometheus metrics (default:true)
AI Coding Tool Integration (MCP)
LatentGate works as a Model Context Protocol (MCP) server with every major AI coding tool. Your AI assistant automatically compresses images, long prompts, and documents before they reach the cloud model.
Supported Tools
VS Code Extension
Features:
- Right-click any image to compress with LatentGate
- Select text and press
Ctrl+Shift+Alt+Cto compress - Cost dashboard in activity bar
- Auto-configures MCP for Copilot Chat
- Status bar showing token savings
MCP Setup
For Claude, see Use it in Claude. For Cursor, Cline, Continue, Zed and other MCP clients, use the same server command:
Or install it into your environment (pip install "latent-gate[mcp,tokens]") and use
"command": "latent-gate-mcp". Note the command is latent-gate-mcp — plain latent-gate
is the CLI and will not speak MCP. The image and compress_* tools additionally need
ollama pull llava:7b and ollama pull phi3:mini.
See integrations/ folder for detailed setup guides per tool.
Hosted MCP (remote, for gateways like mcprush)
Serves streamable HTTP at /mcp (stateless, so any instance can answer any request) and
/health. Because it's remote, it also works where local MCP servers can't run: claude.ai
on the web and mobile, and any client that only takes a connector URL. The main tool there is
fetch_url_optimized. It fetches a page, JSON API or raw log by URL and returns the visible text,
compacted and deduplicated without a summarizing model. Addresses that aren't public
(localhost, 10.x, cloud metadata) are refused, and that's checked on the live connection, so
DNS tricks don't get around it. In this mode:
read_file_optimized,compress_imageandget_statsare hidden. The first two would read the server's disk, and stats would mix all callers' usage.compress_*tools are listed only whenLATENTGATE_HOSTED_OLLAMA=1(the host runs Ollama).- Each call's input is capped at 2MB.
- With
LATENTGATE_API_KEYset, requests needAuthorization: Bearer <key>. Give the key to your gateway and nobody else, so callers can't bypass the paid plan.
Speed Optimizations
Cost Benchmarks
Image Queries (by provider, estimated)
Estimates from each provider's published image-token formulas versus a ~150-token local description.
Text: measured, reproducible
Deterministic optimizer on built-in realistic inputs, counted with tiktoken (o200k_base).
Facts kept = share of numbers, identifiers, URLs, file names and code preserved verbatim.
Reproduce with latent-gate --optimizer-benchmark (no Ollama or API key needed).
Logs lose individual ids/timestamps when folded (the fold keeps first, last and value ranges), and RAG drops facts from documents irrelevant to the question — both by design.
How it works (safest stage first; see latent_gate/optimizer.py):
- Protect code blocks, inline code, URLs and quoted strings — restored byte-for-byte
- Lossless: whitespace/Unicode cleanup, JSON minification (values untouched), duplicate folding
- Log folding: runs of log lines differing only in numbers/ids → first, last, and ranges
- Filler: pure pleasantries ("Hi!", "Thanks in advance!") and hedging phrases removed
- Selection (only over a budget, or
aggressive): BM25 question-relevance + requirement cues, original order preserved, the user's actual ask is never dropped
Guarantees: output never has more tokens than input; same input → same output (so provider prompt caching keeps working); when a local LLM rewrite is used it must be smaller and keep every fact, otherwise the deterministic result is sent.
Video
Selective decoding skips remote calls for frames similar to the previous one (~2.85x fewer calls on typical footage).
At Scale (10,000 image queries with gpt-4o-mini, estimated)
Cost Tracking
Multi-Language Support
Project Structure
Community
- GitHub Discussions — Feature requests, Q&A, showcases
Contributing
Contributions welcome! See CONTRIBUTING.md.
Development Setup
Run Tests
Priority Areas
- Additional vision model support (Florence-2, InternVL, Qwen-VL)
- Custom similarity plugins for domain-specific use cases
- WebSocket support for real-time streaming
- Advanced cost analytics and optimization suggestions
- Plugin development for specialized industries
- Test coverage improvements
- Documentation and examples
Citation
Inspired by VL-JEPA (Meta FAIR, 2025).
License
Custom Proprietary License — see LICENSE.
Built by Kathan Modh
Process locally. Send smart. Pay less.
Source: README.md at commit 5273d88
Tools
0Version history
2- v1.4.2LatestOct 8, 2026
- v1.3.1Sep 25, 2026
Score
40% 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
Declare a license in the repository or the registry entry.