Paperport

io.github.CloudCorpRecordsPublished by GitHub account CloudCorpRecordsv0.1.0Updated Nov 7, 2026

Search and read arXiv papers, with local paper storage.

Overview

AI-generated overview

Searches the public arXiv API, fetches paper abstracts, and keeps a local shelf of downloaded papers an assistant can list and re-read.

What you can do
  • Search arXiv papers by query, with optional result limits, date range and category filters
  • Fetch a single paper's abstract, authors, dates and PDF link by paper id
  • Download a paper's metadata and abstract into a local markdown file
  • List the papers stored on the local shelf and read back a stored paper's content
When to use it
Useful when you want an assistant to look up arXiv literature, pull abstracts, and keep a small offline shelf of papers for later reference without re-querying the network.
Requirements
Runs as a local stdio process, either via npx with the npm package or via the Docker image. Needs network access to the public arXiv API. No authentication or API keys. Storage location is set by the PAPERPORT_STORAGE_DIR environment variable, otherwise a papers directory in the working directory.
Before you install
Downloaded papers are stored as markdown files containing metadata and the abstract only, not the converted PDF full text, so read_paper returns the abstract file rather than the paper body. Downloading writes files to the local storage directory. Queries and paper ids are sent to the public arXiv API.

Installation

In SourceWeft

  1. Open Paperport in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

paperport

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.

Install

bash
npx @reneturcios/paperport search "small language models"

Or run the container image:

bash
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.

CLI

Commands print JSON, except read, which prints the stored paper.

bash
# Search, with optional filterspaperport search "attention patterns" --max-results 5 \  --date-from 2024-01-01 --date-to 2024-12-31 --categories cs.CL,cs.LG
# One paper's abstractpaperport abstract 2401.12345
# Store a paper locally, then list and read the shelfpaperport download 2401.12345paperport listpaperport 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.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/paperport mcp

MCP client configuration:

json
{  "mcpServers": {    "paperport": {      "command": "npx",      "args": ["-y", "@reneturcios/paperport", "mcp"]    }  }}

Tools

ToolInputWhat it returns
search_papersquery (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_abstractpaper_id (string, required)The paper's paper_id, title, abstract, authors, published, and pdf_url.
download_paperpaper_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_paperpaper_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.

Known gap: downloaded papers are abstract files, not converted PDFs

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.

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, no networknpm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Source: README.md at commit 461e5bc

Tools

5

search_papers

Search arXiv papers by query.

Parametersqueryrequireddate_todate_fromcategoriesmax_results

get_abstract

Get the abstract for an arXiv paper.

Parameterspaper_idrequired

download_paper

Download an arXiv paper and store it locally.

Parameterspaper_idrequired

list_papers

List papers stored locally.

Takes no parameters.

read_paper

Read a locally stored arXiv paper.

Parameterspaper_idrequired

Version history

1
  1. v0.1.0LatestOct 31, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts