关于 Lune
Lune 是面向 AI Agent 的研究检索 MCP 服务,适用于文献调研与研究方法查询。它结合论文全文搜索、引文追踪和精选方法指导,并提供主张核验与证据收集工具。
主要功能
- 01搜索论文全文
- 02追踪引文与相关研究
- 03查询研究方法指导
- 04核验主张并收集证据
- 05跨论文提取结构化信息
适用场景
- 01调研某主题的既有研究
- 02依据论文核验草稿主张
- 03比较论文并追踪引文
MCP 相关
向 MCP 客户端提供论文搜索、全文获取、引文、证据和方法指导工具及提示词。支持托管 Streamable HTTP 和本地 stdio 程序包。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.luneresearch.comclaude mcp add --transport http lune https://mcp.luneresearch.com{"mcpServers":{"lune":{"type":"http","url":"https://mcp.luneresearch.com"}}}在 Cursor 中打开{"servers":{"lune":{"type":"http","url":"https://mcp.luneresearch.com"}}}在 VS Code 中打开{"mcpServers":{"lune":{"type":"http","url":"https://mcp.luneresearch.com"}}}{"mcpServers":{"lune":{"serverUrl":"https://mcp.luneresearch.com"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.luneresearch.com需要授权工具
详细介绍
@retrograde-labs/lune-mcp-server
Lune Research 官方 MCP 服务。它让 AI Agent 搜索顶级会议论文的全文、追踪引用,并查找精选的研究方法指导,因此回答可以引用 论文的标题、作者和会议,而不必依赖记忆。
安装
托管版(推荐)。 将此 URL 添加到任何支持 Streamable HTTP 的客户端:
https://mcp.luneresearch.com
支持 MCP 授权的客户端会通过浏览器为你登录,因此无需粘贴或轮换令牌。在 Claude Code 中:
claude mcp add --transport http --scope user lune https://mcp.luneresearch.com
然后在 Claude Code 中运行 /mcp,选择 lune,并在打开的浏览器标签页中登录。
不支持 OAuth 的客户端则会在 Authorization
标头中发送 Lune 访问密钥。请在
凭据页面上创建密钥:
打开 API keys,然后点击 New key。此请求会列出工具,便于快速检查密钥。它会从 LUNE_API_KEY 读取密钥;请从
密码管理器或只有你能读取的文件中设置该变量:
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"}'
密钥通过标准输入传给 curl,因此不会出现在 shell 历史记录或进程列表中。
特定应用的设置说明见文档: Web AI 应用,例如 ChatGPT、Claude 和 Perplexity,以及本地 AI Agent,例如 Cursor、VS Code 和 Codex。
本地 stdio。 对于只支持 stdio 的客户端,请直接运行软件包 并提供访问密钥。需要 Node.js 22 或更高版本:
{
"mcpServers": {
"lune": {
"command": "npx",
"args": ["-y", "@retrograde-labs/lune-mcp-server"],
"env": { "LUNE_API_KEY": "lune_your_access_key" }
}
}
}
服务会从环境变量中读取 LUNE_API_KEY,并将诊断信息写入
stderr(绝不会写入 stdout),以保持 JSON-RPC 帧格式完整。
工具
共 12 个工具。大多数遵循以下前缀:search_*
用于查找候选项,get_*
用于获取已有句柄指向的内容,list_* 用于浏览。托管端点还提供 get_more_tools,Agent 可以调用它,告知 Lune 自己需要但未找到的功能。
stdio 软件包不包含此工具。
查找论文
| 工具 | 功能 |
|---|---|
search_papers | 在语料库中进行向量与 BM25 混合搜索 |
search_papers_many | 一次调用搜索多个查询变体,并通过倒数排名融合合并结果 |
search_related_papers | 查找与已有论文最接近的邻近论文 |
list_conferences | 列出已索引的会议,可按类别筛选 |
get_conference_papers | 分页获取某个会议的论文 |
阅读论文
| 工具 | 功能 |
|---|---|
get_paper_fulltext | 解析后的全文,可采用 Markdown 或 JSON 格式 |
get_paper_citations | 双向查看引用关系图 |
同时处理多篇论文
| 工具 | 功能 |
|---|---|
extract_from_papers | 从一组论文中提取相同的结构化字段 |
verify_claims | 根据语料库检查每项论断,并在有原文时提供逐字引文 |
gather_evidence | 判断现有证据是否充分,并指出缺少的内容 |
研究方法
| 工具 | 功能 |
|---|---|
search_research_guidance | 精选的研究方法与可复现性语料库 |
get_research_guidance_doc | 一份指导文档的全文 |
提示词
六个提示词,许多 MCP 客户端会将其列为斜杠命令。每个提示词都会为 Agent 提供一项常见研究任务的简要说明,并指定要调用的工具,让你只需输入一个命令即可完成任务,而不必逐项说明计划。
| 提示词 | 功能 | 参数 |
|---|---|---|
/literature_review | 调研某个主题:主要脉络、奠基性及近期研究,以及尚待解决的问题 | topic(可选:venues、since_year) |
/find_related_work | 阅读你的摘要,然后查找需要引用的已有研究,并说明你的工作与之有何不同 | abstract(可选:venues) |
/compare_papers | 根据论文全文内容,构建论文对比表 | topic(可选:columns) |
/verify_draft | 核查草稿中的每项论断,并在存在原文时附上逐字引文 | draft |
/trace_citations | 追溯一篇论文的脉络:它基于哪些研究,又有哪些研究以它为基础 | paper |
/research_methodology | 针对实验设计、消融研究、评估、答辩和投稿场所提供有依据的建议 | question |
身份验证
托管端点会在每次请求中接收一个凭证,格式为 Authorization: Bearer <credential>。stdio 程序包则从 LUNE_API_KEY 读取访问密钥。凭证可以是以下任意一种:
- OAuth 访问令牌,MCP 客户端通过浏览器登录来获取。仅适用于托管端点。
- Lune 访问密钥(
lune_...),可在 凭证页面 的 API keys 下创建。两种传输方式均可使用。
OAuth 连接始终将费用计入已登录用户的个人团队,并使用该团队的套餐、每日额度和余额。访问密钥则将费用计入创建该密钥的团队,因此共享团队可以通过密钥使用团队套餐为 Agent 付费。请求计数方式请参阅 配额与账单。
面向连接器构建者的 OAuth
大多数 MCP 客户端会自行运行此流程。如果你正在构建连接器,以下是具体细节。auth.md 使用 curl 逐步介绍了每项请求。
未经身份验证的 POST https://mcp.luneresearch.com 会返回 401,并附上以下质询:
WWW-Authenticate: Bearer resource_metadata="https://mcp.luneresearch.com/.well-known/oauth-protected-resource", scope="papers:read guidance:read account:read"
它所指向的受保护资源文档会在 authorization_servers[0] 中列出授权服务器。该服务器为 https://api.luneresearch.com,是 MCP 连接器的授权服务器。它会在 https://api.luneresearch.com/.well-known/oauth-authorization-server 发布 RFC 8414 元数据,并且没有 OpenID Connect 发现文档。
| 端点 | URL |
|---|---|
| 颁发者 | https://api.luneresearch.com |
| 授权 | https://api.luneresearch.com/oauth/authorize |
| 令牌 | https://api.luneresearch.com/oauth/token |
| 客户端注册(RFC 7591) | https://api.luneresearch.com/oauth/register |
| 撤销(RFC 7009) | https://api.luneresearch.com/oauth/revoke |
| JWKS | https://api.luneresearch.com/.well-known/jwks.json |
| 授权服务器元数据 | https://api.luneresearch.com/.well-known/oauth-authorization-server |
| 受保护资源元数据 | https://mcp.luneresearch.com/.well-known/oauth-protected-resource |
流程:
-
注册客户端。动态客户端注册是获取
client_id的唯一方式;没有预先注册的客户端 ID。客户端是公开的,因此 没有密钥,令牌端点的身份验证方法为none。无法即时注册的平台可以手动注册 一次并保存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和resource。必须使用S256的 PKCE, 并且必须提供state和scope。 -
处理回调。用户登录并批准后,Lune 会重定向到你的
redirect_uri, 并附带code、state和iss=https://api.luneresearch.com(RFC 9207)。检查state是否与你发送的值 一致,并确认iss等于颁发者。如果用户拒绝,重定向会携带error=access_denied,并附带相同的state和iss。 -
交换授权码。将
grant_type=authorization_code、code、redirect_uri、client_id、code_verifier和resource以application/x-www-form-urlencoded格式 POST 到令牌端点。 -
使用
Authorization: Bearer <access_token>调用服务。令牌过期后,服务会返回401和error="invalid_token"。如需刷新,请将grant_type=refresh_token和refresh_tokenPOST 到令牌端点。
要求和限制:
- 请求的范围必须恰好为
papers:read guidance:read account:read,即 受保护资源文档中列出的范围。它们合起来涵盖所有工具。 - 在授权请求和令牌请求中都要发送
resource=https://mcp.luneresearch.com。 如果不提供该值,访问令牌将绑定到你的client_id,而不是服务;使用协议版本 2026-07-28 发送的请求会失败并返回401 invalid_token,用户会因此陷入反复登录。较早的 协议版本仍接受此类令牌,但仅限过渡期。 - 重定向 URI 必须使用
https、127.0.0.1、[::1]或localhost上的http,或cursor://等私有用途方案,且不得包含片段。授权请求中的 URI 必须与已注册的 URI 完全一致,包括端口。 - 授权码在 10 分钟后过期,且只能使用一次;交换失败也会使授权码失效。访问令牌是
RS256 JWT,有效期为一小时(
expires_in: 3600)。 - 每次刷新都会返回新的刷新令牌。请保存新令牌并丢弃旧令牌。每个刷新令牌的有效期为 90 天,因此定期使用的连接不会过期。在令牌被替换 30 秒后仍提交旧刷新令牌, 会撤销该令牌链中的所有刷新令牌,用户必须重新连接。已经颁发的访问令牌仍可使用,直到过期。
- 如需断开连接,请将
token=<refresh_token>(表单编码)POST 到撤销端点。
权限范围
papers:read 涵盖论文语料库、全文和引文,guidance:read
涵盖研究指导语料库,account:read 用于读取你的身份和用量。
凭据缺少某个工具所需的权限范围时,根据凭据类型不同,失败方式也不同。OAuth 令牌会返回 HTTP 403,并附带一个只指出缺失权限范围的质询,因此客户端可以请求用户批准:
WWW-Authenticate: Bearer error="insufficient_scope", error_description="The papers:read scope is required for this request.", resource_metadata="https://mcp.luneresearch.com/.well-known/oauth-protected-resource", scope="papers:read"
访问密钥会返回工具错误,指出缺失的权限范围,并告知 Agent 请你创建包含该权限范围的密钥。
撤销访问权限
在凭据页面的 API keys 下撤销访问密钥,在 OAuth clients 下撤销已连接的应用。 OAuth 连接会列在你的个人团队下,因此请先选择该团队。撤销访问密钥后,它会在五分钟内停止工作。撤销应用会立即取消其刷新令牌,但它已持有的访问令牌会继续有效,直到过期,最长一小时。
传输方式
| 传输方式 | 使用位置 | MCP 协议版本 |
|---|---|---|
| Streamable HTTP | https://mcp.luneresearch.com | 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07 |
| stdio | npx -y @retrograde-labs/lune-mcp-server | 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07 |
关于托管端点:
/mcp和/v1/mcp也可响应,以兼容较旧的安装。发现过程会遵循路径,因此使用/mcp的客户端会被指向https://mcp.luneresearch.com/.well-known/oauth-protected-resource/mcp。绑定到这三个 URL 中任意一个的令牌都可用于全部三个 URL。- 请求是无状态的。每个请求都携带自己的凭据,且没有会话 ID,因此闲置数小时的客户端无需重新初始化即可继续工作。
- MCP 流量仅支持
POST。GET和DELETE会返回405,因此没有可打开的 SSE 流,服务也不会主动发送通知。直接打开裸 URL 的浏览器会被重定向到文档页面。 - 请发送
Accept: application/json, text/event-stream。在较旧的协议版本中,未包含这两种类型中任意一种的请求会收到406。 - 带有
Origin标头的请求会返回403,除非该来源位于服务的允许列表中,因此请从服务端或原生客户端连接,而不要从网页连接。 - JSON-RPC 批次请求仅用于较旧的协议版本,最多可包含 50 条消息。请求正文最大可达 1 MB。
- Registry 清单位于
https://mcp.luneresearch.com/.well-known/mcp/server.json。
链接
支持
错误报告和功能请求请提交至 问题跟踪器。 如有账户相关问题,请发送邮件至 [email protected]。要报告安全问题,请参阅 SECURITY.md。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。