Every founder or sales leader who has tried to enrich a list inside Claude or ChatGPT has hit the same wall: the first 50 records work great, then something goes wrong. Fields start dropping out. The agent slows to a crawl. By 200 records you are manually paginating what was supposed to be one clean batch job. This article explains exactly why that happens in 2026 and what you actually have to change to get reliable results at 1,000 records.
The Hidden Bottleneck Inside Your Agent
Most people assume the problem is the data provider. It rarely is. The real bottleneck is where records end up after a tool call returns. When an MCP runs inside the model's conversation, every enriched record lands in the same space the agent uses to think. That space is a token budget, and it fills up fast.
MCP tooling documentation recommends returning 10 to 20 items per page specifically to avoid this. Push past 100 records and two things can happen: the model truncates results silently, or the call errors out entirely. Neither shows up as a helpful error message.
The fix is not a bigger context window. Larger windows delay the ceiling but the ceiling still exists, because token use scales linearly with the number of records returned. The actual fix is moving the heavy lifting off the context window entirely.
Two Enrichment Patterns, One Shared Weakness
Before getting to the solution, it helps to understand the two standard approaches and where each one strains.
Waterfall Enrichment: What It Is
Waterfall enrichment chains providers together. Provider one runs first; any fields still blank get routed to provider two, then provider three. The goal is a high fill rate across a mix of company and contact data. For a single record or a small list, it works exactly as advertised.
At scale, the math turns against you. Every unfilled field triggers extra calls. A two-provider waterfall on 500 records can quietly generate over 1,000 round trips. Add a third provider and the call count multiplies again. Rate limits that looked generous for a single lookup now throttle your entire batch.
Real-Time Enrichment: What It Is
Real-time enrichment skips pre-built datasets and issues a live lookup per record, keeping data current. That freshness advantage is real for things like verifying a job title before a call or checking current headcount before a pitch.
The tradeoff is linear scaling. One live lookup per record means 1,000 lookups for 1,000 records. Without a bulk endpoint, that is 1,000 sequential round trips minimum. Providers built for individual searches, not batch runs, throttle hard once an agent starts looping.

Why Neither Pattern Fixes the Token Problem
Here is the part most articles skip: waterfall and real-time are data strategies. They say nothing about where processing happens. An in-context MCP using waterfall enrichment still loads every record into the conversation. An in-context MCP doing real-time lookups does the same. The token ceiling exists regardless of which data strategy you choose.
What the Numbers Look Like
- A typical enriched company record, once serialized with all its fields, runs several hundred tokens.
- At a page size of 20 records, that is thousands of tokens before the agent has reasoned about a single result.
- To process 1,000 records in-context at 20 per page, you need 50 sequential calls. That is 50x the latency of a single server-side call.
The Architecture Shift That Actually Works
Server-side processing keeps records out of the context window entirely. The agent sends a list of entities, the server enriches them against its data sources, and the agent receives a compact summary back. Record count no longer competes with the agent's reasoning budget.
This is not a marginal improvement. It changes what is possible: a 500-account batch that would take 50 paginated calls in-context runs as a single call server-side, completing in under 10 seconds at 100 QPS.
How Vibe Prospecting Handles Batch Runs
Vibe Prospecting is built for this. Every enrichment call runs server-side through the AgentSource API, powered by Explorium Enterprise Business Data. The agent never receives the raw per-record payload that overflows an in-context MCP.
Single Connection for All Your Data Needs
- One connection covers company search across 150M+ profiles, contact data for 800M+ professionals, funding details, hiring activity, website signals, and 18 buying-signal categories spanning 80+ types.
- All of that comes from a single schema backed by 50+ sources, so there is no routing to a second or third provider for missing fields.
- Company match accuracy runs at 97.8%+, which means the fallback step that defines waterfall enrichment simply becomes unnecessary.
Throughput Built for Production
- Up to 1,000 entities per call, server-side, with no context-window exposure.
- Sustained at 100 QPS: a 500-account batch finishes in under 10 seconds.
- 99.999% uptime so a large batch does not stall midway through.
Pricing That Makes Sense for Agent Workloads
- Start free, no sales call. One shared credit pool flows across whichever endpoints your agent calls.
- Sample-before-export returns 5 representative records plus a cost estimate before any credits are charged.
- The pooled model cuts spend 30-60% versus per-endpoint pricing structures.
Built-In Waterfall with the Vibe Plugin
For advanced GTM automation and prospecting workflows, connect the Vibe Prospecting Plugin. It has waterfall enrichment built in. The best-practice order: Vibe first for accuracy and cost efficiency, RocketReach only when a phone number is missing, FullEnrich as the last resort given its higher cost.

