Put your coding agent on a diet β up to 42% fewer tokens.
Your coding agent is a glutton β re-reading the same files every session like it's an all-you-can-eat buffet. Lettuce serves it a smaller, smarter plate. Same brain, much lighter token bill.
Your agent starts every session blind.
Cursor, Claude Code, Copilot β pick one. It walks into your repo with zero memory. It greps. It opens files at random. It re-reads the same modules from yesterday, last week, an hour ago. Then it writes the line you asked for.
No map. Just grep.
The bigger the repo, the more it scans. Every. Single. Time.
Most of the clock is wasted
The agent spends most of the session finding its way β not making the edit you asked for.
42% of input tokens β gone
Burned on context the agent could have looked up once.
Index once. Ask, don't grep.
Lettuce is a hosted MCP server. It turns your repo into a graph of symbols, callers, imports, and dependencies β then hands your agent four small tools to query it. No more file dumps.
Index your repo
Add a repo. Lettuce builds the graph β every function, class, file, every edge between them, plus a one-line summary of each.
Connect your agent in 60 seconds
One MCP URL + key. Paste it into Claude Code, Cursor, Copilot, Windsurf, Cline, OpenCode β anything that speaks MCP.
The agent asks the map
Instead of grepping, the agent calls understand, callers, search. One call returns file:line + signature + callers. Not 10k lines of file dumps.
A webhook re-indexes on every push. Your agent never reads a stale map.
Zero new workflow. The tools show up in the agent β one line in the system prompt and you're done.
Measured, not modeled. A real Claude Code agent solving real GitHub issues, with and without Lettuce. See the run.
Slots in. No migration.
If your engineers run coding agents β Claude Code, Cursor, Copilot, anything β Lettuce slots in. No new tool to learn. No migration. No model change. Add the MCP endpoint to the agent config and the new tools show up.
Zero code change. Zero risk.
It's an MCP server. Paste a URL + key into the agent config. Pull it tomorrow and the agent goes back to grepping. That's it.
Monorepos stop choking your agent
A 200k-file repo doesn't fit in 200k tokens. The graph collapses it to the 5 symbols the agent needs. PRs that used to time out now finish.
42% fewer input tokens β same prompts
Across 20 devs running agents daily, that's a five-figure line item. No model swap. No rate limits.
56% faster PRs
Median wall-clock per task in our benchmark. Your devs ship more PRs per hour because the agent stops re-reading the same files.
New hires ship on day one
A junior's agent gets the same map a senior's agent has. 'Where does X get called?' returns a real answer in one call β not a 20-minute scavenger hunt.
Enterprise-ready
Self-host in your VPC. SSO. Audit logs. Per-team budgets. Talk to us about a rollout.
Two ways in.
Connect your agent over MCP. Or talk to us about a team rollout.
Connect your agent
For solo devs and small teams. Add a repo, point your agent at the Lettuce MCP endpoint, watch the token bill drop. No CLI to install.
# Add a repo from the dashboard, then:$claude mcp add --transport http lettuce \https://diet.uselettuce.dev/mcp \--header "Authorization: Bearer cwz_..."
For companies
Self-hosted indexer, SSO, audit logs, per-repo budgets, and a human you can email when something breaks. We'll size it to your codebase and your agent fleet.
- Deploy in your VPC or ours
- SAML / OIDC SSO + SCIM
- Per-team token caps & usage reports
- Dedicated Slack channel + onboarding
Works with every agent you already use.
Lettuce is an MCP server. If your agent speaks MCP, it connects in under a minute. Pick yours, copy the snippet, done.
Claude Code
Register the server with one CLI command β no config file to edit.
Cursor
Drop the server into .cursor/mcp.json (project) or ~/.cursor/mcp.json (global).
VS Code Β· Copilot
Add to .vscode/mcp.json, switch Copilot to Agent mode, and the tools show up.
Windsurf
Cascade reads ~/.codeium/windsurf/mcp_config.json β paste the server, hit Refresh.
Cline
Configure from the Cline side panel β choose Remote (HTTP) and add the bearer header.
OpenCode
Add the lettuce entry to mcp.json in the project or user config dir, then restart.
Codex CLI
Bridge stdio-only clients to the HTTP endpoint with mcp-remote β works for any stdio agent.
Your own agent
Any MCP-capable client works. Point it at the endpoint with a bearer token and you're done.
Building your own agent? If it can call MCP tools, it works. See all connection guides.
See it in dollars.
Drop in last month's agent bill. We apply the same input-token reduction we measured on real GitHub issues. The ratio holds β no need to guess at sessions, devs, or models.
Whatever your team is paying Anthropic, OpenAI, Cursor, etc. for agent usage right now. Pull it from last month's invoice.
Savings ratio comes from the published benchmark (Claude Code solving real GitHub issues with and without Lettuce β same methodology, see below). It's applied flat to whatever you're spending today, because Lettuce cuts input tokens regardless of the model on the other end.
How we compute βtokens savedβ+
We don't ask you for your βbeforeβ spend and we don't make it up. Every Lettuce tool call writes two numbers to the same row in our database:
- served β measured. The exact byte size of the response Lettuce returned to your agent, converted to tokens.
- baseline β modeled. What the agent would have read from source to answer the same question without us.
tokens saved is max(baseline β served, 0) summed across every call. The clamp matters: if a call ever returns more than its baseline, the row contributes zero β never a negative βsaving.β
How baseline is computed per tool:
read_snippetβ near-exact. The baseline is the full file the slice came from; the saving is everything we trimmed off.- navigation tools (
find_symbol,explain_symbol,callers) β conservative. The baseline is the combined source span of the symbols the call returned: the lines the agent would have had to read to locate them. This ignores the surrounding file the agent would also have pulled in, so we under-count. The real saving is higher.
The calculator on this page uses the same numbers, averaged across 160 real GitHub issues solved by Claude Code with and without Lettuce (24,683,536 baseline tokens vs. 14,323,308 served, a 42% reduction). See the full run.
Don't trust the pitch. Read the receipts.
Every run, every issue, every token count is published β losses included.
Run Lettuce inside your perimeter.
Same Lettuce, your infrastructure. Docker or Helm. Your IdP, your secret store. Cosign-signed images. OpenTelemetry to your stack. License-key gated.
Cosign-signed images + SBOM
Every image signed with cosign keyless; SPDX-JSON SBOM attested to the image per release.
OpenTelemetry traces + logs
Ship to your existing OTLP collector. No metrics leave your network.
BYO IdP (OIDC) + secret store
Plug your IdP. Pull secrets from Vault, AWS Secrets Manager, or GCP Secret Manager.
GHES, GitLab self-hosted, Bitbucket
Configurable base URLs, your CA bundle, your service accounts.