mcpField
P
paperport

paperport

本地服务
github.com/CloudCorpRecords搜索与检索02 周前更新

关于 paperport

paperport 是用于搜索 arXiv 并在本地保存论文记录的命令行工具和 MCP 服务。它提供论文元数据和摘要,并支持列出及重读本地记录;下载内容是元数据和摘要,不是转换后的 PDF 全文。

主要功能

  1. 01按日期和类别筛选 arXiv 搜索
  2. 02按 ID 获取论文摘要
  3. 03在本地保存论文记录
  4. 04列出并读取已保存记录
  5. 05规范化论文 ID 和 arXiv URL

适用场景

  1. 01查找符合研究主题的论文
  2. 02查看 arXiv 论文摘要
  3. 03在本地维护论文记录集

MCP 相关

MCP 服务提供搜索论文、获取摘要、下载记录、列出本地论文和读取已保存记录的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-paperport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/paperport"
]
}
}
}
启动命令npx -y @reneturcios/paperport

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/paperport0.1.0
ocighcr.io/cloudcorprecords/paperport:0.1.0

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
querystring是搜索查询
date_tostring否最新提交日期(YYYY-MM-DD)
date_fromstring否最早提交日期(YYYY-MM-DD)
categoriesarray否用于筛选的 arXiv 类别
max_resultsinteger否要返回的最大结果数

详细介绍

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_papersquery(字符串,必填)、max_results(整数,可选)、date_from / date_to(字符串,可选,格式为 YYYY-MM-DD)、categories(字符串数组,可选)论文列表:id、title、summary、authors、published、categories 和 pdf_url。
get_abstractpaper_id(字符串,必填)论文的 paper_id、title、abstract、authors、published 和 pdf_url。
download_paperpaper_id(字符串,必填)在本地存储论文(见下文的差异说明),并返回其 paper_id、title、存储 path 和 pdf_url。
list_papers(无输入)本地书架上的论文:每个已存储文件的 paper_id 和 path。
read_paperpaper_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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。