Scholar Feed

io.github.YGao2005由 GitHub 帳號 YGao2005 發布v3.20.0更新於 Oct 24, 2026

Rank CS/AI/ML papers by citations, forecast impact, or code adoption; trace 23.2M citation edges.

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取知識與記憶資料與分析

概覽

AI 產生的概覽

Scholar Feed 讓助理搜尋並依引用、影響力或程式碼採用度排序 arXiv 上的電腦科學與 AI/ML 論文,追溯引用關係、讀取全文並管理個人文獻庫。

可以做什麼
依關鍵字、語意相似度、分類、新穎度分數、趨勢或引用範圍搜尋與探索論文,並批次查詢論文詳情或匯出 BibTeX。向前與向後追溯引用圖譜,依章節讀取單篇或多篇論文全文。取得領域概覽、某篇論文所在領域的基礎脈絡,以及方法是否已被取代的漂移檢查。儲存、按讚、註記論文並歸入收藏集,建立定期評估的檢索監控並預覽或取得新命中。針對已儲存的文獻庫進行附引用的問答,並找出收藏集或主題中的缺口。
適用情境
適合文獻回顧、技術選型調查、趨勢追蹤、作者探索,以及在不離開聊天用戶端的情況下快速熟悉陌生研究領域。如果你經常處理 arXiv 論文,並希望取得排序、摘要與引用脈絡,值得加入。
執行需求
可作為遠端端點使用,也可透過 npx 作為本機 npm 套件執行,後者需要 Node.js 18 或更新版本。匿名使用不需金鑰;選用的 SF_API_KEY 來自免費帳號,可提高每月額度並解鎖文獻庫功能。需要能連線至 Scholar Feed API 的網路。
安裝前請注意
匿名使用依 IP 每月限 200 次呼叫;免費金鑰為 500 次,Pro 為 10,000 次,部分工具(嵌入、缺口分析)僅限 Pro。文獻庫工具會寫入你的帳號:儲存、按讚、註記、建立收藏集與監控、刪除監控。SF_API_KEY 屬於機密,應透過環境變數提供,不要寫入共用設定。查詢與論文請求會傳送至第三方服務。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Scholar Feed,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.YGao2005%2Fscholar-feed-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "scholar-feed": {
      "type": "http",
      "url": "https://mcp.scholarfeed.org/mcp?src=mcp-registry"
    }
  }
}

README

[Scholar Feed]

Scholar Feed MCP Server

[CI] [npm version] [Node] [License: MIT] [smithery badge]

Research paper search with ranking and citation tracking, for LLM engineering and academic research, without leaving Claude Code, Cursor, or any MCP client.

Most paper tools hand back a flat list. Scholar Feed ranks it: sort by relevance, by proven citation count, or by rising impact, then trace any paper's citation lineage forward and backward across 22M+ edges. 600k+ CS/AI/ML papers, updated daily, each with an LLM-generated summary and novelty score.

Scholar Feed indexes arXiv papers daily and ranks them on recency, citation velocity, institutional reputation, and code availability.

Quick Start

bash
npx scholar-feed-mcp@latest init

This interactive wizard will:

  1. Optionally ask for an API key (or skip for anonymous access)
  2. Detect your MCP client (Claude Code, Cursor, or Claude Desktop)
  3. Write the config and verify the connection

No API key required. Anonymous access gives you 200 calls/month, enough for a typical research session. For a higher quota (500/month per account) plus your library — collections, saved papers and watches — get a free key at scholarfeed.org/settings.

Try asking: "Search for recent papers on test-time compute scaling"

What You Can Do

Technology scouting: "What novel research on retrieval-augmented generation was published this month?"

Literature review: "Find papers similar to 2401.04088 and export their BibTeX"

Trend monitoring: "What's trending in cs.CV this week? Summarize the top 3."

Author discovery: "Who are the top researchers working on efficient LLM inference?"

Field orientation: "Give me an orientation report on sparse mixture-of-experts architectures."

Installation

The fastest path is npx scholar-feed-mcp@latest init, which auto-detects your client and writes the config. To set it up by hand, every client launches the same stdio server (npx -y scholar-feed-mcp@latest); only the config-file location and the wrapper key differ.

Claude Desktop (one-click) installs without editing any config: download the .mcpb bundle from the latest release and open it (or drag it into Settings > Extensions). The installer shows one optional field for a Scholar Feed API key (sf_...): leave it blank for anonymous mode (200 calls/month), or paste a free key from scholarfeed.org/settings for 500/month.

