Code of Paper

io.github.isagelswannPublished by GitHub account isagelswannv0.3.2Updated Oct 24, 2026

Find GitHub implementations of arXiv research papers — paper lookup, ranked code, search.

VerifiedSTDIODesktop onlyKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Code of Paper lets an assistant look up arXiv papers and find their GitHub implementations, with paper details, ranked code repositories and full-text search.

What you can do
Look up papers: fetch metadata and confident-tier implementation repos by arXiv ID or full URL.
When to use it
Use it when you need to go from an arXiv paper to its GitHub implementations, compare candidate repositories for one paper, or filter papers with code by topic, year or venue. Suited to literature reviews, picking a repo before reproducing results, and scripted workflows that want structured JSON.
Requirements
Runs locally over stdio via uvx from the PyPI package codeofpaper (Python 3.10 or newer). Connects to api.codeofpaper.com by default, overridable with the CODEOFPAPER_API_URL environment variable; anonymous use is limited to 60 requests per minute and needs no API key. Network access required.
Before you install
All tools are read-only and do not modify data. Queries and paper IDs are sent to a third-party API (api.codeofpaper.com by default), or to whatever endpoint CODEOFPAPER_API_URL points at. The anonymous quota is limited, so heavy use will hit rate limits.

Installation

In SourceWeft

  1. Open Code of Paper 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

Code of Paper CLI

Maintenance mode. This CLI and MCP server are not actively developed. They keep working as long as api.codeofpaper.com is up; issues may go unanswered.

Discover GitHub implementations of research papers — from the terminal.

Search 181k+ arXiv papers and find their code on GitHub. Works for humans and AI agents alike.

[PyPI] [Python 3.10+] [License: MIT]

Install

bash
pip install codeofpaper

Or with pipx for isolated installs:

bash
pipx install codeofpaper

Requires Python 3.10+. No API key needed — works anonymously at 60 requests/minute.

Quick Start

bash
# Search for paperscodeofpaper search "vision transformers"
# Get paper details (arXiv IDs or full URLs both work)codeofpaper paper 2010.11929codeofpaper paper https://arxiv.org/abs/2010.11929
# Find code implementationscodeofpaper code 1706.03762
# Browse trending papers with codecodeofpaper trending --has-code
# JSON output for scripts and agentscodeofpaper -o json trending | jq '.trending[] | {title, stars: .max_stars}'
# One-shot reproducibility context for an agent: paper + confident repos# (with tier + framework + license) + fork-graph in a single JSON payload.codeofpaper -o json paper 2010.11929 | jq '{title, repos: [.repos[] | {full_name, tier}], forks: [.fork_graph[] | .full_name]}'
# Literature review in one commandcodeofpaper research "reinforcement learning" --depth deep

Output Formats

Use -o / --output before the subcommand:

bash
codeofpaper -o json paper 2010.11929codeofpaper -o quiet search "attention" | head -5codeofpaper -o csv trending --has-code > papers.csv
FormatFlagUse case
Table-o tableHuman reading (default)
JSON-o jsonScripts, jq pipelines, full response data
Quiet-o quietIDs only, one per line — pipe into other commands
JSONL-o jsonlStreaming, append to files, batch processing
BibTeX-o bibtexCitation managers, LaTeX bibliographies
CSV-o csvSpreadsheets, pandas, data analysis

The shorthand -q is equivalent to -o quiet:

bash
codeofpaper -q search "transformers" | head -3

You can set a default format via config so you don't need -o every time:

bash
codeofpaper auth setup    # then edit ~/.config/codeofpaper/config.json

Commands

Discovery

CommandDescriptionExample
searchFull-text paper searchcodeofpaper search "vision transformers" --has-code
paperPaper details by arXiv ID or URLcodeofpaper paper 2010.11929
codeGitHub repos implementing a papercodeofpaper code 1706.03762
similarSemantically similar paperscodeofpaper similar 2010.11929
suggestAutocomplete / quick lookupcodeofpaper suggest "attention"
randomRandom interesting papercodeofpaper random --quality high

Browsing

CommandDescriptionExample
trendingTrending papers by categorycodeofpaper trending --category cs.CV --sort hot
categoriesList categories or get detailscodeofpaper categories cs.AI
conferencesList all conference seriescodeofpaper conferences
conferencePapers from a specific conferencecodeofpaper conference neurips_2024 --has-code
code-dropsRecent conference papers with new codecodeofpaper code-drops --days 7
repoReverse lookup: repo → papercodeofpaper repo google-research/vision_transformer
openOpen paper or repo in browsercodeofpaper open 2010.11929 --code

Bulk Operations

