Context7
Up-to-date docs for AI agents
Descripción del creador (original en inglés)
Search peer-reviewed papers and research methodology guidance from your AI agent.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
LUNE_API_KEY, AuthorizationLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"lune": {
"command": "npx",
"args": [
"-y",
"@retrograde-labs/lune-mcp-server"
],
"env": {
"LUNE_API_KEY": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add --transport http lune https://mcp.luneresearch.com --header 'Authorization: Bearer {api_key}'claude mcp add lune --env LUNE_API_KEY=your-value -- npx -y @retrograde-labs/lune-mcp-serverCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"lune": {
"url": "https://mcp.luneresearch.com",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"lune": {
"command": "npx",
"args": [
"-y",
"@retrograde-labs/lune-mcp-server"
],
"env": {
"LUNE_API_KEY": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"lune": {
"type": "http",
"url": "https://mcp.luneresearch.com",
"headers": {
"Authorization": "Bearer {api_key}"
}
}
}
}Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"lune": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@retrograde-labs/lune-mcp-server"
],
"env": {
"LUNE_API_KEY": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Esta dirección necesita una clave en un header de la solicitud, y el menú para agregar conectores no puede ponerla. Usa Claude Code, Cursor o VS Code.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Authorization secreto HTTP headerEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Nombres y descripciones de las herramientas tal como los informó el servidor el 6 nov 2026. Los escribió el creador, no nosotros; los mostramos como texto sin formato.
search_papers Parece una instrucción para la IASearches 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's
search_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 ma
get_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`. `
get_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 refe
list_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.
get_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-ci
search_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 meta
extract_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 yo
verify_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: `supporte
gather_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 corpu
search_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, curat
get_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.
send_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 only a
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
Quien lo publicó (luneresearch.com) no es el dueño del repo (RetrogradeLabs); puede que otra persona lo haya listado
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Respondió en 717 ms (HTTP 200)
No hace falta iniciar sesión
1 descripciones de herramientas contienen texto que parece dar instrucciones a la IA. Léelas abajo antes de instalar
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: LUNE_API_KEY, Authorization
Funciona de las dos formas: instálalo en tu computadora o conéctate a la versión en la nube.
El repo de GitHub cambió por última vez –, y la última versión (3.0.1) llegó al registro anteayer.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. Se conecta por URL, así que también funcionan las apps que aceptan servidores MCP remotos, como ChatGPT en modo desarrollador.
En la misma categoría: Context7, Codebase Memory, Exa
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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.
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.
A client without OAuth support sends a Lune access key in the Authorization header instead. Create one on the Credentials page: open API keys and click New key. This request lists the tools, which makes it a quick way to check a key. It reads the key from LUNE_API_KEY, set from your password manager or a file only you can read:
printf 'Authorization: Bearer %s\n' "$LUNE_API_KEY" |
curl https://mcp.luneresearch.com \ -H @- \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
The key reaches curl on its input, so it stays out of your shell history and the process list.
Setup notes for specific apps are in the docs: web AI apps such as ChatGPT, Claude and Perplexity, and local AI agents such as Cursor, VS Code and Codex.
Local stdio. For clients that only speak stdio, run the package directly and hand it an access key. It needs Node.js 22 or newer:
{
"mcpServers": { "lune": { "command": "npx", "args": ["-y", "@retrograde-labs/lune-mcp-server"], "env": { "LUNE_API_KEY": "lune_your_access_key" } } } }
The server reads LUNE_API_KEY from the environment and writes diagnostics to stderr, never stdout, so JSON-RPC framing stays intact.
Thirteen tools. Most follow a prefix: search_* finds candidates, get_* retrieves something you already have a handle on, and list_* browses. The hosted endpoint also offers request_capability, once Lune has confirmed the user has not opted out of its analytics: an agent calls it to tell Lune about a capability it needed and could not find, and its reply says whether Lune accepted the request. The stdio package does not include it.
Finding papers
| Tool | What it does |
|---|---|
search_papers | Hybrid vector + BM25 search over the corpus |
search_papers_many | Many query variants in one call, merged by reciprocal rank fusion |
search_related_papers | The nearest neighbors of a paper you already have |
list_conferences | Indexed venues, optionally filtered by category |
get_conference_papers | One venue's papers, paginated |
Reading them
| Tool | What it does |
|---|---|
get_paper_fulltext | Parsed full text, as markdown or JSON |
get_paper_citations | The citation graph, in either direction |
Working across many at once
| Tool | What it does |
|---|---|
extract_from_papers | Pull the same structured fields out of a set of papers |
verify_claims | Check each claim against the corpus, with a verbatim quote when one exists |
gather_evidence | Judge whether the evidence is sufficient yet, and name what is missing |
Research methodology
| Tool | What it does |
|---|---|
search_research_guidance | The curated methodology and reproducibility corpus |
get_research_guidance_doc | The full text of one guidance document |
Feedback
| Tool | What it does |
|---|---|
send_feedback | Passes the user's feedback about Lune to the team, once the user agrees |
Six prompts, which many MCP clients list as slash commands. Each one hands the agent a brief for a common research task and names the tools to call, so the task takes one command instead of a plan you have to spell out.
| Prompt | What it does | Arguments |
|---|---|---|
/literature_review | Survey a topic: the main themes, foundational and recent work, and open gaps | topic (+ venues, since_year) |
/find_related_work | Read your abstract, then find the prior work to cite and distinguish yourself from | abstract (+ venues) |
/compare_papers | Build a comparison table across papers, read out of their full text | topic (+ columns) |
/verify_draft | Check each claim in a draft, with a verbatim quote when one exists | draft |
/trace_citations | Trace a paper's lineage: what it stands on, what stands on it | paper |
/research_methodology | Grounded advice on experiment design, ablations, evaluation, rebuttals, venues | question |
The hosted endpoint answers discovery (initialize, tools/list, prompts/list and resources/list) without a credential, so an agent can see the tools before anyone signs in. Running a tool takes one credential, as Authorization: Bearer . The stdio package reads an access key from LUNE_API_KEY instead. The credential is one of these:
lune_...), created on the Credentials page under API keys. Works on both transports.An OAuth connection always bills the signed-in person's personal team, drawing on its plan, daily allowance and credits. An access key bills the team it was created in, so a key is how a shared team's plan pays for an agent. How requests are counted is in quotas and billing.
Most MCP clients run this flow on their own. If you are building a connector, the details follow. auth.md walks through each request with curl.
A tool call without a credential answers 401 with this challenge:
WWW-Authenticate: Bearer resource_metadata="https://mcp.luneresearch.com/.well-known/oauth-protected-resource", scope="papers:read guidance:read account:read"
The protected-resource document it points to names the authorization server in authorization_servers[0]. That server is https://api.luneresearch.com, the authorization server for MCP connectors. It publishes RFC 8414 metadata at https://api.luneresearch.com/.well-known/oauth-authorization-server and has no OpenID Connect discovery document.
| Endpoint | URL |
|---|---|
| Issuer | https://api.luneresearch.com |
| Authorization | https://api.luneresearch.com/oauth/authorize |
| Token | https://api.luneresearch.com/oauth/token |
| Client registration (RFC 7591) | https://api.luneresearch.com/oauth/register |
| Revocation (RFC 7009) | https://api.luneresearch.com/oauth/revoke |
| JWKS | https://api.luneresearch.com/.well-known/jwks.json |
| Authorization server metadata | https://api.luneresearch.com/.well-known/oauth-authorization-server |
| Protected resource metadata | https://mcp.luneresearch.com/.well-known/oauth-protected-resource |
The flow:
client_id; there are no pre-registered client IDs. Clients are public, so there is no secret and the token endpoint auth method is none. A platform that cannot register on the fly can do it once by hand and keep the client_id: curl -X POST https://api.luneresearch.com/oauth/register \
-H "Content-Type: application/json" \ -d '{"client_name": "My connector", "redirect_uris": ["https://example.com/oauth/callback"]}'
response_type=code, client_id, redirect_uri, scope, state, code_challenge, code_challenge_method=S256 and resource. PKCE with S256 is required, and so are state and scope.redirect_uri with code, state and iss=https://api.luneresearch.com (RFC 9207). Check that state is the one you sent and that iss equals the issuer. If the person declines, the redirect carries error=access_denied with the same state and iss.grant_type=authorization_code, code, redirect_uri, client_id, code_verifier and resource to the token endpoint as application/x-www-form-urlencoded.Authorization: Bearer . Once the token expires the server answers 401 with error="invalid_token". To refresh, POST grant_type=refresh_token and refresh_token to the token endpoint.Requirements and limits:
papers:read guidance:read account:read, the scopes the protected-resource document lists. Together they cover every tool.resource=https://mcp.luneresearch.com on both the authorization request and the token request. Without it the access token is bound to your client_id instead of the server, and requests on protocol version 2026-07-28 fail with 401 invalid_token, which the person sees as a sign-in loop. Older protocol versions still accept such a token, but only for a transition period.https, http on 127.0.0.1, [::1] or localhost, or a private-use scheme such as cursor://, and must not contain a fragment. The authorization request must repeat a registered URI exactly, port included.expires_in: 3600).Solo se muestra el principio; lee el resto en el repo