Lettuce Β· the diet plan for hungry AI

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.

The problem

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.

How it works

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.

Step 1

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.

Step 2

Connect your agent in 60 seconds

One MCP URL + key. Paste it into Claude Code, Cursor, Copilot, Windsurf, Cline, OpenCode β€” anything that speaks MCP.

Step 3

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.

Always fresh

A webhook re-indexes on every push. Your agent never reads a stale map.

Same agent. Same prompts.

Zero new workflow. The tools show up in the agent β€” one line in the system prompt and you're done.

βˆ’42%
fewer tokens
vs. an agent using grep + file reads
βˆ’56%
wall-clock time
median over 160 GitHub issues
~60s
to onboard
add a repo, paste the MCP URL, your agent has a map

Measured, not modeled. A real Claude Code agent solving real GitHub issues, with and without Lettuce. See the run.

For engineering leaders

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.

coming soon

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

coming soon

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.

coming soon
  • βœ“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.

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.

$/ month

Whatever your team is paying Anthropic, OpenAI, Cursor, etc. for agent usage right now. Pull it from last month's invoice.

We apply the 42% input-token reduction measured in our published benchmark to your bill. It's the same ratio whether you're on Sonnet, Haiku, GPT-5 or anything else β€” Lettuce trims the context, the model bills less.
Saved / month
$2,100
42% off your current spend
Saved / year
$25.2K
run-rate, 12 Γ— monthly
New bill / month
$2,900
what you'd pay with Lettuce in front

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.

Self-hosted

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.

FAQ

What languages does Lettuce support?+
Python and TypeScript / JavaScript today. More are on the roadmap β€” tell us what your stack needs.
Does my source code leave my machine?+
On Lettuce cloud, yes β€” we clone your public repo to build the map. For private source, Lettuce can run in your own VPC β€” talk to us about Enterprise. Private-repo support on the public cloud is on the roadmap.
Which coding agents work with Lettuce?+
Anything that speaks MCP β€” Claude Code, Cursor, OpenCode, Codex CLI, your own agent. Point it at Lettuce and it gets four small tools.
How fresh is the map?+
Always current β€” your agent never reads a stale one. Updates happen automatically when your repo changes.
What does it cost?+
Free for 1 repo. Pro is $29/month for up to 10 repos. Enterprise is sales-led β€” start free or book a call.