AgentXM

Scholar Feed

mcp remote · streamable-http · v3.20.0 · source: crawl

https://mcp.scholarfeed.org/mcp?src=mcp-registry

https://github.com/YGao2005/scholar-feed-mcp

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

AgentXM badge

Works

100

Verified Oct 31, 2026 · p50 686 ms · p95 868 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server 'scholar-feed'
tools_listed15pass27 tools
schema_complete15pass26 of 27 tools have a description and a typed schema
latency_p5010passp50 686 ms
latency_p955passp95 868 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10passno patterns found
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (27)

NameDescriptionSchema
search_papersSearch Scholar Feed's 600k+ CS/AI/ML paper corpus. Semantic (embedding) search by default, so it finds conceptually related work even when the wording differs. EVERY PARAMETER DOCUMENTS ITS OWN BEHAVItyped
get_paperGet full details for one or more papers by arXiv ID. Pass a single-element array for one paper; pass multiple IDs to batch-fetch up to 50 papers in one call. Pass format='bibtex' to get a .bib citatiotyped
get_citationsGet the citation graph for a paper, sorted by citing-paper rank_score (highest-impact first). 'citing' = outgoing references this paper cites; 'cited_by' = incoming citations from other papers. Defaultyped
fetch_fulltextRead arXiv papers' actual text, by section. Section selection controls context cost: ask for the one or two you need, not whole papers — 'all' is ~13.5KB a paper, 8 of them ~108KB. Section labels are incomplete
find_authorTwo-mode author tool. Provide exactly one of q or id. Q-MODE (q=...): search for researchers by topic or name — uses embedding similarity for topics ('efficient LLM inference'), fuzzy matching for namtyped
co_author_graphFind the co-authorship neighborhood of one or more authors. Given a list of author_ids, returns edges {from, to, papers_count, last_collab_year} where 'from' is one of the input authors and 'to' is antyped
embed_textEmbed a text string into a 768-dim Gemini Flash vector. Use for HyDE-style retrieval: (1) write a hypothetical short paper that would perfectly answer the user's query, (2) embed it with task_type='REtyped
get_field_orientationReturns CANDIDATE FOUNDATIONAL PAPERS for a research topic — cheap retrieval only, no synthesis. Ranks papers by a blend of citation count (0.6 weight, captures importance) and semantic similarity to typed
get_foundational_lineageReturns the FOUNDATIONAL WORK FOR A PAPER'S NICHE via the citation graph — the relative question ('what is foundational for THIS paper's specific sub-field', often itself only modestly cited) rather ttyped
save_paperSave a paper to the authenticated user's Scholar Feed library (bookmark). MUTATES the library and feeds the user's personalization — saved papers are the strongest signal in the For You feed and the etyped
unsave_paperRemove a paper from the authenticated user's Scholar Feed library. MUTATES the library. Idempotent: removing a paper that isn't saved leaves it unsaved. Note: the saved library is a superset of all cotyped
like_paperLike a paper — a 'more like this' calibration signal that tunes the user's For You feed toward similar work. INSERT-only and idempotent (liking twice is a no-op, never un-likes). Distinct from save_patyped
list_libraryList the authenticated user's saved papers (their library), newest first. Read-only. Use this to review a reading list or to see what's already saved before saving more. Requires SF_API_KEY. SHAPE: agtyped
list_collectionsList the authenticated user's collections (named groups of saved papers) with paper counts. Read-only. Use before add_to_collection to see existing collections. Requires SF_API_KEY.typed
create_collectionCreate a new named collection. MUTATES. If a collection with that name already exists, returns the existing one (get-or-create — never errors on duplicate). Use "/" to nest under a folder, e.g. "Agenttyped
add_to_collectionAdd a paper to a collection, addressed by collection_id OR collection_name (get-or-create by name — no need to look up an id first). Nest with "/": collection_name "AgentOPA/Formal" files the paper untyped
remove_from_collectionRemove a paper from a collection, addressed by collection_id OR collection_name. MUTATES (the paper stays in your library; it's only removed from this collection). Idempotent. Requires SF_API_KEY.typed
create_watchCreate a standing watch — evaluated daily against newly-indexed papers, surfacing new matches via the email digest and via check_watches. MUTATES. Get-or-create by name (re-creating with an existing ntyped
list_watchesList the authenticated user's watches with name, a one-line definition summary, last_evaluated_at, and pending_hits (count of new matches since the last digest delivery). Read-only. Use before create_typed
check_watchesPull new matching papers since the last digest delivery, in the same shape as search_papers results. Optionally scope to one watch by watch_name OR watch_id; omit both for all watches. Read-only and ityped
delete_watchDelete a watch, addressed by watch_id OR name. MUTATES. Idempotent: deleting a non-existent watch is a no-op (no error). To change a watch in place (rename / novelty_min / retarget criteria) use updattyped
update_watchUpdate an existing watch in place — rename, change novelty_min, or RETARGET its structured filter `criteria`. MUTATES. Address by watch_id OR name. Changing criteria replaces the definition and clearstyped
preview_watchDry-run a structured filter over recent papers WITHOUT creating a watch — the tuning loop. Returns {window_days, needs_similarity, match_count, sample} so you can iterate (add a category, raise min_notyped
find_gapsFind important work you HAVEN'T saved, for a collection or topic — a 'what am I missing?' analysis. Returns two buckets: foundational_gaps (canonical citation-graph anchors in the niche, not in your ltyped
ask_libraryAnswer a question using ONLY the papers you've saved — a synthesis over your library (or one collection) with inline [arXiv-ID] citations. The inverse of find_gaps (which finds important work you're Mtyped
annotate_paperRecord YOUR verdict on a paper — why it matters for your work, when to use it, or why you ruled it out. One note per paper, upserted (writing again replaces it), so it is safe to call repeatedly. Requtyped
check_driftAnswers 'for my problem, is the method I use superseded — and by what?' over a grounded, entity-resolved knowledge base of textual critique receipts + benchmark-dominance edges (no LLM call at query ttyped

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/io-github-ygao2005-scholar-feed-mcp-3.svg)](https://app.agent-xm.com/a/io-github-ygao2005-scholar-feed-mcp-3)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.