
Lodestone: Research Retrieval for Claude Code

Blog post:
lodestone is a single-file SQLite database and MCP server that ingests and retrieves over arXiv research papers, code repos, and blog posts. It's intended to be utilized by the agentic search mechanisms of coding agents like Claude Code and others to ground plans and implementations in the latest state-of-the-art research. It is best used when paired with a Claude Code plugin called /deep-sota (deep state of the art) — a sibling plugin to the Deep Trilogy.
Where the Deep Trilogy is built for writing software, lodestone is built for grounding it: the assistant can cite a section, view an inline figure, or peek at the original training code instead of hallucinating.
Recommended pairing: install /deep-sota alongside lodestone and drive the corpus through it. /deep-sota is the intended front-end — pass it a URL to ingest, or a research question to investigate, and it orchestrates the 21 MCP tools below with coverage checks, citation traversal, figure inlining, and code-repo reads. You can call lodestone's tools directly from any MCP client (Claude Code, Claude Desktop, Cursor, Cline, Zed — and the rest of this README documents how), but /deep-sota is what the system was designed around.
TL;DR
Requires uv on PATH.
/plugin marketplace add piercelamb/lodestone
/plugin install lodestone
/plugin install deep-sota
/reload-plugins
/lodestone:doctor # picks LLM provider/model + downloads HF models (~400 MB) — give it a few minutes
/mcp -> find lodestone -> enable or reconnect
Then fully quit and relaunch Claude Code (not /reload-plugins) — once. Done.
Optional — pre-seed the taxonomy (domains and collections) before your first ingest. Either use my taxonomy or write your own in the same shape, then point Claude at seed_taxonomy.py. Skip seeding entirely and the classify step grows the taxonomy from scratch as you ingest — both paths are fully supported. See Seeding the Taxonomy.
Now add artifacts to your corpus — /deep-sota accepts arXiv, code repo, and blog post URLs:
/deep-sota https://arxiv.org/abs/2305.10601 # arXiv paper
/deep-sota https://github.com/owner/repo # code repo
/deep-sota https://lilianweng.github.io/posts/2023-06-23-agent/ # blog post
Once the corpus has a few papers, ask research questions:
/deep-sota "long-context retrieval"
/deep-sota "what's the SOTA on agentic web search?"
/deep-sota "what's the SOTA on RAG with KV-cache offloading?"
Why this sequence: /lodestone:doctor is the required first-run setup. It runs the one-time uv sync (~30–90s) so the venv is populated before you restart, walks you through the LLM provider + model picker (writing ~/.config/lodestone/config.toml), and downloads the two CPU-only HuggingFace models (bge-small-en-v1.5 embeddings + gliner2-large-v1 entity extraction, ~400 MB total) in the background while you answer the picker. After doctor finishes, the next launch finds a populated venv on the first MCP-server attempt, config in place, and models cached — mcp__lodestone__* tools register immediately and your first ingest can start straight away. Skip doctor and three things break: (a) the MCP server hits an empty venv on launch and exits 1, requiring a second restart since Claude Code doesn't retry mid-session; (b) /deep-sota refuses to ingest because config.toml isn't there and tells you to run doctor anyway; (c) the first ingest would have to download the ~400 MB of HF models itself. Subsequent sessions skip the prewarm entirely (it's hash-gated against pyproject.toml + uv.lock).
Hand /deep-sota an arXiv / GitHub / blog URL to ingest, or a research question to investigate — it picks the right tools (search, read, figures, citations, code repos) and surfaces coverage gaps honestly instead of hallucinating.
Prefer to drive the tools yourself? Call mcp__lodestone__ingest_paper with an arXiv URL to seed your corpus, and mcp__lodestone__search / read / figure to query it directly.
Table of Contents