The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Retrieval Lens listing page.
A black-box flight recorder for RAG retrieval inside MCP agents.
retrieval-lens is an MCP server that logs every retrieval step your RAG agent makes — what chunks were retrieved, their scores, sources, and rankings — so you can audit, replay, and diff retrieval runs after the fact.
When a RAG agent gives a wrong answer, you need to know: did retrieval fail, or did generation fail? Right now there's no easy way to answer that. Your observability tool shows you the LLM call. It doesn't show you which chunks the model saw before it answered, what scores they had, or how retrieval changed between yesterday and today.
retrieval-lens fixes that. Every retrieval run is logged. Nothing is hidden.
When your RAG agent gives a wrong answer, ask retrieval-lens what it saw:
See docs/demo-diff.png for real output from Claude Code.
| Tool | What it does |
|---|---|
retrieval_observe | Log a retrieval run — query, chunks, scores, sources, rankings |
retrieval_query | Replay what the model saw before a specific answer |
retrieval_diff | Compare two retrieval runs — what changed, what score drifted |
retrieval_stats | Aggregate score distributions, top sources, runs over time |
Run retrieval-lens directly with npx:
Add retrieval-lens to Claude Code with one command:
Then call retrieval_observe after every retrieval step in your RAG pipeline:
See examples/langchain-adapter.ts
See examples/llamaindex-adapter.ts
Those are full observability platforms. retrieval-lens is surgical:
🚧 Active development. Harness-first build using harness engineering principles.
MIT