Claude Code takes a one-line command:

bash
# Anonymous (200 calls/month)claude mcp add scholar-feed -- npx -y scholar-feed-mcp@latest
# With an API key (500 calls/month per account)claude mcp add scholar-feed -e SF_API_KEY=sf_your_key_here -- npx -y scholar-feed-mcp@latest

Every other client takes this standard JSON block:

json
{  "mcpServers": {    "scholar-feed": {      "command": "npx",      "args": ["-y", "scholar-feed-mcp@latest"]    }  }}

To raise the quota to 500 calls/month, add "env": { "SF_API_KEY": "sf_your_key_here" } to the server entry. Get a free key at scholarfeed.org/settings.

Drop that block into the right config file:

ClientConfig fileNotes
Cursor.cursor/mcp.json (project) or ~/.cursor/mcp.json (global)Restart Cursor.
Claude DesktopmacOS: ~/Library/Application Support/Claude/claude_desktop_config.json; Windows: %APPDATA%\Claude\claude_desktop_config.jsonSettings → Developer → Edit Config, then restart.
Windsurf~/.codeium/windsurf/mcp_config.jsonCascade → MCP icon → Configure, then refresh.
Cline / Roo Codecline_mcp_settings.jsonMCP Servers sidebar icon → Configure. Cline and Roo Code share this format.
Gemini CLI~/.gemini/settings.json (or project .gemini/settings.json)
LM Studio~/.lmstudio/mcp.jsonProgram tab → Install → Edit mcp.json. Follows Cursor's notation.
JetBrains (PyCharm / IntelliJ)AI Assistant → MCP → Add → As JSONRequires AI Assistant 2025.1+.

A few clients need a different wrapper key or file format:

OpenAI Codex, VS Code (GitHub Copilot), Zed, Continue, and project-scoped configs

OpenAI Codex (~/.codex/config.toml, or $CODEX_HOME/config.toml if you set that) uses TOML, not JSON — the block above will not work. One file serves both the Codex CLI and the IDE extension.

toml
[mcp_servers.scholar-feed]command = "npx"args = ["-y", "scholar-feed-mcp@latest"]env = { SF_API_KEY = "sf_your_key_here" }

Drop the env line to run keyless at 200 calls/month. On Windows, if Codex cannot launch the server, use command = "cmd" with args = ["/c", "npx", "-y", "scholar-feed-mcp@latest"].

VS Code: GitHub Copilot (.vscode/mcp.json) uses a servers key and an explicit type, and needs Copilot agent mode. You can also run MCP: Add Server from the Command Palette.

json
{  "servers": {    "scholar-feed": {      "type": "stdio",      "command": "npx",      "args": ["-y", "scholar-feed-mcp@latest"]    }  }}

Zed (settings.json) uses a context_servers key, and the "source": "custom" line is required (without it, Zed silently skips the entry).

json
{  "context_servers": {    "scholar-feed": {      "source": "custom",      "command": "npx",      "args": ["-y", "scholar-feed-mcp@latest"]    }  }}

Continue uses YAML, with mcpServers as a list, in ~/.continue/config.yaml (global) or .continue/config.yaml (workspace).

yaml
mcpServers:  - name: scholar-feed    type: stdio    command: npx    args:      - "-y"      - scholar-feed-mcp@latest

Project-scoped (.mcp.json), to share the server across a repo:

json
{  "mcpServers": {    "scholar-feed": {      "command": "npx",      "args": ["-y", "scholar-feed-mcp@latest"],      "env": { "SF_API_KEY": "${SF_API_KEY}" }    }  }}

Windows: for any JSON config above, use "command": "cmd" and "args": ["/c", "npx", "-y", "scholar-feed-mcp@latest"].

Scholar Feed is a standard stdio MCP server, so any other MCP-compatible client works with the standard block too.

Available Tools (27)

Core Search & Discovery

ToolDescriptionKey Parameters
search_papersSemantic + keyword search with filters. Also does similar-paper discovery, citation-scoped search, and trending.q, category, novelty_min, days, sort, anchor_paper_id, scope_to_citations_of, mode, method_category, task, dataset, contribution_type, task_category, cursor, limit
get_paperGet full paper details by arXiv ID. Also handles batch lookup and BibTeX export.arxiv_ids, format, fields, verbose
get_citationsCitation graph (outgoing refs or incoming citations)arxiv_id, direction, limit, fields
fetch_fulltextRead a paper's text by section (abstract, introduction, related_work, method, results, conclusion, or all). Pass arxiv_ids to read up to 8 papers in one call; a paper that cannot be extracted comes back as a failed entry, not a failed call.arxiv_id, arxiv_ids, sections

