关于 paperport
paperport 是用于搜索 arXiv 并在本地保存论文记录的命令行工具和 MCP 服务。它提供论文元数据和摘要,并支持列出及重读本地记录;下载内容是元数据和摘要,不是转换后的 PDF 全文。
主要功能
- 01按日期和类别筛选 arXiv 搜索
- 02按 ID 获取论文摘要
- 03在本地保存论文记录
- 04列出并读取已保存记录
- 05规范化论文 ID 和 arXiv URL
适用场景
- 01查找符合研究主题的论文
- 02查看 arXiv 论文摘要
- 03在本地维护论文记录集
MCP 相关
MCP 服务提供搜索论文、获取摘要、下载记录、列出本地论文和读取已保存记录的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | 是 | 搜索查询 |
| date_to | string | 否 | 最新提交日期(YYYY-MM-DD) |
| date_from | string | 否 | 最早提交日期(YYYY-MM-DD) |
| categories | array | 否 | 用于筛选的 arXiv 类别 |
| max_results | integer | 否 | 要返回的最大结果数 |
详细介绍
paperport
paperport 是一个用于 arXiv 研究的小型桌面工具。它会搜索公开的 arXiv API,以简洁的格式获取标题、作者、日期、类别和摘要;如果你有某篇论文的 ID,也可以获取其摘要;此外,它还会在本地保存你下载的论文,方便你稍后 列出并重新阅读,无需再次访问网络。
安装
npx @reneturcios/paperport search "small language models"
或者运行容器映像:
docker run -i ghcr.io/cloudcorprecords/paperport
容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。
CLI
除 read 会输出已存储的论文外,其他命令均输出 JSON。
# Search, with optional filters
paperport search "attention patterns" --max-results 5 \
--date-from 2024-01-01 --date-to 2024-12-31 --categories cs.CL,cs.LG
# One paper's abstract
paperport abstract 2401.12345
# Store a paper locally, then list and read the shelf
paperport download 2401.12345
paperport list
paperport read 2401.12345
paperport --version
下载的论文会以 <paper_id>.md 文件的形式存储在存储目录中:如果已设置
PAPERPORT_STORAGE_DIR 环境变量,则使用其指定的目录;否则使用 ./papers。
退出代码:成功时为 0;找不到、获取或读取论文时为 1;用法错误时为 2。
MCP 服务
同一个可执行文件支持两种用法。mcp 子命令会启动一个 stdio MCP
服务:
npx -y @reneturcios/paperport mcp
MCP 客户端配置:
{
"mcpServers": {
"paperport": {
"command": "npx",
"args": ["-y", "@reneturcios/paperport", "mcp"]
}
}
}
工具
| 工具 | 输入 | 返回内容 |
|---|---|---|
search_papers | query(字符串,必填)、max_results(整数,可选)、date_from / date_to(字符串,可选,格式为 YYYY-MM-DD)、categories(字符串数组,可选) | 论文列表:id、title、summary、authors、published、categories 和 pdf_url。 |
get_abstract | paper_id(字符串,必填) | 论文的 paper_id、title、abstract、authors、published 和 pdf_url。 |
download_paper | paper_id(字符串,必填) | 在本地存储论文(见下文的差异说明),并返回其 paper_id、title、存储 path 和 pdf_url。 |
list_papers | (无输入) | 本地书架上的论文:每个已存储文件的 paper_id 和 path。 |
read_paper | paper_id(字符串,必填) | 已存储论文的 paper_id 和完整文本 content。如果论文尚未下载,则会报错。 |
论文 ID 可以直接填写(2401.12345)、附带版本后缀
(2401.12345v2),也可以填写完整的 arxiv.org/abs/... URL;使用前会对其进行
规范化。
已知差异:下载的论文是摘要文件,并非转换后的 PDF
本项目重建的原始工具会将每篇下载论文的 PDF 转换为 Markdown。paperport 不会
进行这种转换:download_paper 会将论文的元数据和摘要——标题、作者、类别、日期,
以及摘要页面和 PDF 的链接——存储为 Markdown 文件,而 read_paper 会返回该文件。
论文全文只能通过链接的 PDF 获取。这是此版本有意为之且已明确说明的限制,并非未明说的限制。
开发
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, no network
npm run dev # run the CLI from source via tsx
许可证
MIT — 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。