Retrieval-augmented generation over a static vector index is the default architecture for AI documentation assistants — but it degrades silently as source documentation changes faster than the index is rebuilt. This report benchmarks that default against a Model Context Protocol (MCP) server that queries Ignite UI documentation and API definitions live, using the same Claude model as the orchestrator in both configurations, across 100 matched queries.
The headline: MCP produced a higher-confidence answer in 52% of head-to-head comparisons versus 38% for the Bedrock knowledge base (10% ties), with the largest gains concentrated in exact API interface lookups. The cost of that advantage is real — 19.2 seconds of extra average latency (31.9s vs. 12.7s) and roughly 36x higher per-query API cost ($0.169 vs. $0.0047), because MCP runs an average of 11 tool-call turns per query instead of one embedding lookup.
Why This Comparison Matters
Ignite UI ships four framework variants — Angular, React, Blazor, Web Components — each with an independent API surface, and the documentation changes on every minor release. The AI Agent Gateway behind Ignite UI’s support and docs chat originally answered from a Bedrock Knowledge Base: a vector index built from periodic documentation snapshots. That architecture has two known failure modes — index staleness and hallucination. A grid property shipped in a patch release doesn’t exist in the vector store until the next re-index job runs, and the model has no way to know the gap exists; it answers confidently from whatever it has.
The alternative under test replaces the vector index with an MCP server exposing four tools — search_docs, get_doc, search_api, get_api_reference — that query documentation and generated API reference at request time. Claude drives this as an agentic loop, deciding which tool to call, reading the result, and iterating (capped at 20 turns) until it has enough grounding to answer.
The 100-query set spanned six categories: component usage/how-to, API definitions and type lookups, styling/theming/SCSS, recently-added-feature freshness, and code generation. Each answer was scored 0–100 by an LLM judge on a weighted rubric — Retrieval Relevance (20%), Answer Clarity (55%), Answer Grounding (25%) — using the same judge and rubric for both arms.
The Headline Numbers
| Metric | Bedrock KB | Ignite UI CLI MCP | Delta |
|---|---|---|---|
| Avg total latency | 12,715 ms | 31,932 ms | +151% |
| p95 total latency | 17,296 ms | 54,477 ms | +215% |
| Avg cost/query | $0.004698 | $0.169116 | +3500% |
| Avg confidence (composite) | 70.3 | 73.9 | +3.6 pts |
| Avg citations/answer | 2.2 | 4.5 | +2.3 |
| Zero-citation rate | 3% | 1% | −2 pts |
| Win rate (head-to-head, n=96) | 38% | 52% | 10% ties |
Five Findings
1. MCP’s advantage concentrates almost entirely in exact API surface lookups, not general how-to questions. In the API Definitions & Type Lookups category, search_api/get_api_reference retrieved actual generated type definitions, producing wins as large as +67 confidence points (GridRowEditEventArgs) and +50 points (IgxRowSelectionEventArgs). In both cases the RAG answer explicitly admitted it lacked the property list and suggested checking source code — the vector snapshot simply didn’t contain the specific interface definition. In the how-to category, wins were narrower and more evenly split, since that content changes less often and is well-represented in any reasonably recent snapshot.
2. Turn count predicts latency almost linearly, and simple factual questions get penalized disproportionately by the tool-calling architecture. Queries resolved in 2–4 turns completed in 7–11 seconds — faster than or comparable to RAG. Queries needing 18–20 turns (repeated failed or exploratory searches) took 45–75 seconds. One query alone accumulated 21 tool calls and 75 seconds for what should have been a simple loading-overlay how-to, because the agent kept re-searching instead of recognizing it already had enough to answer.
3. Answer Grounding — not just Retrieval Relevance — is where MCP’s advantage is most defensible. Of the three weighted sub-scores, Answer Grounding gained the largest delta (+7.6 pts), ahead of Retrieval Relevance (+5.7 pts). Grounding measures whether the final answer’s claims are actually supported by what was retrieved, not just whether relevant content was found at all. The live API reference’s structured type signatures appear harder to hallucinate against than free-text documentation prose.
4. MCP loses on stable, well-documented styling questions, where multi-turn exploration adds noise instead of signal. The three largest RAG wins were all styling/theming queries. In the sharpest case (“style selected rows in Ignite UI Blazor grid”), RAG scored 76 against MCP’s 33 — MCP explicitly said it couldn’t find dedicated documentation and fell back to guessing standard patterns. When the underlying documentation is thin or just poorly indexed for keyword search (not stale, just hard to find), more tool-call turns don’t compensate; they just produce more confident-sounding hedged text.
5. The freshness category didn’t show a decisive MCP advantage, despite being designed to expose RAG staleness. Some queries in that category favored MCP, others favored RAG or were close — a 15-query sample per category is too small to generalize from, and the actual staleness of the RAG snapshot at test time wasn’t independently measured. Directionally consistent with the freshness hypothesis, but not proof of it at this sample size.
Decision Matrix
| Scenario | Bedrock RAG | Ignite UI CLI MCP |
|---|---|---|
| High query volume, cost-sensitive (customer support chat) | ✅ ~36x cheaper, sub-second-to-13s latency | ❌ $0.17/query and 30s+ average is uneconomical at scale |
| Exact API/type reference lookups (IDE assistant, SDK docs bot) | ⚠️ Fails or hedges when the interface isn’t well-represented | ✅ Retrieves live generated type definitions with full member lists |
| Latency-sensitive, user-facing UI (streaming chat widget) | ✅ TTFT ~5–6s median | ❌ TTFT ~29s median unless intermediate tool status is streamed |
| Well-documented, stable styling/theming questions | ✅ Dense embedding search matches thin doc pages effectively | ⚠️ Keyword search can miss under-indexed pages |
| Need for source citation / audit trail | ⚠️ 2.2 citations/answer, 3% zero-citation rate | ✅ 4.5 citations/answer, 1% zero-citation rate |
If your workload mixes both patterns — a docs bot that gets both “how do I style X” and “what’s the exact signature of Y” — the report’s guidance is to route by query classification rather than pick one backend: API/type-lookup intent to MCP, general how-to and styling intent to RAG.
The Verdict
Use the Ignite UI CLI MCP when the workload is dominated by exact API/type reference questions, documentation changes faster than a re-index cycle can track, and query volume is low enough that $0.17/query and ~32s average latency are acceptable — an internal SDK reference assistant or IDE copilot fits this profile.
Use the Bedrock RAG when query volume is high, latency needs to stay under a few seconds for a responsive chat UI, and the underlying documentation is stable prose content that a dense vector index already retrieves well.
Default to a hybrid if the workload is mixed, since the two systems’ advantages are concentrated in almost opposite query categories rather than one architecture dominating uniformly.
The full report below includes the complete methodology, per-query technical data for all 100 queries, and production code examples for bounding the MCP tool-call loop and detecting zero-grounding responses.
MCP vs Vector RAG Docs Retrieval Benchmark Download