Authors

ToolDescriptionKey Parameters
find_authorFind researchers by topic/name query, or retrieve a profile by ID.q, id, field, limit
co_author_graphCo-authorship neighborhood for an authorauthor_ids, window_years

Embeddings

ToolDescriptionKey Parameters
embed_textGet a 768-dim Gemini embedding for text (for HyDE and custom similarity). Pro-only, so anonymous/free callers get a 403 pro_required.text, task_type

Research

ToolDescriptionKey Parameters
get_field_orientationCheap retrieval orientation for a research area: top papers, subfields, open problems. No Pro quota.topic, limit
get_foundational_lineageFoundational work for a paper's niche via the citation graph (consensus-then-lift): niche_roots → field_level → discipline, with cited_by_in_niche evidence. Surfaces canonical anchors semantic search misses. No Pro quota.anchor_paper_id, scope, generality_ceiling, limit
check_drift"Is the method I use superseded — and by what?" Critique receipts + benchmark-dominance edges over ~10 LLM builder-problem families. No Pro quota.family, method, limit

Library, Collections, Watches & Gap Analysis (require SF_API_KEY)

These MUTATE or read the authenticated user's account. The core read/search tools above work anonymously; these need a key.

ToolDescriptionKey Parameters
save_paperBookmark a paper to your library (idempotent; feeds personalization).arxiv_id
unsave_paperRemove a paper from your library (idempotent).arxiv_id
like_paper"More like this" calibration signal for the For You feed (insert-only).arxiv_id
list_libraryList your saved papers, newest first (includes your notes).limit, page
annotate_paperRecord your verdict on a paper — why it matters, when to use it, why you ruled it out. Upserted; returned by list_library, so it is what a later session reads instead of re-deriving.arxiv_id, note_text, action
list_collectionsList collections with paper counts.(none)
create_collectionCreate a named collection (get-or-create; no error on duplicate).name
add_to_collectionAdd a paper to a collection by name or id (also auto-saves).arxiv_id, collection_name, collection_id
remove_from_collectionRemove a paper from a collection (stays saved).arxiv_id, collection_name, collection_id
create_watchStanding daily-evaluated saved search; get-or-create by name. Define it with a structured criteria filter (recommended) or a single seed selector.name, novelty_min, criteria, recency_days, q, collection_name, collection_id, anchor_paper_id, scope_to_citations_of, author_id, category
list_watchesList watches with summary, last_evaluated_at, and pending_hits.(none)
check_watchesPull new matches since the last digest (read-only, idempotent).watch_name, watch_id, limit
update_watchEdit a watch in place: rename, change novelty_min, or retarget its structured criteria (clears pending hits). Address by name or id.name, watch_id, new_name, novelty_min, criteria, recency_days
preview_watchDry-run a structured criteria filter over recent papers without creating a watch; returns match_count and a sample to tune before saving. Read-only.criteria, recency_days
delete_watchDelete a watch by name or id (idempotent).name, watch_id
find_gaps"What am I missing?" for a collection or topic: foundational + frontier work you haven't saved (read-only, Pro).collection_name, collection_id, topic, scope, limit
ask_library"Answer from my saved set": a cited synthesis over your library or one collection, grounded only in papers you've saved (read-only). The inverse of find_gaps. Free 20/month, then Pro 200/day.question, collection_name, collection_id, limit

Novelty Score

Every paper has an llm_novelty_score from 0.0 to 1.0:

RangeMeaningExample
0.7+Paradigm shift or broad SOTANew architecture that changes the field
0.5-0.7Novel method with strong resultsNew training technique with clear gains
0.3-0.5Incremental improvementApplying known method to new domain
<0.3Survey, dataset, or minor extensionLiterature review, benchmark release

Use novelty_min: 0.5 in search_papers to filter for genuinely novel work.

Rate Limits

EndpointLimit
search_papers30/min
get_paper30/min
get_citations30/min
fetch_fulltext (single paper)10/min
fetch_fulltext (batch, 2-8 papers)6/min
find_author20/min
co_author_graph20/min
embed_text30/min
get_field_orientation20/min
get_foundational_lineage20/min
find_gaps20/min
ask_library10/min

