奖学金MCP
](https://www.npmjs.com/package/scholar-mcp)   
ScholarMCP是一个用于编码代理中文献研究工作流程的MCP服务器。 官方文件:https://scholar-mcp.lstudlo.com/
早期开发通知
该项目仍处于早期开发阶段,可能会出现粗糙边缘或错误。 如果您遇到问题,请打开问题并包括:
- 使用的试剂
- 截图(如适用)
- 重现问题的步骤
ScholarMCP为您的代理提供以下工具:
- 跨多个来源搜索论文
- 摄取和解析全文PDF
- 提取结构化纸张细节
- 建议引用并建立参考文献
- 验证手稿引用
ScholarMCP是为。..
如果您希望Claude Code、Codex或任何与MCP兼容的编码代理直接从聊天中运行研究任务,请使用此功能。
快速开始
1.先决条件
- Node.js
>=20 npm(用于安装/发布)pnpm(适用于从源代码工作的贡献者)
2.作为npm包安装(推荐)
npm install -g scholar-mcp无需全局安装即可一次性运行:
npx -y scholar-mcp --transport=stdio从GitHub包安装(作用域镜像包):
npm install -g @lstudlo/scholar-mcp --registry=https://npm.pkg.github.com3.跑步
标准模式:
scholar-mcp --transport=stdioHTTP模式:
scholar-mcp --transport=http健康检查(HTTP模式):
curl http://127.0.0.1:3000/health4.从源代码运行(贡献者)
pnpm install
pnpm dev:stdio与编码代理一起使用
ScholarMCP的效果最好 stdio 用于本地编码代理。文档网站有完整的分步指南 克劳德代码, OpenAI 代码专家,以及 开源代码.人类学官方文件 claude mcp add ... -- ,以及OpenAI官方文档 codex mcp add ...;下面的简短表单将这些CLI流作为主要设置路径。
以下使用的共享环境值:
SCHOLAR_MCP_TRANSPORT=stdio
SCHOLAR_REQUEST_DELAY_MS=350
RESEARCH_ALLOW_REMOTE_PDFS=true
RESEARCH_ALLOW_LOCAL_PDFS=true克劳德代码
使用Claude CLI添加:
claude mcp add -s user \
--transport stdio \
-e SCHOLAR_MCP_TRANSPORT=stdio \
-e SCHOLAR_REQUEST_DELAY_MS=350 \
-e RESEARCH_ALLOW_REMOTE_PDFS=true \
-e RESEARCH_ALLOW_LOCAL_PDFS=true \
scholar_mcp -- npx -y scholar-mcp --transport=stdio验证:
claude mcp get scholar_mcp手动回退:
- 添加
scholar_mcp在...之下mcpServers在~/.claude.json - 使用项目本地
.mcp.json如果你想让配置作用于仓库 - 保持
--CLI表单中的分隔符;Claude需要它停止解析标志
OpenAI 代码专家
使用Codex CLI添加:
codex mcp add scholar_mcp \
--env SCHOLAR_MCP_TRANSPORT=stdio \
--env SCHOLAR_REQUEST_DELAY_MS=350 \
--env RESEARCH_ALLOW_REMOTE_PDFS=true \
--env RESEARCH_ALLOW_LOCAL_PDFS=true \
-- npx -y scholar-mcp --transport=stdio验证:
codex mcp list
codex mcp get scholar_mcp --json手动回退:
- 将服务器添加到
~/.codex/config.toml在...之下[mcp_servers.scholar_mcp] - Codex CLI和Codex应用程序共享MCP配置模型
开源代码
使用OpenCode CLI添加:
opencode mcp add建议的交互值:
- 姓名:
scholar_mcp - 类型:
local - 命令:
npx -y scholar-mcp --transport=stdio - 启用:
true - env:使用上面的四个共享变量
验证:
opencode mcp list手动回退:
- 将服务器添加到
~/.config/opencode/opencode.json - 使用
"type": "local"以及类似命令数组的["npx", "-y", "scholar-mcp", "--transport=stdio"]
从源代码运行
如果您正在本地开发ScholarMCP,请使用此启动器而不是 npx -y scholar-mcp --transport=stdio:
pnpm --filter scholar-mcp dev:stdio在您注册的任何客户端中使用与上述相同的环境值。
通用MCP客户端
stdio命令:
- scholar-mcp --transport=stdio - 或者: npx -y scholar-mcp --transport=stdio
- HTTP端点:
1. 使用启动服务器 SCHOLAR_MCP_TRANSPORT=http scholar-mcp 1. 将客户端连接到 http://127.0.0.1:3000/mcp 1. 可选身份验证:set SCHOLAR_MCP_API_KEY 并从客户端发送承载身份验证标头
MCP工具
| 工具 | 目的 |
|---|---|
search_literature_graph | 通过OpenAlex/Crossref/语义学者进行联合搜索(+可选学者抓取)。 |
search_google_scholar_key_words | 在Google Scholar上进行关键字搜索。 |
search_google_scholar_advanced | 使用作者/年份/短语过滤器进行学者搜索。 |
get_author_info | 解析作者资料和顶级出版物。 |
ingest_paper_fulltext | 从DOI/URL/PDF/本地路径启动异步全文摄取。 |
get_ingestion_status | 轮询摄取作业状态和解析摘要。 |
extract_granular_paper_details | 提取方法、声明、数据集、指标和参考文献。 |
suggest_contextual_citations | 建议引用手稿上下文。 |
build_reference_list | 生成格式化的参考书目和BibTeX。 |
validate_manuscript_citations | 检测缺失/未引用/重复引用问题。 |
代理提示示例
- “查找10篇关于检索增强生成的最新论文,并总结方法和数据集。”
- “摄取DOI的全文
10.1038/s41467-024-55563-6,然后提取权利要求和限制。" - “鉴于本节草案,建议以IEEE风格引用并生成BibTeX。”
- “根据此参考文献列表验证我的手稿引用,并显示缺失的引用。”
配置
大多数用户只需要这些:
SCHOLAR_MCP_TRANSPORT:stdio|http|both(默认值:stdio)SCHOLAR_REQUEST_DELAY_MS:请求调整节奏以降低利率限制风险(默认值:250)RESEARCH_ALLOW_REMOTE_PDFS:允许远程下载PDF以供摄取(默认值:true)RESEARCH_ALLOW_LOCAL_PDFS:允许本地PDF摄取(默认值:true)SCHOLAR_MCP_API_KEY:HTTP模式的可选承载令牌RESEARCH_GROBID_URL:可选的GROBID端点
CLI加载 .env 启动时自动从当前工作目录中删除。
高级选项存在于 src/config.ts 用于超时、重试、HTTP会话容量/TTL、提供程序调优和缓存行为。
故障排除
Invalid environment variable format在claude mcp add:
- 添加 -- 在MCP服务器名称之前(请参阅上面的Claude setup命令)。
Unable to resolve a downloadable PDF URL from input关于DOI摄入:
- DOI和登录页面可能不会公开可访问的PDF URL。 - 请重试 pdf_url (直接PDF)或 local_pdf_path.
- 太多的学者失败或节流:
- 增加 SCHOLAR_REQUEST_DELAY_MS (例如 500 到 1000).
使用说明
谷歌学术可能会限制自动流量。使用保守的请求节奏,尊重提供者条款,避免滥用查询模式。
出版
发布发布到两个注册表:
- npm:
scholar-mcp通过.github/workflows/publish.yml - GitHub软件包:
@lstudlo/scholar-mcp通过.github/workflows/publish-github-packages.yml
使用最少的命令集发布:
- 验证发布准备情况:
pnpm release:check
- 剪切并发布一个版本:
pnpm release (补丁), pnpm release minor,或 pnpm release major
- 从干净的git工作树开始(没有未暂存/暂存/未跟踪的文件)。
- 释放命令运行检查、碰撞
packages/scholar-mcp/package.json,创建发布提交/标签,推送分支/标签,然后创建GitHub发布。 - GitHub Actions从该发布标签发布到npm和GitHub Packages。
