Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Academic paper search across 11 sources with AI curation, ranked push, Zotero and Obsidian support.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
OPENALEX_EMAIL, CORE_API_KEY, TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID, DISCORD_WEBHOOK_URL, ZOTERO_LIBRARY_ID, ZOTERO_API_KEY标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"paper-distill": {
"command": "uvx",
"args": [
"paper-distill-mcp"
],
"env": {
"OPENALEX_EMAIL": "your-value",
"CORE_API_KEY": "your-value",
"TELEGRAM_BOT_TOKEN": "your-value",
"TELEGRAM_CHAT_ID": "your-value",
"DISCORD_WEBHOOK_URL": "your-value",
"ZOTERO_LIBRARY_ID": "your-value",
"ZOTERO_API_KEY": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add paper-distill --env OPENALEX_EMAIL=your-value --env CORE_API_KEY=your-value --env TELEGRAM_BOT_TOKEN=your-value --env TELEGRAM_CHAT_ID=your-value --env DISCORD_WEBHOOK_URL=your-value --env ZOTERO_LIBRARY_ID=your-value --env ZOTERO_API_KEY=your-value -- uvx paper-distill-mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"paper-distill": {
"command": "uvx",
"args": [
"paper-distill-mcp"
],
"env": {
"OPENALEX_EMAIL": "your-value",
"CORE_API_KEY": "your-value",
"TELEGRAM_BOT_TOKEN": "your-value",
"TELEGRAM_CHAT_ID": "your-value",
"DISCORD_WEBHOOK_URL": "your-value",
"ZOTERO_LIBRARY_ID": "your-value",
"ZOTERO_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"paper-distill": {
"type": "stdio",
"command": "uvx",
"args": [
"paper-distill-mcp"
],
"env": {
"OPENALEX_EMAIL": "your-value",
"CORE_API_KEY": "your-value",
"TELEGRAM_BOT_TOKEN": "your-value",
"TELEGRAM_CHAT_ID": "your-value",
"DISCORD_WEBHOOK_URL": "your-value",
"ZOTERO_LIBRARY_ID": "your-value",
"ZOTERO_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
OPENALEX_EMAIL envTELEGRAM_CHAT_ID envZOTERO_LIBRARY_ID env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 Eclipse-Cj 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:CORE_API_KEY, TELEGRAM_BOT_TOKEN, DISCORD_WEBHOOK_URL, ZOTERO_API_KEY
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.4)于8个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:Context7, Codebase Memory, Exa
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Academic paper search, intelligent curation, and multi-platform delivery — built on the Model Context Protocol.
Compatible with all MCP clients: Claude Desktop, Claude Code, Cursor, Trae, Codex CLI, Gemini CLI, OpenClaw, VS Code, Zed, and more.
⚠️ Early development stage. Many features are still being validated and may contain bugs or instabilities. Feedback and bug reports are warmly welcome!
uvx paper-distill-mcp
That's it. Your AI client will discover all tools automatically. No API keys required for basic paper search.
No
uv? →curl -LsSf https://astral.sh/uv/install.sh | shorbrew install uv
Other installation methods (pip / Homebrew / Docker / source)
pip:
pip install paper-distill-mcp
Homebrew:
brew tap Eclipse-Cj/tap
brew install paper-distill-mcp
Docker:
docker run -i --rm ghcr.io/eclipse-cj/paper-distill-mcp
From source (developers):
git clone https://github.com/Eclipse-Cj/paper-distill-mcp.git
cd paper-distill-mcp python3 -m venv .venv && .venv/bin/pip install --upgrade pip && .venv/bin/pip install -e .
Add to claude_desktop_config.json (Settings → Developer → Edit Config):
{
"mcpServers": { "paper-distill": { "command": "uvx", "args": ["paper-distill-mcp"] } } }
claude mcp add paper-distill -- uvx paper-distill-mcp
Or add to .mcp.json:
{
"mcpServers": { "paper-distill": { "command": "uvx", "args": ["paper-distill-mcp"] } } }
Add to ~/.codex/config.toml:
[mcp_servers.paper-distill]
command = "uvx" args = ["paper-distill-mcp"]
Add to ~/.gemini/settings.json:
{
"mcpServers": { "paper-distill": { "command": "uvx", "args": ["paper-distill-mcp"] } } }
mcporter config add paper-distill --command uvx --scope home -- paper-distill-mcp
mcporter list # verify
To remove:
mcporter config remove paper-distill
OpenClaw — install from source
git clone https://github.com/Eclipse-Cj/paper-distill-mcp.git ~/.openclaw/tools/paper-distill-mcp
cd ~/.openclaw/tools/paper-distill-mcp uv venv .venv && uv pip install . mcporter config add paper-distill \ --command ~/.openclaw/tools/paper-distill-mcp/.venv/bin/python3 \ --scope home \ -- -m mcp_server.server mcporter list
To remove:
rm -rf ~/.openclaw/tools/paper-distill-mcp && mcporter config remove paper-distill
Same JSON config, different config file paths:
| Client | Config path |
|---|---|
| Claude Desktop | claude_desktop_config.json |
| Trae | Settings → MCP → Add |
| Cursor | ~/.cursor/mcp.json |
| VS Code | .vscode/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Zed | settings.json |
paper-distill-mcp --transport http --port 8765
After connecting your client, tell the agent "initialize paper-distill". It will call setup() and walk you through:
pool_refresh() populates the paper poolAll settings can be updated at any time through conversation:
All parameters are set via configure() or add_topic() — no manual file editing needed.
add_topic / manage_topics)| Parameter | Description | Default |
|---|---|---|
key | Topic identifier (e.g. "llm-reasoning") | — |
label | Display name (e.g. "LLM Reasoning") | — |
keywords | Search keywords, 3–5 recommended | — |
weight | Topic priority 0.0–1.0 (higher = more papers) | 1.0 |
blocked | Temporarily disable without deleting | false |
configure)| Parameter | Options | Default | Description |
|---|---|---|---|
paper_count_value | any integer | 6 | Papers per push |
paper_count_mode | "at_most" / "at_least" / "exactly" | "at_most" | Count mode |
picks_per_reviewer | any integer | 5 | Shortlist size per reviewer |
review_mode | "single" / "dual" | "single" | Single AI or dual blind review |
custom_focus | free text | "" | Custom selection criteria |
💡 Dual blind review: two independent AI reviewers each shortlist papers; a chief reviewer makes the final push/overflow/discard call. Papers that don't make the cut are held for the next cycle rather than discarded. Enable with
configure(review_mode="dual").
configure)Controls paper scoring. The four weights should sum to approximately 1.0.
| Parameter | Measures | Default |
|---|---|---|
w_relevance | Keyword and topic match | 0.55 |
w_recency | How recently the paper was published | 0.20 |
w_impact | Citation count (log-normalized) | 0.15 |
w_novelty | Whether this is the first appearance | 0.10 |
Example: "Prioritize recent papers" →
configure(w_recency=0.35, w_relevance=0.40)
configure)Abstract extraction is the most token-intensive step. It runs on the main agent by default, but can be delegated to a cheaper model to cut costs significantly.
| Parameter | Value | Description |
|---|---|---|
summarizer | "self" | Main agent handles extraction (most expensive) |
agent name (e.g. "scraper") | Delegate to a low-cost sub-agent | |
| API URL | Call an external LLM API (DeepSeek, Ollama, etc.) |
🔧 Strongly recommended: for 30+ papers, frontier model costs add up fast. A $0.14/M-token model handles extraction just as well. Set this with
configure(summarizer="scraper").
configure)| Parameter | Description | Default |
|---|---|---|
scan_batches | Split the paper pool into N batches, reviewed over N+1 days | 2 (3 days) |
pool_refresh() searches all 11 APIs and fills the pool. The pool is then split into batches for daily AI review — avoiding a single 60+ paper dump.
scan_batches=2 (default): review first half on day 1, second half on day 2, finalize on day 3scan_batches=3: review one-third per day, finalize on day 4When all batches are reviewed, the pool is exhausted and the next run triggers a fresh API search automatically.
| Platform | Environment variables | platform value |
|---|---|---|
| Telegram | TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID | "telegram" |
| Discord | DISCORD_WEBHOOK_URL | "discord" |
| Feishu | FEISHU_WEBHOOK_URL | "feishu" |
| WeCom | WECOM_WEBHOOK_URL | "wecom" |
⚠️ Important: set environment variables in the MCP client config
envfield, not as system environment variables. Otherwisesend_push()cannot access the webhook URL and the AI may generate scripts that call webhooks directly, causing encoding issues.
Config example (WeCom + Claude Desktop):
{
"mcpServers": { "paper-distill": { "command": "uvx", "args": ["paper-distill-mcp"], "env": { "WECOM_WEBHOOK_URL": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY" } } } }
Restart the MCP client after editing the config.
Push message format (fixed):
1. Paper Title (Year)
Journal Name
configure)Personal paper library website, auto-updated on every push. Built on Astro + Vercel (free tier).
| Parameter | Description |
|---|---|
site_deploy_hook | Vercel deploy hook URL (triggers site rebuild) |
site_repo_path | Local path to the paper-library repository |
Setup steps (the AI agent will guide you):
configure(site_deploy_hook=...)After setup, every finalize_review() call pushes the digest JSON to the site repo and triggers a Vercel rebuild. The site updates in ~30 seconds.
Save papers to Zotero with one command. Requires a Zotero account and API key.
Getting credentials:
Add to MCP client config:
{
"mcpServers": { "paper-distill": { "command": "uvx", "args": ["paper-distill-mcp"], "env": { "ZOTERO_LIBRARY_ID": "your userID", "ZOTERO_API_KEY": "your API key" } } } }
After setup, reply collect 1 3 after a push to save papers 1 and 3 to Zotero, automatically sorted into per-topic folders.
| Variable | Description | Required |
|---|---|---|
OPENALEX_EMAIL | Increases OpenAlex API rate limit; also used for Unpaywall | optional |
CORE_API_KEY | CORE API key (free registration) | optional |
| DEEPSEEK_API_KEY | Enhanced sear
只显示了开头部分;其余内容请在仓库中阅读