Responses include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers.

Monthly volume quota (separate from the per-minute limits above, counted per account across all your keys): 200 calls/month anonymous (per IP), 500/month with a free key, 10,000/month on Pro. A smaller daily cap (100 / 200 / 2,000) sits underneath it as a burst guardrail so a runaway loop cannot spend a month in an hour; hitting it returns a 429 with scope: "burst" and leaves your monthly quota untouched. Read your remaining month from GET /v1/health (monthly_limit / usage_this_month) before a batch.

The AI synthesis tools have their own limits: ask_library is 20/month free, then 200/day on Pro; find_gaps is Pro-only (a 403 pro_required otherwise). embed_text needs an account of any tier — anonymous callers get a 403 account_required.

Example Response

search_papers with q: "attention mechanism" returns:

json
{  "papers": [    {      "arxiv_id": "2401.04088",      "title": "Attention Is All You Need (But Not All You Get)",      "authors": ["A. Researcher", "B. Scientist"],      "year": 2024,      "categories": ["cs.LG", "cs.AI"],      "primary_category": "cs.LG",      "arxiv_url": "https://arxiv.org/abs/2401.04088",      "has_code": true,      "github_url": "https://github.com/example/repo",      "citation_count": 42,      "rank_score": 0.73,      "llm_summary": "Proposes a sparse attention variant that reduces compute by 60% while matching dense attention accuracy on 5 benchmarks.",      "llm_novelty_score": 0.55    }  ],  "total": 1847,  "page": 1,  "limit": 20,  "next_cursor": "eyJzIjogMC43MywgImlkIjogIjI0MDEuMDQwODgifQ=="}

Pass next_cursor back to get the next page (keyset pagination, which is more stable than page numbers for large result sets).

Environment Variables

VariableRequiredDefaultDescription
SF_API_KEYNo(none)Your Scholar Feed API key (starts with sf_). Without it, runs in anonymous mode (200 calls/month).
SF_API_BASE_URLNoProduction URLOverride API base URL

Development

bash
npm installnpm run build      # Build to build/npm run dev        # Watch modenpm run typecheck  # Type check without emittingnpm test           # Run tests

Contributing

See CONTRIBUTING.md for guidelines.

Troubleshooting

"Authentication failed: your SF_API_KEY is invalid" The key may have been revoked. Generate a new one at scholarfeed.org/settings. Or remove the key to use anonymous mode.

"Rate limit exceeded" or "Anonymous daily limit exceeded" Anonymous mode allows 200 calls/month. Get a free API key at scholarfeed.org/settings for 500 calls/month per account, plus your library.

Server shows as "failed" with no error — especially right after an update The first launch (and the first launch after each new release) makes npx download the package. The published bin is a single self-contained file with no dependency tree to resolve, so this is fast — but on a slow link it can still outrun your client's start-up timeout, and the server then shows as "failed" with no detail. Fixes: (1) warm the cache by running it once in a terminal — npx -y scholar-feed-mcp@latest --version — then restart your client; (2) raise the MCP start-up timeout if your client supports it (Claude Code: MCP_TIMEOUT=60000). For the fastest, offline-capable launches, install once globally and point the config at it instead of npx:

bash
npm install -g scholar-feed-mcp# then in your MCP config:  "command": "scholar-feed-mcp", "args": []

Tool calls time out or fail silently Ensure Node.js 18+ is installed (node --version). Older versions lack the native fetch API.

Stale npx cache The config blocks above pin scholar-feed-mcp@latest, which re-resolves the newest version each launch. If you previously used an unpinned scholar-feed-mcp and are stuck on an old build: npx --yes scholar-feed-mcp@latest.

Windows: "command not found" Use "command": "cmd" with "args": ["/c", "npx", "-y", "scholar-feed-mcp@latest"] in your MCP config.

About Scholar Feed

Scholar Feed is a research-discovery engine for computer science and AI/ML papers, founded in 2025. It indexes 600,000+ papers from arXiv — ranked by novelty, citation velocity, and relevance — with LLM-generated summaries, a citation graph, author profiles, and full-text extraction. It is available as a website, a public REST API, and a Model Context Protocol (MCP) server that AI agents can call directly. This package (scholar-feed-mcp) is the open-source MCP server.

Privacy

See our privacy policy.

License

MIT

來源:README.md,提交 5ca5ede

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

1
  1. v3.20.0最新Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分