For teams with bigger ambitions for their coding agents

Your coding agents are working from a broken picture.

And your observability stack is responsible for it. Foam captures and connects what your software does, then makes it queryable by agents.

Built for teams at Perplexity Together AI Orb Braintrust
Foam Research

Two findings about why agents fail in production.

See all research →
Finding 01 · Root-cause accuracy22 real incidents

Better production evidence changes the answer.

We evaluated whether an agent identified the same precise root cause and would lead an engineer to the same fix.

Cursor + Sentry9 of 22 correct
40.9%
Cursor + Foam MCP14 of 22 correct
63.6%
Foam19 of 22 correct
86.4%
Finding 02 · Tool efficiency150 trajectories

More tools did not make the agent better.

Removing noisy Mattermost and Plane tools preserved task accuracy while sharply increasing the share of calls that helped solve the task.

2×GPT-5.3-Codex made twice the proportion of useful tool calls.
All tools0.359
Noise removed0.720
Garbage in. Garbage out. Your AI SRE is not dumb. It is being asked to reason from evidence that was sampled, fragmented, or never captured. Read the opinion →
The problem

Your software produces enormous amounts of useful data. Your tools break the picture apart.

It is fragmented across tools, represented differently, sampled, dropped, or never collected because you had to know in advance that it would matter.

Then we expect agents not to hallucinate and to piece everything together when the pieces are missing—or worse, misleading.That is not an agent problem. It is an evidence problem.

Same question. Different evidence.

See exactly what changes with Foam.

Ask Claude Code the same production question. Without Foam, it reconstructs a story from partial tools. With Foam, it reads the connected event.

Why did the helper agent fail for this user?
Without Foam
Five tools · incomplete
> Investigate helper-agent failure for session_8a2
The picture your agent gets5 serious gaps
The cause is in here
User → browser → services → databasebroken apart
The inventory lookup may have timed out. Search returned 200, so the failure was likely transient. I need database access and the session replay to confirm.
Result: a plausible guessThe missing squares contain the cause
With Foam
Foam MCP · connected trail
> foam.run_query("helper-agent failure", session_8a2)
The complete production picture12 of 12 connected
User → browser → services → databaseone connected incident
The agent failed because inventory_lookup timed out, search_docs returned an empty result, and the account query returned zero rows. The retry loop ended in abandonment at 1:42. Similar failures cluster on ECS host-03.
Result: grounded answerEvery square belongs to the same incident

More tools do not fix this.

Giving an agent access to five disconnected tools gives it five ways to reconstruct the same incomplete story.

What Foam does

Connect your code. Foam handles the rest.

Connect GitHub, GitLab, or Bitbucket. Foam discovers your services, writes the instrumentation, and opens tested PRs for your team to review and merge.

foam.ai/installation Auto-playing
Your only setup step

Choose the codebases Foam should instrument.

Connect GitHub, GitLab, or Bitbucket, then select the repositories Foam can scan and propose changes to.

Choose your code host
Repository accessacme-inc
Select codebases
Foam can read code and open PRs. It cannot merge them.
Foam is doing the work

Foam scans the repositories and discovers every service.

It identifies frameworks, runtimes, queues, databases, browser apps, workers, and agent workloads before proposing any changes.

GHType / to searchAC
acme / platform
CodeIssuesPull requestsActions
apps/webNext.js
services/inventoryNode.js
workers/billingPython
services/accountsRuby
Foam found 6 services
web-appNext.js · browser
inventory-apiNode.js · Express
billing-workerPython · Celery
accounts-apiRuby · Rails
orders-queueSQS · async
helper-agentAnthropic · tools
Foam wrote the installation

Review the pull requests Foam opened.

Foam chooses the right package and instrumentation for each service, tests it, then opens normal PRs. Your team only reviews and merges.

GHType / to searchAC
acme / platform
CodeIssuesPull requests 3Actions
◉
Install Foam in inventory-api#184 · foam[bot]
installation
◉
Instrument billing-worker#185 · foam[bot]
installation
◉
Add Foam to accounts-api#186 · foam[bot]
installation
Install Foam in inventory-api#184 opened by foam[bot] · all checks passed
Open
ConversationChecksFiles changed 3
services/inventory/src/server.ts+7 −0
@@ -1,3 +1,10 @@+ import { initFoam } from "@foam-ai/node";++ initFoam({+   serviceName: "inventory-api",+   capture: "advanced"+ });  import express from "express";
+ package.json   + package-lock.json
You review and merge. Foam verifies live production coverage.3 PRs by foam[bot] ✓
PII, PHI + secrets

Sensitive data is handled before it becomes stored telemetry.

Read how Foam redacts data →
01
Scrubbed in your code.

Installation PRs detect sensitive call sites and redact PII, PHI, credentials, and service-specific secrets at the source, so the raw value never leaves your application.

02
A second, optional safety net.

Collector-side NER can detect names, emails, phone numbers, cards, SSNs, IPs, and medical identifiers before storage.

03
Fail closed and auditable.

If a value cannot be analyzed, Foam masks it as [REDACTED]. Redactions are marked for auditing and can be configured per service and environment.

01

Capture at the source

HTTP requests and responses, database queries and results, queues, background workers, cron jobs, async workflows, user sessions, model calls, tool calls, logs, metrics, traces, and infrastructure activity.

02

Connect the sequence

Foam links the user, request, service, database, model, and downstream effects into one continuous trail.

03

Make it queryable

Claude Code, Cursor, Codex, and other agents can query the complete record directly through one MCP.

Queues? Async jobs? Background workers? Yes.Foam follows the work across all of them too.
The obvious question

Isn’t Foam just OpenTelemetry?

OTel is the standard underneath. Foam is the complete system that makes it useful to your agents.

OTel
capture connect query
01
OTel gives you SDKs

Foam gives you complete coverage.

One init call wires the exporters, frameworks, databases, logs, browser, and model SDKs. Foam keeps checking as your stack changes.

02
OTel emits signals

Foam captures the evidence between them.

Requests and responses, query results, sessions, model calls, and tool I/O—not only the spans, logs, and metrics most stacks retain.

03
OTel propagates traces

Foam preserves the whole sequence.

Browser, services, database, agents, and infrastructure stay connected as one production record instead of five partial views.

04
OTel exports data

Foam makes it safe and agent-queryable.

Redaction, efficient storage, connection, and one SQL-query MCP are part of the system—not another platform project for your team.

Already use OpenTelemetry?Point your existing OTLP exporters at Foam. No proprietary rewrite.

No, we are not a RAG layer.

Foam is not another agent reasoning over the data you already have. It creates the complete production record before an agent asks the question.

NOT

Not RAG.

RAG retrieves information that already exists. Foam captures the requests, query results, sessions, and handoffs that normally never become available to retrieve.

NOT

Not an AI SRE.

Foam does not replace your engineering agents. It gives Claude Code, Cursor, Codex, and other agents the production evidence they are missing.

NOT

Not a connector layer.

Foam does not sit above fragmented tools and ask an agent to reconcile them. It captures and connects the production sequence at the source.

Foam is the evidence layer.One connected, queryable production record for the agents your team already uses.
50+startups
We have done this before

Trusted in production. Rebuilt for agents.

Foam’s previous bug fixer was trusted by more than 50 startups. Now we are bringing the new Foam to market: complete production evidence built for coding agents.

Foam raised $10M from Khosla Ventures, The House Fund, South Park Commons, Max Levchin, and others.

Your agents can only be as ambitious as the evidence they can access.

Give them one coherent, queryable record of what your software actually did.

Book a call