关于 Code of Paper
Code of Paper 是用于查找 arXiv 论文及其 GitHub 实现的命令行工具,并提供可选 MCP 服务。它支持研究发现、批量处理和机器可读输出,面向研究人员与 AI Agent;项目目前处于维护模式。
主要功能
- 01搜索和浏览 arXiv 论文
- 02查找按相关性排序的 GitHub 实现
- 03探索相似论文与热门论文
- 04批量查询和导出结果
- 05支持 JSON、JSONL、CSV 和 BibTeX 输出
适用场景
- 01查找某主题中附有代码的论文
- 02定位某篇 arXiv 论文的代码仓库
- 03导出会议论文或热门论文列表
- 04为 AI Agent 提供论文和代码查询
MCP 相关
可选 MCP 服务将论文查询、论文代码查询和论文搜索作为只读工具开放。它通过 stdio 通信并返回 JSON。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| paper_id_or_url | string | 是 |
详细介绍
Code of Paper CLI
维护模式。 此 CLI 和 MCP 服务目前不在积极开发中。只要 api.codeofpaper.com 仍在运行,它们就会继续工作;提交的问题可能不会得到回复。
在终端中发现研究论文的 GitHub 实现。
搜索 18.1 万多篇 arXiv 论文,并在 GitHub 上查找其代码。无论是人类还是 AI Agent,都能使用。
安装
pip install codeofpaper
也可以使用 pipx 进行隔离安装:
pipx install codeofpaper
需要 Python 3.10+。无需 API 密钥——匿名使用时每分钟最多 60 次请求。
快速开始
# Search for papers
codeofpaper search "vision transformers"
# Get paper details (arXiv IDs or full URLs both work)
codeofpaper paper 2010.11929
codeofpaper paper https://arxiv.org/abs/2010.11929
# Find code implementations
codeofpaper code 1706.03762
# Browse trending papers with code
codeofpaper trending --has-code
# JSON output for scripts and agents
codeofpaper -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 command
codeofpaper research "reinforcement learning" --depth deep
输出格式
在子命令之前使用 -o / --output:
codeofpaper -o json paper 2010.11929
codeofpaper -o quiet search "attention" | head -5
codeofpaper -o csv trending --has-code > papers.csv
| 格式 | 标志 | 用途 |
|---|---|---|
| 表格 | -o table | 人类阅读(默认) |
| JSON | -o json | 脚本、jq 管道、完整响应数据 |
| 静默 | -o quiet | 仅输出 ID,每行一个——可通过管道传递给其他命令 |
| JSONL | -o jsonl | 流式处理、追加到文件、批量处理 |
| BibTeX | -o bibtex | 引文管理器、LaTeX 参考文献 |
| CSV | -o csv | 电子表格、pandas、数据分析 |
简写 -q 等同于 -o quiet:
codeofpaper -q search "transformers" | head -3
你可以通过配置设置默认格式,这样就不必每次都使用 -o:
codeofpaper auth setup # then edit ~/.config/codeofpaper/config.json
命令
发现
| 命令 | 描述 | 示例 |
|---|---|---|
search | 全文论文搜索 | codeofpaper search "vision transformers" --has-code |
paper | 按 arXiv ID 或 URL 查看论文详情 | codeofpaper paper 2010.11929 |
code | 实现某篇论文的 GitHub 仓库 | codeofpaper code 1706.03762 |
similar | 语义相似的论文 | codeofpaper similar 2010.11929 |
suggest | 自动补全 / 快速查询 | codeofpaper suggest "attention" |
random | 随机推荐有趣的论文 | codeofpaper random --quality high |
浏览
| 命令 | 描述 | 示例 |
|---|---|---|
trending | 按类别查看热门论文 | codeofpaper trending --category cs.CV --sort hot |
categories | 列出类别或查看详情 | codeofpaper categories cs.AI |
conferences | 列出所有会议系列 | codeofpaper conferences |
conference | 查看特定会议的论文 | codeofpaper conference neurips_2024 --has-code |
code-drops | 最近发布且包含新代码的会议论文 | codeofpaper code-drops --days 7 |
repo | 反向查找:仓库 → 论文 | codeofpaper repo google-research/vision_transformer |
open | 在浏览器中打开论文或仓库 | codeofpaper open 2010.11929 --code |
批量操作
| 命令 | 描述 | 示例 |
|---|---|---|
research | 结构化研究概览 | codeofpaper research "RL" --depth deep |
batch | 从标准输入 / 文件处理多个 ID | cat ids.txt | codeofpaper batch paper |
export | 分页批量导出 | codeofpaper export trending -o csv > out.csv |
配置
| 命令 | 描述 | 示例 |
|---|---|---|
auth | 管理 API 密钥(设置 / 状态 / 清除) | codeofpaper auth status |
status | 检查 API 健康状况和统计信息 | codeofpaper status |
命令详情
search
codeofpaper search "reinforcement learning" --sort has_code --has-code
codeofpaper search "GAN" --limit 20 --offset 10
选项:--limit、--offset、--sort(relevant、recent、has_code)、--has-code、--category。
research
对研究主题进行多步编排概览:
codeofpaper research "vision transformers" --depth deep
| 深度 | 步骤 | API 调用次数 |
|---|---|---|
shallow | 仅搜索 + 领域概况统计 | 1 |
medium | 搜索 + 获取排名靠前论文的仓库(默认) | ~6 |
deep | 搜索 + 仓库 + 获取排名第 1 篇论文的相似论文 | ~8 |
batch
从文件或标准输入处理多个查询或 ID。无论是否使用 -o,始终输出 JSONL:
# From a file
codeofpaper batch paper ids.txt
# From stdin
echo -e "2010.11929\n1706.03762" | codeofpaper batch paper
# Pipe from another command
codeofpaper -q similar 2010.11929 | codeofpaper batch code
支持的命令:paper、search、code、similar、suggest。
每行生成一个 JSON 对象:
{"input": "2010.11929", "status": "ok", "data": {...}}
{"input": "9999.99999", "status": "error", "error": "Not found"}
选项:--delay(调用之间的间隔秒数,默认为 0.5)。
export
从热门内容、会议或搜索结果中分页批量导出:
codeofpaper export trending --category cs.CV --has-code -o csv > cv.csv
codeofpaper export conference neurips_2024 --has-code -o bibtex > neurips.bib
codeofpaper export search "transformers" --max 500 -o jsonl > data.jsonl
自动分页获取结果(每页 100 条,间隔 0.5 秒)。选项:--max(默认为 200)、--has-code、--category、--days。
Agent 集成
该 CLI 专为 AI Agent 使用而设计。主要功能:
稳定的退出码
Agent 可以根据退出码进行分支处理,无需解析错误消息:
| Exit Code | 含义 | Agent 操作 |
|---|---|---|
| 0 | 成功 | 解析标准输出 |
| 1 | 一般错误 | 记录并报告 |
| 2 | 连接错误 | 采用退避策略重试 |
| 3 | 未找到(404) | 跳过或尝试其他 ID |
| 4 | 请求过多(429) | 等待后重试 |
| 5 | 需要身份验证(401/403) | 运行 codeofpaper auth setup |
机器可读输出
# JSON for structured parsing
codeofpaper -o json paper 2010.11929 | jq '.title'
# Quiet mode for ID lists
codeofpaper -q search "attention" | head -5
# JSONL for streaming
codeofpaper -o jsonl trending --has-code | while read -r line; do
echo "$line" | jq -r '.arxiv_id'
done
HTTP 缓存
响应会在磁盘上缓存 30 分钟(~/.cache/codeofpaper/http/),因此重复调用即时完成且无需额外开销。
MCP 服务(可选)
Code of Paper 提供一个可选的 Model Context Protocol 服务,可将论文/代码查询作为工具提供给任何兼容 MCP 的 Agent,例如 Claude Desktop、Cursor、Continue、Cline、Zed 等。
使用 mcp extra 安装:
pip install 'codeofpaper[mcp]'
# or, with uv:
uv tool install 'codeofpaper[mcp]'
这会添加一个通过 stdio 使用 MCP 通信的 codeofpaper-mcp 入口点。
接入 Claude Desktop
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)、%APPDATA%\Claude\claude_desktop_config.json(Windows)或 ~/.config/Claude/claude_desktop_config.json(Linux):
{
"mcpServers": {
"codeofpaper": {
"command": "uvx",
"args": ["--from", "codeofpaper[mcp]", "codeofpaper-mcp"]
}
}
}
这会按需拉取并运行服务,无需全局安装。如果你已经通过 pip install 安装了该软件包,可以将命令替换为 "codeofpaper-mcp",并删除 args。
接入 Cursor / Continue / Cline
大多数 MCP 客户端都接受相同的配置格式:
{
"mcpServers": {
"codeofpaper": {
"command": "codeofpaper-mcp",
"env": {
"CODEOFPAPER_API_URL": "https://api.codeofpaper.com"
}
}
}
}
提供的工具
| 工具 | 用途 |
|---|---|
paper_lookup(paper_id_or_url) | 论文元数据及置信度等级为 confident 的代码仓库 |
code_for_paper(paper_id_or_url, limit, include_possible) | 按排名列出实现某篇论文的 GitHub 仓库 |
search_papers(query, limit, year, venue, has_code) | 支持筛选条件的自由文本论文搜索 |
所有工具均为只读,返回纯 JSON,并将 API 错误作为 {"error": "...", "status": N} 返回,而不是抛出异常——Agent 无论如何都能获取结构化输出。
常见工作流
核心发现
# Find papers with code about a topic
codeofpaper search "reinforcement learning" --sort has_code --has-code
# Get the best repo for a specific paper
codeofpaper code 1706.03762
# Accepts arXiv URLs — no need to extract the ID
codeofpaper 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 code
codeofpaper open 2010.11929
codeofpaper open 2010.11929 --code
浏览与监控
# What's trending in computer vision?
codeofpaper trending --category cs.CV --sort hot
# Conference papers that just got new code
codeofpaper code-drops --days 7
# NeurIPS 2024 oral papers with code
codeofpaper 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
可组合的流水线
# Find implementations of a paper's related work
codeofpaper similar 2010.11929 -o quiet | codeofpaper batch code
# Batch process a reading list
cat reading_list.txt | codeofpaper batch paper > enriched.jsonl
# Cross-reference with GitHub CLI
codeofpaper code 1706.03762 -o quiet | head -1 | xargs gh repo view
# Export conference papers as BibTeX
codeofpaper export conference neurips_2024 --has-code -o bibtex > neurips2024_code.bib
# Bulk export a category for meta-analysis
codeofpaper export trending --category cs.CV --has-code --days 365 -o csv > cv_with_code.csv
多步骤脚本
# Find a paper → get top repo → clone it
REPO=$(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 neighborhood
ID=$(codeofpaper random --quality high -o quiet)
codeofpaper paper "$ID"
codeofpaper similar "$ID"
codeofpaper code "$ID"
# Quick paper lookup in a script
ARXIV_ID="2010.11929"
TITLE=$(codeofpaper -o json paper "$ARXIV_ID" | jq -r '.title')
echo "Paper: $TITLE"
配置
配置通过 platformdirs 以 JSON 格式存储:
| OS | 路径 |
|---|---|
| Linux | ~/.config/codeofpaper/config.json |
| macOS | ~/Library/Application Support/codeofpaper/config.json |
| Windows | %APPDATA%\codeofpaper\config.json |
字段:
{
"api_url": "https://api.codeofpaper.com",
"api_key": null,
"default_format": "table",
"ca_bundle": null
}
无需配置文件——使用合理的默认值即可开箱即用。
优先级顺序
选项按以下顺序解析(优先采用靠前者):
- CLI 标志(
--api-url、--api-key、--ca-bundle、-o) - 环境变量(
CODEOFPAPER_API_URL、CODEOFPAPER_API_KEY、CODEOFPAPER_CA_BUNDLE、CODEOFPAPER_OUTPUT、CODEOFPAPER_TIMEOUT) - 配置文件
- 内置默认值
企业代理/自定义 TLS 证书
如果你使用会检查 TLS 的企业代理(中间人),会看到类似这样的 SSL 错误:
Cannot reach API: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain
要解决此问题,请让 CLI 使用企业 CA 证书包(PEM 文件)。以下三种等效方式按优先级排列:
# 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"}
如果没有 CA 证书文件,请向 IT 部门索取。
提示: 如果你已为其他工具(pip、curl 等)设置了
SSL_CERT_FILE,httpx 会自动遵循该变量,无需额外配置。
别名:cop
codeofpaper 和 cop 均已安装为入口点:
cop search "transformers"
cop -o json trending | jq '.'
**注意:**如果
cop与系统上的其他工具冲突,请改用codeofpaper。
Shell 补全
为你的 shell 安装 Tab 补全:
codeofpaper --install-completion
支持 bash、zsh、fish 和 PowerShell。安装后,重启 shell 或加载补全文件。
帮助
codeofpaper --help # List all commands
codeofpaper search --help # Help for a specific command
codeofpaper -v # Print version
链接
- **网站:**https://codeofpaper.com
- **API 文档:**https://api.codeofpaper.com/docs
- **Agent 发现:**https://codeofpaper.com/llms.txt
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。