io.github.CloudCorpRecords/paperport is an MCP server that search and read arXiv papers, with local paper storage. Its tool list has not been published yet over stdio, requires no API key, and scores 56/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"paperport": {
"args": [
"-y",
"@reneturcios/paperport",
"mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Search and read arXiv papers, with local paper storage.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
npx -y '@reneturcios/paperport' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked @reneturcios/paperport against OSV.dev.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in education
2,700+ scientific tools for AI scientists: life science, research, literature, and more.
ARIS ⚔️ (Auto-Research-In-Sleep) — Lightweight Markdown-only skills for autonomous ML research: cross-model review loops, idea discovery, and experiment automation. No framework, no lock-in — works with Claude Code, Codex, OpenClaw, or any LLM agent.
Daofy for Delphi — MCP Server that compiles Delphi projects and queries knowledge base for AI assistants.
Recall and calibrate policy-compliant tool-call arguments before execution. Does not run the tool.
MCP Security Weekly
Get CVE alerts and security updates for io.github.CloudCorpRecords/paperport and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
paperport is a small desk for arXiv work. It searches the public arXiv API, pulls back titles, authors, dates, categories and abstracts in a tidy shape, fetches the abstract for a single paper when you have its id, and keeps a local shelf of papers you have downloaded so you can list and re-read them later without going back to the network.
npx @reneturcios/paperport search "small language models"
Or run the container image:
docker run -i ghcr.io/cloudcorprecords/paperport
The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.
Commands print JSON, except read, which prints the stored paper.
# 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
Downloaded papers are stored as <paper_id>.md files in the storage
directory: the PAPERPORT_STORAGE_DIR environment variable when set,
otherwise ./papers.
Exit codes: 0 on success, 1 when a paper cannot be found, fetched
or read, 2 for usage errors.
One bin serves both faces. The mcp subcommand starts a stdio MCP
server:
npx -y @reneturcios/paperport mcp
MCP client configuration:
{
"mcpServers": {
"paperport": {
"command": "npx",
"args": ["-y", "@reneturcios/paperport", "mcp"]
}
}
}
| Tool | Input | What it returns |
|---|---|---|
search_papers | query (string, required), max_results (integer, optional), date_from / date_to (strings, optional, YYYY-MM-DD), categories (array of strings, optional) | A list of papers: id, title, summary, authors, published, categories, and pdf_url. |
get_abstract | paper_id (string, required) | The paper's paper_id, title, abstract, authors, published, and pdf_url. |
download_paper | paper_id (string, required) | Stores the paper locally (see the gap note below) and returns its paper_id, title, storage path, and pdf_url. |
list_papers | (no input) | The papers on the local shelf: each stored file's paper_id and path. |
read_paper | paper_id (string, required) | The stored paper's paper_id and full text content. Errors when the paper has not been downloaded. |
Paper ids may be given bare (2401.12345), with a version suffix
(2401.12345v2), or as a full arxiv.org/abs/... URL; they are
normalised before use.
The original tool this rebuilds converts each downloaded paper's PDF
to markdown. paperport does not do that conversion: download_paper
stores the paper's metadata and abstract — title, authors, categories,
dates, and links to the abstract page and the PDF — as a markdown file,
and read_paper returns that file. The full text of the paper is only
available through the linked PDF. This is a deliberate, documented
limitation of this version, not a silent one.
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 — see LICENSE.