
Lune Research
Connects Claude to Lune Research's academic paper database through 12 tools covering search, retrieval, and subscriptions. You can run hybrid vector and BM25 searches across security, ML, NLP, CV, and systems venues, pull full paper text as markdown or JSON, walk citation graphs, and subscribe to conference updates. Works over stdio locally with an API key from your environment, or hit their hosted endpoint at mcp.luneresearch.com with a bearer token. Reach for this when you need your agent to literature review, track new papers in specific venues, or pull methodology guidance from their curated reproducibility corpus.
- GitHub stars
- 4
- tools
- 13
- auth
- Secret needed
- transport
- STDIO, HTTP
- env var
- 1
- last updated
- Nov 5, 2026
Install
From registry metadata$ npx add-mcp https://mcp.luneresearch.com --name lune --header 'Authorization: Bearer ${API_TOKEN}'Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http lune https://mcp.luneresearch.com --header 'Authorization: YOUR_AUTHORIZATION'Run in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 13 toolsVerified live against the running server on Nov 6, 2026.
search_papersSearches full-text, peer-reviewed papers from top-tier venues. Use for questions about academic papers, research topics, literature reviews, surveys, “what's been published on X”, named methods, or any claim that should be backed by a peer-reviewed citation. Returns each paper...10 params
Searches full-text, peer-reviewed papers from top-tier venues. Use for questions about academic papers, research topics, literature reviews, surveys, “what's been published on X”, named methods, or any claim that should be backed by a peer-reviewed citation. Returns each paper...
conferencestringdetailbooleanlimitintegeroffsetintegerquery*stringsort_bystringrelevance · date · citationsdefault: relevancevenuesarrayyearintegeryear_maxintegeryear_minintegersearch_papers_manyUse for a LITERATURE SWEEP or survey: a research question broad enough to need several angles, e.g. "what's been done on X", a related-work section, or a state-of-the-field summary. One call returns one merged, ranked list of the papers the angles found, with the passages that...8 params
Use for a LITERATURE SWEEP or survey: a research question broad enough to need several angles, e.g. "what's been done on X", a related-work section, or a state-of-the-field summary. One call returns one merged, ranked list of the papers the angles found, with the passages that...
conferencestringdetail*booleanlimit*integerqueries*arrayvenuesarrayyearintegeryear_maxintegeryear_minintegerget_paper_fulltextUse this when the user asks “what does the methods/results section say”, wants to quote a specific section, or when the abstract isn't enough to verify a claim. Heavy: only call once a paper looks relevant from `search_papers`, `search_related_papers`, or `get_paper_citations`...3 params
Use this when the user asks “what does the methods/results section say”, wants to quote a specific section, or when the abstract isn't enough to verify a claim. Heavy: only call once a paper looks relevant from `search_papers`, `search_related_papers`, or `get_paper_citations`...
formatstringmarkdown · jsondefault: markdownpaper_id*stringsectionsarrayget_paper_citationsUse this when the user asks “what does this paper build on”, “what built on this”, traces influence chains, asks for follow-up work, or wants the lineage of an idea. `direction=cited_by` returns indexed papers that cite this one; `direction=cites` returns this paper's parsed r...4 params
Use this when the user asks “what does this paper build on”, “what built on this”, traces influence chains, asks for follow-up work, or wants the lineage of an idea. `direction=cited_by` returns indexed papers that cite this one; `direction=cites` returns this paper's parsed r...
directionstringcited_by · citesdefault: cited_bylimitintegeroffsetintegerpaper_id*stringlist_conferencesUse this when the user asks “what conferences does Lune track”, “is venue X covered”, or wants a category-level browse (e.g. AI/ML, security, databases, software/systems). Pass `category` as a keyword (`ai`, `security`, ...) to narrow; it matches the conference's research area.1 params
Use this when the user asks “what conferences does Lune track”, “is venue X covered”, or wants a category-level browse (e.g. AI/ML, security, databases, software/systems). Pass `category` as a keyword (`ai`, `security`, ...) to narrow; it matches the conference's research area.
categorystringget_conference_papersUse this when the user asks for papers from a specific conference (optionally a year), e.g. “most-cited NeurIPS 2024 papers”, “show me CCS 2025 accepted papers”, or “what's new in security at IEEE S&P this year”. `sort` is `recency` (newest first, default) or `citations` (most...5 params
Use this when the user asks for papers from a specific conference (optionally a year), e.g. “most-cited NeurIPS 2024 papers”, “show me CCS 2025 accepted papers”, or “what's new in security at IEEE S&P this year”. `sort` is `recency` (newest first, default) or `citations` (most...
conference*stringlimitintegeroffsetintegersortstringrecency · citationsdefault: recencyyearintegersearch_related_papersGiven a paper_id, return the most semantically similar papers by embedding distance, NOT by citation links. Use for “more papers like this one” / “adjacent work on the same topic”. For papers this one cites or that cite it, use `get_paper_citations` instead. Each hit carries m...2 params
Given a paper_id, return the most semantically similar papers by embedding distance, NOT by citation links. Use for “more papers like this one” / “adjacent work on the same topic”. For papers this one cites or that cite it, use `get_paper_citations` instead. Each hit carries m...
limitintegerpaper_id*stringextract_from_papersPull a structured table out of up to 50 papers in ONE call: you define the columns (`fields`: each a snake_case `name`, a `type`, and an optional `description`) and an `instruction`, and the server reads each paper's full text and returns one typed row per paper. Use this when...4 params
Pull a structured table out of up to 50 papers in ONE call: you define the columns (`fields`: each a snake_case `name`, a `type`, and an optional `description`) and an `instruction`, and the server reads each paper's full text and returns one typed row per paper. Use this when...
fields*arrayinstruction*stringpaper_ids*arraysectionsarrayverify_claimsFact-check 1 to 25 natural-language claims against Lune's peer-reviewed corpus in ONE call. For each claim the server retrieves the most relevant passages and an LLM judges the claim ONLY against those passages (never outside knowledge), returning one verdict per claim: `suppo...7 params
Fact-check 1 to 25 natural-language claims against Lune's peer-reviewed corpus in ONE call. For each claim the server retrieves the most relevant passages and an LLM judges the claim ONLY against those passages (never outside knowledge), returning one verdict per claim: `suppo...
claims*arrayconferencestringcontextstringvenuesarrayyearintegeryear_maxintegeryear_minintegergather_evidenceUse for a multi-part research task when you need to know whether your gathered evidence is SUFFICIENT, what is still MISSING, and what to search next, without the tool writing the answer. Pass the goal in `task` and your first search angles in `queries`; the server runs one co...11 params
Use for a multi-part research task when you need to know whether your gathered evidence is SUFFICIENT, what is still MISSING, and what to search next, without the tool writing the answer. Pass the goal in `task` and your first search angles in `queries`; the server runs one co...
conferencestringdraftstringmax_iterations*integermax_total_queriesintegerqueries*arrayrequirementsarraytask*stringvenuesarrayyearintegeryear_maxintegeryear_minintegersearch_research_guidanceUse before recommending experimental design, ablation strategy, evaluation metrics, baselines, reproducibility, paper structure, related-work organisation, venue choice, response-to-reviewers, scientific writing, or methodology in general. Searches the Lune guidance corpus, cu...2 params
Use before recommending experimental design, ablation strategy, evaluation metrics, baselines, reproducibility, paper structure, related-work organisation, venue choice, response-to-reviewers, scientific writing, or methodology in general. Searches the Lune guidance corpus, cu...
limitintegerquery*stringget_research_guidance_docUse this AFTER `search_research_guidance` when you need the full text of a guidance document (not just the matched excerpt), for example to quote a passage or follow a checklist end-to-end. Pass the `doc_id` from a search hit.1 params
Use this AFTER `search_research_guidance` when you need the full text of a guidance document (not just the matched excerpt), for example to quote a passage or follow a checklist end-to-end. Pass the `doc_id` from a search hit.
doc_id*stringsend_feedbackSends the user's feedback about Lune to the Lune team. Use it when the user says something about Lune itself (papers it missed, results that did not fit, an error, something that helped, an idea): offer to pass it on, show the user the message you would send, and call this onl...3 params
Sends the user's feedback about Lune to the Lune team. Use it when the user says something about Lune itself (papers it missed, results that did not fit, an error, something that helped, an idea): offer to pass it on, show the user the message you would send, and call this onl...
allow_trainingbooleancategory*stringmissing_papers · irrelevant_results · helpful · issue · idea · othermessage*stringSponsors
Configuration
LUNE_API_KEY*secretLune access key (lune_...). Create one at https://luneresearch.com/dashboard/settings/credentials.
Readme
@retrograde-labs/lune-mcp-server
The official Lune Research MCP server. It lets an AI agent search the full text of papers from top-tier venues, follow citations, and look up curated research-methodology guidance, so its answers can cite each paper by title, authors and venue.
Install
Hosted (recommended). Add this URL to any client that speaks Streamable HTTP:
https://mcp.luneresearch.com
A client that supports MCP authorization signs you in through the browser, so there is no token to paste or rotate. In Claude Code:
claude mcp add --transport http --scope user lune https://mcp.luneresearch.com
Then run /mcp inside Claude Code, choose lune, and sign in through the
browser tab that opens.
Details
- Repository
- github.com/retrogradelabs/lune-mcp-server
- Website
- luneresearch.com
- Categories
- AI & LLM Tools, Search & Web Crawling
- Package
@retrograde-labs/lune-mcp-server- Transport
- STDIO, HTTP
- Auth
- Required
- Registry
- MCP registry, active
- Prompts
- 6
- Tools verified
- Nov 6, 2026