CommandDescriptionExample
researchStructured research overviewcodeofpaper research "RL" --depth deep
batchProcess multiple IDs from stdin/filecat ids.txt | codeofpaper batch paper
exportPaginated bulk exportcodeofpaper export trending -o csv > out.csv

Configuration

CommandDescriptionExample
authManage API key (setup/status/clear)codeofpaper auth status
statusCheck API health and statscodeofpaper status

Command Details

search

bash
codeofpaper search "reinforcement learning" --sort has_code --has-codecodeofpaper search "GAN" --limit 20 --offset 10

Options: --limit, --offset, --sort (relevant, recent, has_code), --has-code, --category.

research

Multi-step orchestrated overview of a research topic:

bash
codeofpaper research "vision transformers" --depth deep
DepthStepsAPI calls
shallowSearch only + landscape statistics1
mediumSearch + repos for top papers (default)~6
deepSearch + repos + similar papers from #1~8

batch

Process multiple queries or IDs from a file or stdin. Always outputs JSONL regardless of -o:

bash
# From a filecodeofpaper batch paper ids.txt
# From stdinecho -e "2010.11929\n1706.03762" | codeofpaper batch paper
# Pipe from another commandcodeofpaper -q similar 2010.11929 | codeofpaper batch code

Supported commands: paper, search, code, similar, suggest.

Each line produces one JSON object:

json
{"input": "2010.11929", "status": "ok", "data": {...}}{"input": "9999.99999", "status": "error", "error": "Not found"}

Options: --delay (seconds between calls, default 0.5).

export

Paginated bulk export from trending, conference, or search:

bash
codeofpaper export trending --category cs.CV --has-code -o csv > cv.csvcodeofpaper export conference neurips_2024 --has-code -o bibtex > neurips.bibcodeofpaper export search "transformers" --max 500 -o jsonl > data.jsonl

Auto-paginates through results (100 per page, 0.5s delay). Options: --max (default 200), --has-code, --category, --days.

Agent Integration

The CLI is designed for AI agent consumption. Key features:

Stable Exit Codes

Agents can branch on exit codes without parsing error messages:

Exit CodeMeaningAgent Action
0SuccessParse stdout
1General errorLog and report
2Connection errorRetry with backoff
3Not found (404)Skip or try different ID
4Rate limited (429)Wait and retry
5Auth required (401/403)Run codeofpaper auth setup

Machine-Readable Output

bash
# JSON for structured parsingcodeofpaper -o json paper 2010.11929 | jq '.title'
# Quiet mode for ID listscodeofpaper -q search "attention" | head -5
# JSONL for streamingcodeofpaper -o jsonl trending --has-code | while read -r line; do  echo "$line" | jq -r '.arxiv_id'done

HTTP Cache

Responses are cached on disk for 30 minutes (~/.cache/codeofpaper/http/), so repeated calls are instant and free.

MCP Server (optional)

Code of Paper ships an optional Model Context Protocol server that exposes paper / code lookup as tools to any MCP-compatible agent — Claude Desktop, Cursor, Continue, Cline, Zed, etc.

Install with the mcp extra:

bash
pip install 'codeofpaper[mcp]'# or, with uv:uv tool install 'codeofpaper[mcp]'

This adds a codeofpaper-mcp entry point that speaks MCP over stdio.

Wire into Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS), %APPDATA%\Claude\claude_desktop_config.json (Windows), or ~/.config/Claude/claude_desktop_config.json (Linux):

json
{  "mcpServers": {    "codeofpaper": {      "command": "uvx",      "args": ["--from", "codeofpaper[mcp]", "codeofpaper-mcp"]    }  }}

This pulls + runs the server on demand — no global install needed. If you've already pip install'd the package, you can replace the command with just "codeofpaper-mcp" and drop args.

Wire into Cursor / Continue / Cline

Most MCP clients accept the same shape:

json
{  "mcpServers": {    "codeofpaper": {      "command": "codeofpaper-mcp",      "env": {        "CODEOFPAPER_API_URL": "https://api.codeofpaper.com"      }    }  }}

Tools exposed

ToolPurpose
paper_lookup(paper_id_or_url)Paper metadata + confident-tier repos
code_for_paper(paper_id_or_url, limit, include_possible)Ranked GitHub repos implementing a paper
search_papers(query, limit, year, venue, has_code)Free-text paper search with filters

All tools are read-only, return plain JSON, and surface API errors as {"error": "...", "status": N} rather than throwing — agents get structured output either way.

Common Workflows

Core Discovery

