{
  "markdown": "# @retrograde-labs/lune-mcp-server\n\n<!-- mcp-name: com.luneresearch/lune -->\n\nOfficial Model Context Protocol server for [Lune Research](https://luneresearch.com).\n\nExposes 12 tools and 6 guided research workflows (prompts) for searching, retrieving, comparing, and fact-checking academic papers across security, ML, NLP, CV, and systems venues, plus retrieval over your own uploaded workspace documents. Two transports:\n\n- **stdio**: run locally via `npx @retrograde-labs/lune-mcp-server`. Reads `LUNE_API_KEY` from the environment.\n- **Streamable HTTP**: hosted at `https://mcp.luneresearch.com`. Pass your PAT or OAuth token as `Authorization: Bearer ...`.\n\n## Quick start (Claude Desktop, Cursor, etc.)\n\n```json\n{\n  \"mcpServers\": {\n    \"lune-research\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@retrograde-labs/lune-mcp-server\"],\n      \"env\": {\n        \"LUNE_API_KEY\": \"lune_your_personal_access_token\"\n      }\n    }\n  }\n}\n```\n\nGet your token at https://luneresearch.com/dashboard/settings/credentials.\n\n## Tools\n\n| Tool                        | Description                                                     |\n| --------------------------- | --------------------------------------------------------------- |\n| `search_papers`             | Hybrid vector + BM25 search across the corpus                   |\n| `search_papers_many`        | Run many query variants in one call, RRF-merged                 |\n| `search_related_papers`     | Semantically nearest papers to a given paper                    |\n| `get_paper_fulltext`        | Parsed full text (markdown or JSON)                             |\n| `get_paper_citations`       | Citation graph (cited_by or cites)                              |\n| `list_conferences`          | Indexed venues, optionally by category                          |\n| `get_conference_papers`     | Paginated papers for a venue                                    |\n| `extract_from_papers`       | Structured field extraction across many papers                  |\n| `verify_claims`             | Fact-check claims against the corpus with quotes                |\n| `gather_evidence`           | Judge evidence sufficiency for a task, with gaps + next queries |\n| `search_research_guidance`  | Curated reproducibility / methodology corpus                    |\n| `get_research_guidance_doc` | Full text of a guidance document                                |\n\n## Prompts\n\nReusable research workflows, surfaced by MCP clients as slash commands (e.g. `/literature_review`). Each runs a guided, multi-tool sequence grounded in the corpus, so common research tasks are one command instead of hand-orchestrating the tools.\n\n| Prompt                  | What it does                                                                                    | Key arguments                               |\n| ----------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------- |\n| `/literature_review`    | Survey a topic and synthesise themes, foundational vs recent work, and open gaps                | `topic` (+ optional `venues`, `since_year`) |\n| `/find_related_work`    | From your abstract, find and organise prior work to cite and distinguish your contribution from | `abstract` (+ optional `venues`)            |\n| `/compare_papers`       | Build a structured comparison table across papers, read from full text                          | `topic` (+ optional `columns`)              |\n| `/verify_draft`         | Fact-check a draft or list of claims against the corpus, with a verbatim quote per claim        | `draft`                                     |\n| `/trace_citations`      | Trace a paper's lineage: its foundations, what built on it, and adjacent work                   | `paper`                                     |\n| `/research_methodology` | Grounded advice on experiment design, ablations, evaluation, rebuttals, or venue choice         | `question`                                  |\n\n## Debugging with MCP Inspector\n\nThe repository pins MCP Inspector 2.3.0 and checks in a read-only server\nconfiguration for both protocol eras. Node 24 from `.nvmrc` satisfies the\nInspector requirement.\n\nWith a PAT in `LUNE_API_KEY`, this builds the stdio server and opens the\nInspector catalog with the PAT available to local processes. Select\n`lune-stdio-modern` to exercise 2026-07-28:\n\n```bash\nexport LUNE_API_KEY=lune_xxxxxxxxxxxxxxxxxxxxxxxx\nbun run mcp:inspect\n```\n\nWith no `LUNE_API_KEY`, the same command opens the server catalog without an\nenvironment override. Select `lune-remote-modern`; Inspector starts OAuth when\nyou connect. The launcher never passes an empty `-e` assignment.\n\nThe printed URL contains a one-time Inspector token. Open that URL instead of\ntyping the port manually. The Inspector stays on loopback with authentication\nenabled.\n\nThe hosted-server mnemonic opens the same catalog without building stdio:\n\n```bash\nbun run mcp:inspect:remote\n```\n\nThe web, CLI, and TUI clients share OAuth state on disk. After signing in once,\nthe CLI can check the hosted server without opening another browser:\n\n```bash\nbun run mcp:inspect:remote:check\n```\n\nThe local stdio checks use a non-production test token and a deliberately dead\nAPI URL. They validate connection, version negotiation, and the tool catalog\nwithout consuming quota:\n\n```bash\nbun run mcp:inspect:check\nbun run mcp:inspect:check:legacy\nbun run mcp:inspect:tui\n```\n\nThe local and remote configs at `apps/mcp/inspector.*.config.json` pin\n`protocolEra` explicitly. Inspector defaults to the legacy era, so an\nunconfigured launch does not prove 2026-07-28 behavior. During debugging, pin\nProtocol beside Console for stdio or Network for HTTP. Test invalid tool\narguments, missing prompt arguments, both protocol eras, and expired OAuth\ntokens as well as successful calls.\n\nRun the frozen official 2026-07-28 server requirements with:\n\n```bash\nbun run mcp:conformance\n```\n\nThe conformance harness binds only `127.0.0.1` and injects a local test token.\nIts baseline names individual checks for diagnostic capabilities Lune does not\nadvertise, such as image tools and readable resources. Every applicable check\nstill gates the run, and a stale baseline entry fails when support is added.\nNever write diagnostics to stdout on stdio. The server and its cache write\ndiagnostics to stderr so JSON-RPC framing stays intact.\n\n## License\n\nMIT\n",
  "bytes": 6448,
  "sha": "d03efae30c0d648d1365e1fbb40a5925c3726f723040f63be4d2bdf32dd92cfa",
  "repo_slug": "retrogradelabs/lune-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_luneresearch_lune_273a1714/readme"
}