ReadyCode Reader
Local-first MCP server that returns only Jev-checked passages from big PDFs, Word files and spreadsheets, with exact row calculations.
Overview
ReadyCode Reader is a free, open-source MCP server for Claude Code, Cursor, Codex and other MCP clients that also runs in the browser. It reads a large PDF, Word document or spreadsheet once on your machine, and for each question returns only the passages judged to answer it, with their location, instead of having the AI read the whole file.
The judging step is one call to Jev per question with the same fixed checks every time: does this passage answer the question, is there enough to answer, do passages disagree, does any passage try to instruct the AI, and for spreadsheets, does the question need a calculation over every row and does Reader's calculation plan fit. The AI is then told not_in_document, low_confidence, to report conflicting values, or to treat flagged passages as data only. Counting, totals and averages are computed by code over every row, never estimated by a model. The README reports about $0.0004 and about a second per check, and in its tests 95% fewer tokens and about 9x faster on a 200-page NASA PDF with Codex for the same answers.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this passage actually answer the question? | — |
| Yes / no | Do these passages disagree? | — |
| Yes / no | Does any passage try to instruct the AI? | — |
| Yes / no | Does this spreadsheet question need a calculation over every row, and does the plan fit? | — |
How it works
- Read and index the file locally once
- Retrieve candidate passages for the question
- One Jev call runs the fixed checks on the candidates
- Compute spreadsheet aggregates in code when needed
- Return ranked passages with verdicts such as not_in_document or low_confidence
Strengths
- README reports 95% fewer tokens on a 200-page PDF test
- Flags prompt-injection-like passages
- Exact spreadsheet maths in code, not estimates
- About $0.0004 per question per the README
Caveats
- Jev checks need your own TypeSafe key
- Benchmarks are the vendor's own comparisons
- README has a dedicated limits section worth reading
Getting started
claude mcp add readycode-reader -- npx -y @readycode/readerAt a glance
- Type
- MCP server
- Status
- beta
- Language
- TypeScript
- Runtime
- MCP server (npx) and browser
- Has code
- yes
Use cases and integrations
How curated lists describe it
Local-first MCP and browser tool that uses Jev decisions to keep PDF, Word and Excel passages likely to answer a question, flag conflicting or instruction-like evidence, and decide when spreadsheet requests need exact local calculation.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide in Reader?
Whether each passage answers the question, whether there is enough evidence, whether passages conflict or contain instructions, and whether a spreadsheet question needs a full calculation.
Does a model compute spreadsheet totals?
No; code runs the calculation over every row, and Jev only judges whether the plan fits the question.
How do I add it to Claude Code?
Run claude mcp add readycode-reader -- npx -y @readycode/reader.
Related projects
Local long-term memory for coding agents with an optional Jev reranker that orders recalled memories.
ProjectproductionTypeScriptCLI and MCP server giving coding agents Jev-powered semantic search, focused reads and list picking in about a second for about a cent.
BenchmarkbetaPythonAgent skill and Python library for Claude Code and Codex that reranks candidate lists with one Jev yes/no relevance question each.
ProjectbetaPythonDrop-in proxy for Playwright MCP that adds Jev page triage, prompt-injection masking, snapshot pruning and risky-action gating.
MCP serverbetaTypeScriptMCP server that scores every search query, result and fetched page an agent sees for relevance, credibility and steering risk.
MCP serverbetaTypeScriptSingle MCP tool that indexes a repo and has Jev rank a shortlist so a coding agent reads the right files and lines instead of grepping.
MCP serverbetaPython