bash
# Find papers with code about a topiccodeofpaper search "reinforcement learning" --sort has_code --has-code
# Get the best repo for a specific papercodeofpaper code 1706.03762
# Accepts arXiv URLs — no need to extract the IDcodeofpaper paper https://arxiv.org/abs/2010.11929
# Reverse lookup: what paper does this repo implement?codeofpaper repo google-research/vision_transformer
# Open a paper in the browser, or jump straight to its codecodeofpaper open 2010.11929codeofpaper open 2010.11929 --code

Browsing & Monitoring

bash
# What's trending in computer vision?codeofpaper trending --category cs.CV --sort hot
# Conference papers that just got new codecodeofpaper code-drops --days 7
# NeurIPS 2024 oral papers with codecodeofpaper conference neurips_2024 --track oral --has-code
# Daily monitoring: what's new in my field?codeofpaper trending --category cs.CV --days 1 -o json >> ~/research/daily_cv.jsonl

Composable Pipelines

bash
# Find implementations of a paper's related workcodeofpaper similar 2010.11929 -o quiet | codeofpaper batch code
# Batch process a reading listcat reading_list.txt | codeofpaper batch paper > enriched.jsonl
# Cross-reference with GitHub CLIcodeofpaper code 1706.03762 -o quiet | head -1 | xargs gh repo view
# Export conference papers as BibTeXcodeofpaper export conference neurips_2024 --has-code -o bibtex > neurips2024_code.bib
# Bulk export a category for meta-analysiscodeofpaper export trending --category cs.CV --has-code --days 365 -o csv > cv_with_code.csv

Multi-Step Scripts

bash
# Find a paper → get top repo → clone itREPO=$(codeofpaper search "attention is all you need" -o quiet | head -1 | \  xargs codeofpaper code -o json | jq -r '.top_repos[0].full_name')gh repo clone "$REPO"
# Discover a random paper and explore its neighborhoodID=$(codeofpaper random --quality high -o quiet)codeofpaper paper "$ID"codeofpaper similar "$ID"codeofpaper code "$ID"
# Quick paper lookup in a scriptARXIV_ID="2010.11929"TITLE=$(codeofpaper -o json paper "$ARXIV_ID" | jq -r '.title')echo "Paper: $TITLE"

Configuration

Config is stored as JSON via platformdirs:

OSPath
Linux~/.config/codeofpaper/config.json
macOS~/Library/Application Support/codeofpaper/config.json
Windows%APPDATA%\codeofpaper\config.json

Fields:

json
{  "api_url": "https://api.codeofpaper.com",  "api_key": null,  "default_format": "table",  "ca_bundle": null}

No config file needed — everything works out of the box with sensible defaults.

Priority Chain

Options are resolved in this order (first wins):

  1. CLI flag (--api-url, --api-key, --ca-bundle, -o)
  2. Environment variable (CODEOFPAPER_API_URL, CODEOFPAPER_API_KEY, CODEOFPAPER_CA_BUNDLE, CODEOFPAPER_OUTPUT, CODEOFPAPER_TIMEOUT)
  3. Config file
  4. Built-in defaults

Corporate Proxies / Custom TLS Certificates

If you're behind a corporate proxy that performs TLS inspection (man-in-the-middle), you'll see an SSL error like:

Cannot reach API: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain

To fix this, point the CLI at your corporate CA certificate bundle (PEM file). Three equivalent ways, in priority order:

bash
# 1. CLI flag (per-invocation)codeofpaper --ca-bundle /path/to/corporate-ca.pem search "transformers"
# 2. Environment variable (per-session or in .bashrc/.zshrc)export CODEOFPAPER_CA_BUNDLE=/path/to/corporate-ca.pem
# 3. Config file (permanent — set once, forget)# Add to ~/.config/codeofpaper/config.json:#   {"ca_bundle": "/path/to/corporate-ca.pem"}

Ask your IT department for the CA certificate file if you don't have it.

Tip: If you've already set SSL_CERT_FILE for other tools (pip, curl, etc.), httpx respects that variable automatically — no extra configuration needed.

Alias: cop

Both codeofpaper and cop are installed as entry points:

bash
cop search "transformers"cop -o json trending | jq '.'

Note: If cop conflicts with another tool on your system, use codeofpaper instead.

Shell Completion

Install tab completion for your shell:

bash
codeofpaper --install-completion

Supports bash, zsh, fish, and PowerShell. After installing, restart your shell or source the completion file.

Help

bash
codeofpaper --help          # List all commandscodeofpaper search --help   # Help for a specific commandcodeofpaper -v              # Print version

Links

License

MIT

Source: README.md at commit f4d05fd

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.3.2LatestSep 16, 2026

Score

50% 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

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • 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 listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts