Scholar Feed MCP Server
Scholar Feed MCP 서버
Claude Code, Cursor 또는 모든 MCP 클라이언트에서 LLM 기반의 참신성 분석을 통해 56만 건 이상의 CS/AI/ML 연구 논문을 검색하세요.
Scholar Feed는 매일 arXiv 논문을 색인화하고 다중 신호 점수 시스템(최신성, 인용 속도, 기관 평판, 코드 가용성)을 사용하여 순위를 매깁니다. 각 논문에는 LLM이 생성한 요약과 참신성 점수가 포함되어 있습니다.
빠른 시작
npx scholar-feed-mcp init이 대화형 마법사는 다음을 수행합니다:
선택적으로 API 키를 요청합니다(익명 액세스의 경우 건너뛰기 가능)
MCP 클라이언트(Claude Code, Cursor 또는 Claude Desktop)를 감지합니다
구성을 작성하고 연결을 확인합니다
API 키가 필요하지 않습니다. 익명 액세스는 하루 100회 호출을 제공하며, 이는 일반적인 연구 세션에 충분합니다. 더 높은 제한(하루 500회)을 원하시면 scholarfeed.org/settings에서 무료 키를 받으세요.
다음과 같이 질문해 보세요: "test-time compute scaling에 관한 최근 논문 검색해 줘"
Related MCP server: Research MCP
활용 방법
기술 스카우팅 — "이번 달에 발표된 검색 증강 생성(RAG)에 관한 참신한 연구는 무엇인가요?"
문헌 검토 — "2401.04088과 유사한 논문을 찾아서 BibTeX으로 내보내 줘"
트렌드 모니터링 — "이번 주 cs.CV 분야의 트렌드는 무엇인가요? 상위 3개를 요약해 줘."
심층 분석 — "'거대 언어 모델의 추론'에 관한 심층 연구 세션을 실행해 줘"
벤치마크 추적 — "MMLU 리더보드를 보여주고 GPT-4와 LLaMA-3를 비교해 줘"
저자 발견 — "효율적인 LLM 추론 분야에서 활동하는 상위 연구자는 누구인가요?"
수동 설치
Claude Code
# Without API key (anonymous, 100 calls/day)
claude mcp add scholar-feed -- npx -y scholar-feed-mcp
# With API key (500 calls/day)
claude mcp add scholar-feed -e SF_API_KEY=sf_your_key_here -- npx -y scholar-feed-mcpCursor (.cursor/mcp.json)
{
"mcpServers": {
"scholar-feed": {
"command": "npx",
"args": ["-y", "scholar-feed-mcp"]
}
}
}API 키를 추가하려면 구성에 "env": { "SF_API_KEY": "sf_your_key_here" }를 추가하세요.
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"scholar-feed": {
"command": "npx",
"args": ["-y", "scholar-feed-mcp"]
}
}
}프로젝트 범위 (.mcp.json)
{
"mcpServers": {
"scholar-feed": {
"command": "npx",
"args": ["-y", "scholar-feed-mcp"],
"env": { "SF_API_KEY": "${SF_API_KEY}" }
}
}
}Windows 참고: "command": "cmd"와 "args": ["/c", "npx", "-y", "scholar-feed-mcp"]를 사용하세요.
사용 가능한 도구 (23개)
핵심 검색 및 발견
도구 | 설명 | 주요 매개변수 |
| 필터를 사용한 전체 텍스트 키워드 검색 |
|
| arXiv ID로 전체 논문 세부 정보 가져오기 |
|
| 임베딩 + 서지 결합을 통해 유사 논문 찾기 |
|
| 인용 그래프(발신 참조 또는 수신 인용) |
|
| 복합 점수 기준 오늘의 트렌드 논문 |
|
| 여러 논문을 한 번에 조회 |
|
논문 콘텐츠
도구 | 설명 | 주요 매개변수 |
| LaTeX 소스에서 결과/실험 추출 |
|
| GitHub 저장소 README + 파일 트리 가져오기 |
|
| 논문에 대한 BibTeX 내보내기 |
|
| 논문의 구조화된 벤치마크 결과 |
|
벤치마크 및 방법론
도구 | 설명 | 주요 매개변수 |
| 이름으로 데이터셋/벤치마크 찾기 |
|
| 데이터셋에 대한 SOTA 리더보드 |
|
| 점수 분포 통계(최소, 최대, 중앙값 등) |
|
| 시간 경과에 따른 원시 점수 데이터 포인트 |
|
| 기술 이름으로 검색 (LoRA, YOLO, DPO 등) |
|
| 벤치마크 전반에 걸친 모델 비교 |
|
저자
도구 | 설명 | 주요 매개변수 |
| 주제나 이름으로 연구자 찾기 |
|
| 상세 저자 프로필 (h-index, 주제, 주요 논문) |
|
| 저자의 모든 논문 (페이지네이션) |
|
연구
도구 | 설명 | 주요 매개변수 |
| 주제에 대한 집계된 환경 통계 |
|
| 다중 라운드 연구 합성 (30-120초) |
|
| 완료된 연구 보고서에 대한 후속 질문 |
|
유틸리티
도구 | 설명 | 주요 매개변수 |
| API 키 확인, 플랜 및 사용량 표시 | — |
참신성 점수
모든 논문은 0.0에서 1.0 사이의 llm_novelty_score를 가집니다:
범위 | 의미 | 예시 |
0.7+ | 패러다임 전환 또는 광범위한 SOTA | 분야를 바꾸는 새로운 아키텍처 |
0.5-0.7 | 강력한 결과를 가진 새로운 방법론 | 명확한 이득이 있는 새로운 학습 기법 |
0.3-0.5 | 점진적 개선 | 알려진 방법을 새로운 도메인에 적용 |
<0.3 | 설문조사, 데이터셋 또는 사소한 확장 | 문헌 검토, 벤치마크 릴리스 |
search_papers에서 novelty_min: 0.5를 사용하여 진정으로 참신한 연구를 필터링하세요.
사용량 제한
엔드포인트 | 제한 |
| 60/분 |
| 30/분 |
| 60/분 |
| 20/분 |
| 30/분 |
| 30/분 |
| 10/분 |
| 20/분 |
| 10/분 |
| 20/분 |
| 5/분 |
| 5/분 |
| 30/분 |
| 30/분 |
| 30/분 |
| 30/분 |
| 30/분 |
| 20/분 |
| 20/분 |
| 60/분 |
| 30/분 |
| 10/분 |
| 30/분 |
응답에는 X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset 헤더가 포함됩니다.
응답 예시
q: "attention mechanism"을 사용한 search_papers 응답:
{
"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=="
}next_cursor를 전달하여 다음 페이지를 가져오세요(대규모 결과 세트의 경우 페이지 번호보다 안정적인 키셋 페이지네이션).
설치 확인
설정 후 AI 어시스턴트에게 check_connection을 실행하도록 요청하세요. 다음과 같이 표시되어야 합니다:
{
"status": "ok",
"plan": "free",
"key_name": "my-key",
"usage_today": 0
}환경 변수
변수 | 필수 | 기본값 | 설명 |
| 아니요 | — | Scholar Feed API 키 ( |
| 아니요 | 프로덕션 URL | API 기본 URL 재정의 |
개발
npm install
npm run build # Build to build/
npm run dev # Watch mode
npm run typecheck # Type check without emitting
npm test # Run tests기여
지침은 CONTRIBUTING.md를 참조하세요.
문제 해결
"Authentication failed: your SF_API_KEY is invalid" 키가 취소되었을 수 있습니다. scholarfeed.org/settings에서 새 키를 생성하세요. 또는 키를 제거하여 익명 모드를 사용하세요.
"Rate limit exceeded" 또는 "Anonymous daily limit exceeded" 익명 모드는 하루 100회 호출을 허용합니다. 하루 500회 호출을 위해 scholarfeed.org/settings에서 무료 API 키를 받으세요.
도구 호출 시간 초과 또는 조용히 실패
Node.js 18+가 설치되어 있는지 확인하세요 (node --version). 이전 버전에는 기본 fetch API가 없습니다.
오래된 npx 캐시
업데이트 후에도 이전 버전에 머물러 있는 경우: npx --yes scholar-feed-mcp@latest
Windows: "command not found"
MCP 구성에서 "command": "cmd"와 "args": ["/c", "npx", "-y", "scholar-feed-mcp"]를 사용하세요.
라이선스
Available Tools
25 toolsadd_to_collectionAdd to CollectionAInspect
Add 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 under an "AgentOPA" folder. MUTATES: also auto-saves the paper to the library. Idempotent (adding a paper already in the collection is a no-op). Requires SF_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| arxiv_id | Yes | arXiv ID of the paper to add, e.g. '2407.15831'. | |
| collection_name | No | Name of the collection. Created if it doesn't exist. Use '/' to nest, e.g. 'AgentOPA/Formal'. Provide this OR collection_id. | |
| collection_id | No | UUID of an existing collection. Provide this OR collection_name. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | True when the operation succeeded. |
| message | No | Human-readable summary of the outcome. |
| action | No | Machine label: saved | no_change | removed | liked | created | updated | deleted. |
| arxiv_id | No | |
| collection | No | The created/affected collection, when applicable. |
| watch | No | The created/affected watch, when applicable. |
ask_libraryAsk LibraryARead-onlyInspect
Answer 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 MISSING): ask_library reasons over what you HAVE. Optionally scope to one collection (collection_name OR collection_id); omit both to use your whole library. Read-only. Requires SF_API_KEY (it reads your saved set). Free accounts get 1 question/month; Pro raises this to 200/day.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | The natural-language question to answer from your saved papers. | |
| collection_name | No | Scope the answer to one collection by name (resolved by the backend). Omit to use your whole library. | |
| collection_id | No | Scope the answer to one collection by UUID. Omit to use your whole library. | |
| limit | No | How many of your most-relevant saved papers to ground the answer on (max 20). Default 8. |
Output Schema
| Name | Required | Description |
|---|---|---|
| answer | No | The synthesized answer with inline [arXiv-ID] citations. |
| citations | No | |
| papers | No | |
| ok | No | |
| message | No |
check_watchesCheck WatchesARead-onlyInspect
Pull 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 idempotent — does NOT advance any watermark (only digest delivery does), so it is safe to call repeatedly (no mark-on-read). This is the in-session 'anything new on my watches?' pull. Requires SF_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| watch_name | No | Scope to one watch by name. Provide this OR watch_id, or neither for all. | |
| watch_id | No | Scope to one watch by UUID. Provide this OR watch_name, or neither for all. | |
| limit | No | Max hits to return (max 100). |
Output Schema
| Name | Required | Description |
|---|---|---|
| papers | No | Matched / returned papers. |
| total | No | Total results available for the query. |
| page | No | |
| limit | No | |
| mode | No | Search mode actually applied. |
| direction | No | Citation direction (get_citations: citing | cited_by). |
| topic | No | |
| note | No | |
| not_found | No | Requested IDs that had no match. |
| next_cursor | No | Keyset cursor for the next page, or null when exhausted. |
| hits | No | New watch matches (check_watches). |
| results | No |
co_author_graphCo-Author GraphARead-onlyInspect
Find 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 any co-author appearing on a shared paper within the window. Use for AC reviewer triage (find conflicts), disambiguating researchers (who do they actually work with?), or expanding an author seed into a research community. window_years defaults to 10. Result is capped at 500 edges, sorted by papers_count DESC.
| Name | Required | Description | Default |
|---|---|---|---|
| author_ids | Yes | Author IDs to query (1-25). Get author IDs via the find_author tool. | |
| window_years | No | Only count co-authorships from the last N years (default 10, max 30). |
Output Schema
| Name | Required | Description |
|---|---|---|
| queried_author_ids | No | |
| window_years | No | |
| edge_count | No | |
| edges | No | Co-authorship edges {from, to, papers_count, last_collab_year}. |
create_collectionCreate CollectionAInspect
Create 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. "AgentOPA/Formal" — the folder is derived from the name, so there is no parent to create first. Requires SF_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the collection, e.g. 'KV-cache compression'. Use '/' to nest: 'AgentOPA/Formal' files it under an 'AgentOPA' folder. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | True when the operation succeeded. |
| message | No | Human-readable summary of the outcome. |
| action | No | Machine label: saved | no_change | removed | liked | created | updated | deleted. |
| arxiv_id | No | |
| collection | No | The created/affected collection, when applicable. |
| watch | No | The created/affected watch, when applicable. |
create_watchCreate WatchAInspect
Create 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 name returns it unchanged — never errors on duplicate). TWO forms: (1) the v2 STRUCTURED filter via criteria (collections/authors/categories/text/has_code/min_novelty/similar, AND-composed) — the composable, agent-tunable form, recommended; tune it with preview_watch first, and edit later with update_watch. Structured watches rank by 'rising' (forecasted breakout impact) by default, and tighten with min_impact_pct for an anti-noise watch that surfaces only the breakout papers in your niche. (2) a single legacy seed selector (q OR collection_name OR collection_id OR anchor_paper_id); if criteria is given it takes precedence. Requires SF_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Label for the watch, e.g. 'novel KV-cache work'. | |
| novelty_min | No | Only surface papers at/above this novelty score (0..1). The signal/noise knob — raise it for 'only tell me when it matters'. Default 0.5. | |
| q | No | Semantic/keyword topic seed. One seed selector only. | |
| collection_name | No | Watch the neighborhood of a collection by name (resolved by the backend). One seed selector only. | |
| collection_id | No | Watch the neighborhood of a collection by UUID. One seed selector only. | |
| anchor_paper_id | No | Watch papers similar to this arXiv ID. One seed selector only. | |
| scope_to_citations_of | No | Watch new papers citing this arXiv ID. One seed selector only. | |
| author_id | No | Watch an author's new work, by author ID. One seed selector only. | |
| category | No | Watch an arXiv category (e.g. 'cs.LG'), filtered by novelty_min. One seed selector only. | |
| criteria | No | v2 STRUCTURED filter (collections/authors/categories/text/has_code/min_novelty/similar). When provided, this defines the watch (kind='filter') and the single-selector seeds above are IGNORED. This is the composable, agent-tunable form — call preview_watch first to tune it. | |
| recency_days | No | For a structured (criteria) watch: only consider papers from the last N days (default 7; the 'cites' relation uses 30). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | True when the operation succeeded. |
| message | No | Human-readable summary of the outcome. |
| action | No | Machine label: saved | no_change | removed | liked | created | updated | deleted. |
| arxiv_id | No | |
| collection | No | The created/affected collection, when applicable. |
| watch | No | The created/affected watch, when applicable. |
delete_watchDelete WatchADestructiveInspect
Delete 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 update_watch instead of delete-and-recreate. Requires SF_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of the watch to delete. Provide this OR watch_id. | |
| watch_id | No | UUID of the watch to delete. Provide this OR name. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | True when the operation succeeded. |
| message | No | Human-readable summary of the outcome. |
| action | No | Machine label: saved | no_change | removed | liked | created | updated | deleted. |
| arxiv_id | No | |
| collection | No | The created/affected collection, when applicable. |
| watch | No | The created/affected watch, when applicable. |
embed_textEmbed TextARead-onlyInspect
Embed 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='RETRIEVAL_DOCUMENT' (default — matches the corpus embedding side), (3) pass the resulting embedding back through search-style tools to find real papers nearest to the hypothetical. task_type='RETRIEVAL_QUERY' matches the query side and is useful for direct user-query embedding without HyDE. Pro-only — requires an SF_API_KEY on a Pro account; anonymous and free callers get a 403 pro_required. Cost: ~$0.0001/call; rate-limited at 30/minute per API key.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text to embed (1-8000 chars). For HyDE flows this is your hypothetical answer/abstract. | |
| task_type | No | RETRIEVAL_DOCUMENT (default) matches paper-side embeddings — use for HyDE. RETRIEVAL_QUERY matches query-side semantic search. | RETRIEVAL_DOCUMENT |
Output Schema
| Name | Required | Description |
|---|---|---|
| embedding | No | The embedding vector (768-dim Gemini Flash). |
| model | No | |
| task_type | No | |
| dimensions | No | |
| dims | No |
fetch_fulltextFetch Full TextARead-onlyInspect
Extract paper content from an arXiv paper's LaTeX source. Two modes: 'results' (default) returns 800 chars of results/experiments + 3 table captions. 'all' returns full paper sections (abstract, introduction, related work, method, results, conclusion) at up to 3000 chars each + 5 table captions. ~62% of arXiv papers have LaTeX source. May take a few seconds.
| Name | Required | Description | Default |
|---|---|---|---|
| arxiv_id | Yes | arXiv ID of the paper | |
| sections | No | 'results' (default): lean results section only. 'all': full paper — abstract, intro, method, results, conclusion, related work. |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | Where the text came from (e.g. arxiv). |
| arxiv_id | No | |
| results_text | No | Results/experiments excerpt (default 'results' mode). |
| sections | No | Per-section text (sections='all'). |
| table_captions | No |
find_authorFind AuthorARead-onlyInspect
Two-mode author tool — replaces discover_authors and get_author. 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 names ('Yann LeCun'). Returns a list of matching authors with author_id, name, h_index, total_papers, primary_field, research_topics. ID-MODE (id=...): look up a single author profile by author_id (obtained from a previous q-mode call or from co_author_graph results). Returns h-index, total citations, global rank, primary field, novelty score distribution, research topics, code/venue scores, years active, and their top 10 papers by rank score.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Topic or researcher name to search (q-mode). Returns a list of matching authors. Examples: 'efficient transformer training', 'Geoffrey Hinton'. | |
| id | No | Author ID for direct profile lookup (id-mode). Returns the single author profile with top 10 papers. Get IDs from q-mode results or co_author_graph. | |
| field | No | (q-mode only) Filter by primary research field e.g. 'cs.LG', 'cs.CV', 'cs.CL'. | |
| limit | No | (q-mode only) Max results to return (default 20). |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | No | |
| search_type | No | |
| total | No | |
| authors | No | Matching authors (q-mode). |
| id | No | |
| name | No | |
| h_index | No | |
| total_papers | No | |
| total_citations | No | |
| primary_field | No | |
| research_topics | No | |
| rank | No | |
| top_papers | No | Top papers by rank (id-mode profile). |
find_gapsFind Research GapsARead-onlyInspect
Find 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 library) and frontier_gaps (recent high-novelty work in the niche, not yet saved). Provide exactly one seed: collection_name OR collection_id OR topic. The backend derives the niche, runs lineage + recent-novelty search, and subtracts your saved set. Read-only. Requires SF_API_KEY (it needs your library to subtract) and is a Pro feature — free accounts receive an upgrade prompt.
| Name | Required | Description | Default |
|---|---|---|---|
| collection_name | No | Analyze gaps for a collection by name (resolved by the backend). Provide exactly one seed. | |
| collection_id | No | Analyze gaps for a collection by UUID. Provide exactly one seed. | |
| topic | No | Analyze gaps for a free-text topic/area. Provide exactly one seed. | |
| scope | No | Which gaps to surface: 'foundational' (canonical anchors you're missing), 'frontier' (recent novel work you haven't saved), or 'both' (default). | both |
| limit | No | Max gaps per bucket (max 50). Default 10. |
Output Schema
| Name | Required | Description |
|---|---|---|
| foundational_gaps | No | Canonical anchors in the niche not in your library. |
| frontier_gaps | No | Recent high-novelty work you haven't saved. |
| ok | No | |
| message | No |
get_citationsGet CitationsARead-onlyInspect
Get 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. Default response is a lean 12-field shape per paper — pass verbose=true for the full 28-field shape.
| Name | Required | Description | Default |
|---|---|---|---|
| arxiv_id | Yes | arXiv ID of the paper | |
| direction | No | 'citing' = outgoing references this paper cites; 'cited_by' = incoming citations from other papers | cited_by |
| limit | No | Number of papers to return (max 50) | |
| fields | No | Comma-separated list of fields to return (e.g. 'arxiv_id,title,llm_summary,llm_novelty_score'). If omitted, returns the lean 12-field default unless verbose=true. | |
| verbose | No | If true, returns the full 28-field paper shape. Default false returns the lean 12-field set. Ignored when `fields` is provided. | |
| exclude_ids | No | arXiv IDs to exclude from results (for deduplication across chained calls) |
Output Schema
| Name | Required | Description |
|---|---|---|
| papers | No | Matched / returned papers. |
| total | No | Total results available for the query. |
| page | No | |
| limit | No | |
| mode | No | Search mode actually applied. |
| direction | No | Citation direction (get_citations: citing | cited_by). |
| topic | No | |
| note | No | |
| not_found | No | Requested IDs that had no match. |
| next_cursor | No | Keyset cursor for the next page, or null when exhausted. |
| hits | No | New watch matches (check_watches). |
| results | No |
get_field_orientationGet Field OrientationARead-onlyInspect
Returns 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 your topic (0.4 weight). Use this to bootstrap a literature survey or get a fast sense of the landscape. For a synthesized orientation report (key concepts, open problems, reading order), use the /field-guide skill which calls this tool internally. Does not require a Pro API key — no LLM calls are made.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Research area to orient on. Be specific for better results. Examples: 'diffusion models for protein structure prediction', 'efficient attention mechanisms for long-context LLMs', 'graph neural networks for molecular property prediction'. | |
| limit | No | Number of candidate papers to return (5–30, default 15). |
Output Schema
| Name | Required | Description |
|---|---|---|
| papers | No | Matched / returned papers. |
| total | No | Total results available for the query. |
| page | No | |
| limit | No | |
| mode | No | Search mode actually applied. |
| direction | No | Citation direction (get_citations: citing | cited_by). |
| topic | No | |
| note | No | |
| not_found | No | Requested IDs that had no match. |
| next_cursor | No | Keyset cursor for the next page, or null when exhausted. |
| hits | No | New watch matches (check_watches). |
| results | No |
get_foundational_lineageGet Foundational LineageARead-onlyInspect
Returns 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 than the obvious global landmarks. Anchors on the paper, takes its embedding neighbourhood as the niche, and ranks what the niche cites into three tiers: niche_roots (the niche-specific foundations, ranked by how specifically the neighbourhood builds on them — surfaces canonical anchors that semantic search misses), field_level (broader secondary foundations), and discipline (universal landmarks like Attention Is All You Need, collapsed out of the way). Each paper carries cited_by_in_niche evidence so the claim is grounded, not asserted. Use this to trace prior art / lineage for a paper, or to find the canonical methods a niche is built on. Complements get_field_orientation (which is topic-anchored and retrieval-only). No Pro key and no LLM calls required.
| Name | Required | Description | Default |
|---|---|---|---|
| anchor_paper_id | Yes | arXiv ID of the paper to anchor on, e.g. '2504.04704' or '2504.04704v2'. The niche is built from this paper's embedding neighbourhood. | |
| scope | No | Niche breadth: 'narrow' (~100 nearest papers, tightest sub-topic — surfaces the few-citation niche root), 'field' (~200, default), 'broad' (~400, wider area foundations). | field |
| generality_ceiling | No | When true (default), demote universally-cited landmark papers into the collapsed `discipline` tier so the niche-specific foundations lead. Set false to keep landmarks in the foundational tiers. | |
| limit | No | Max papers in each of the niche_roots and field_level tiers (5–40, default 15). |
Output Schema
| Name | Required | Description |
|---|---|---|
| anchor | No | |
| scope | No | |
| niche_size | No | |
| tiers | No | Foundational tiers: niche_roots → field_level → discipline. |
| niche_roots | No | |
| field_level | No | |
| discipline | No | |
| note | No |
get_paperGet PaperARead-onlyInspect
Get 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 (replaces the removed batch_lookup tool). Pass format='bibtex' to get a .bib citation entry (replaces the removed export_bibtex tool — bibtex is single-paper only; for multi-paper bibtex, call repeatedly). Default returns a lean 14-field shape (arxiv_id, title, authors, year, categories, has_code, github_url, citation_count, venue_name, llm_summary, llm_significance, llm_novelty_score, impact_pct, impact_tier — where impact_pct is the ML-forecast per-category impact percentile 0-100 and impact_tier its A+/A/B/C/D grade; both NULL on older papers outside the recent scoring window). Pass verbose=true for the full shape with structured extraction (method_name, contribution_type, task_category, datasets, baselines) and institution_tags. Use fields='arxiv_id,title,abstract' to select an exact subset, or fetch_fulltext with sections='all' for the full paper.
| Name | Required | Description | Default |
|---|---|---|---|
| arxiv_ids | Yes | One or more arXiv IDs. Single-paper lookup uses [id]; batch lookup passes multiple IDs (max 50). Replaces the removed batch_lookup tool. Example: ['2407.15831'] or ['2407.15831', '2402.09906']. | |
| format | No | Response format. 'json' (default) returns structured paper data. 'bibtex' returns a .bib citation entry — replaces the removed export_bibtex tool. Bibtex mode uses the first ID in arxiv_ids. | |
| fields | No | Comma-separated list of fields to return (e.g. 'arxiv_id,title,llm_summary,abstract'). If omitted, returns the lean 12-field default unless verbose=true. | |
| verbose | No | If true, returns the full 28-field paper shape (method/task/dataset extraction, application_domain, baselines, etc.). Default false returns the lean 12-field set. Ignored when `fields` is provided. |
Output Schema
| Name | Required | Description |
|---|---|---|
| papers | No | Matched / returned papers. |
| total | No | Total results available for the query. |
| page | No | |
| limit | No | |
| mode | No | Search mode actually applied. |
| direction | No | Citation direction (get_citations: citing | cited_by). |
| topic | No | |
| note | No | |
| not_found | No | Requested IDs that had no match. |
| next_cursor | No | Keyset cursor for the next page, or null when exhausted. |
| hits | No | New watch matches (check_watches). |
| results | No | |
| bibtex | No | BibTeX entry (format='bibtex'). |
| count | No | |
| format | No | |
| ok | No | |
| message | No |
like_paperLike PaperAInspect
Like 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_paper: like expresses taste for ranking; save bookmarks for later reading. Requires SF_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| arxiv_id | Yes | arXiv ID of the paper to like. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | True when the operation succeeded. |
| message | No | Human-readable summary of the outcome. |
| action | No | Machine label: saved | no_change | removed | liked | created | updated | deleted. |
| arxiv_id | No | |
| collection | No | The created/affected collection, when applicable. |
| watch | No | The created/affected watch, when applicable. |
list_collectionsList CollectionsARead-onlyInspect
List 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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| collections | No | |
| ok | No | |
| message | No |
list_libraryList LibraryARead-onlyInspect
List 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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many saved papers to return (max 100). | |
| page | No | Page number for paging through a large library. |
Output Schema
| Name | Required | Description |
|---|---|---|
| papers | No | Matched / returned papers. |
| total | No | Total results available for the query. |
| page | No | |
| limit | No | |
| mode | No | Search mode actually applied. |
| direction | No | Citation direction (get_citations: citing | cited_by). |
| topic | No | |
| note | No | |
| not_found | No | Requested IDs that had no match. |
| next_cursor | No | Keyset cursor for the next page, or null when exhausted. |
| hits | No | New watch matches (check_watches). |
| results | No |
list_watchesList WatchesARead-onlyInspect
List 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_watch to see what's already tracked. Requires SF_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| watches | No | |
| ok | No | |
| message | No |
preview_watchPreview WatchARead-onlyInspect
Dry-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_novelty, switch the collection relation) before saving with create_watch. Structured watches rank by 'rising' (forecasted breakout impact) by default, and tighten with min_impact_pct for an anti-noise watch that surfaces only the breakout papers in your niche. NOTE: for a similarity filter, match_count is capped at 200 (the cosine fetch window) and so saturates at 200 on broad/hot topics — tune by the sample scores and narrow with categories/min_novelty (or a higher similar floor) rather than relying on match_count alone. Read-only. Requires SF_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| criteria | Yes | The structured filter to test. | |
| recency_days | No | Window in days (default 7; the 'cites' relation uses 30). |
Output Schema
| Name | Required | Description |
|---|---|---|
| window_days | No | |
| needs_similarity | No | |
| match_count | No | |
| sample | No | A sample of matching papers. |
| ok | No | |
| message | No |
remove_from_collectionRemove from CollectionADestructiveInspect
Remove 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.
| Name | Required | Description | Default |
|---|---|---|---|
| arxiv_id | Yes | arXiv ID of the paper to remove from the collection. | |
| collection_name | No | Name of the collection. Provide this OR collection_id. | |
| collection_id | No | UUID of the collection. Provide this OR collection_name. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | True when the operation succeeded. |
| message | No | Human-readable summary of the outcome. |
| action | No | Machine label: saved | no_change | removed | liked | created | updated | deleted. |
| arxiv_id | No | |
| collection | No | The created/affected collection, when applicable. |
| watch | No | The created/affected watch, when applicable. |
save_paperSave PaperAInspect
Save 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 email digest. Idempotent: calling it again on an already-saved paper leaves it saved. Requires SF_API_KEY. To file it into a named collection in one step, use add_to_collection (that also saves).
| Name | Required | Description | Default |
|---|---|---|---|
| arxiv_id | Yes | arXiv ID of the paper to save, e.g. '2407.15831'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | True when the operation succeeded. |
| message | No | Human-readable summary of the outcome. |
| action | No | Machine label: saved | no_change | removed | liked | created | updated | deleted. |
| arxiv_id | No | |
| collection | No | The created/affected collection, when applicable. |
| watch | No | The created/affected watch, when applicable. |
search_papersSearch PapersARead-onlyInspect
Search Scholar Feed's 600k+ CS/AI/ML paper corpus. Defaults to semantic (embedding) search — finds conceptually related papers even when the user's wording doesn't match the paper's title/abstract. Pass mode='keyword' for exact-string full-text search. CAVEAT: semantic search often misses old high-citation CANONICAL papers (e.g. foundational anchors like H2O for KV eviction, GRIT for unified embedding+generation) because the ranker prefers recent stylistically-matched papers. If you're hunting the canonical anchor for an area, parse the top-5 result abstracts for baseline mentions ('we compare against X, Y, Z'), then look the most-mentioned name up directly. Returns papers with LLM-generated summaries, novelty scores, and structured extraction data. Default response is a lean 14-field shape (arxiv_id, title, authors, year, categories, has_code, github_url, citation_count, venue_name, llm_summary, llm_significance, llm_novelty_score, impact_pct, impact_tier) — pass verbose=true or fields=... for the full shape with method/task/dataset extraction. RANKING BY IMPACT — two different notions, don't confuse them: (1) PROVEN impact = citations. For 'the important/seminal papers on topic X', pass sort='impactful' (most-cited among the relevant) or sort='balanced' (relevant AND well-cited). This is the right tool for established/foundational work. (2) FORECAST impact = impact_pct (0-100), an ML per-category percentile of PREDICTED citations, only computed for the last ~90 days; impact_tier is its A+/A/B/C/D grade. For 'what's rising/new in X' pass sort='trending' or filter impact_min=N — but NOTE impact_pct is NULL on everything older than ~90 days, so impact_min DROPS all established/canonical papers (it is NOT a way to find the influential papers in a niche — use sort='impactful' for that). Both impact notions are distinct from llm_novelty_score (new-idea-ness, an orthogonal filter). (3) ADOPTION impact = GitHub traction. Pass sort='community' to rank by real-world engineering adoption (stars + star-velocity) — the papers practitioners are actually running/building on, independent of citations or recency. Filter on it with min_stars=N (minimum GitHub stars) and has_code=true (only papers with a code release); has_code/min_stars surface RUNNABLE/ADOPTED work, the engineering counterpart to citations. github_url_exists=true is the stricter has_code (requires a linked repo). Supports filtering by category, novelty, recency, method, task, dataset, and contribution type — plus min_citations (minimum PROVEN citations, keeps established papers unlike the ~90-day impact_min) and an explicit date window via published_after / published_before ('YYYY-MM-DD', vs days' rolling lookback). v3 ABSORPTIONS: pass sort='trending' to rank by rising/forecast impact (impact_pct); pass anchor_paper_id to replicate find_similar (q is ignored in anchor mode, results carry similarity_score); pass scope_to_citations_of to restrict search to a paper's citation graph (replaces find_citations_about).
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search query keywords. Optional when anchor_paper_id is set (anchor mode ignores q and returns papers similar to the anchor). | |
| sort | No | Result ranking — a relevance↔impact dial plus time-based and adoption orders. 'relevance' (default) = best topical match. 'balanced' = relevant AND well-cited. 'impactful' = the most-cited (proven-influential) papers among those relevant to the query — use this for 'the important/seminal papers on topic X'. 'trending' = rising/FORECAST impact (impact_pct, last ~90 days) — use for 'what's hot/new in X', NOT for established work. 'recent' = newest first. 'community' = GitHub adoption (stars + star-velocity) — surfaces the papers practitioners are actually running/building on, regardless of citations or recency. Proven impact ('impactful'/'balanced') ranks by real citations; 'trending' is a model prediction; 'community' is real-world engineering traction. Pair with get_foundational_lineage for a topic's canonical roots. | |
| anchor_paper_id | No | Return papers similar to this arXiv paper ID (replaces the removed find_similar tool). When set, q is ignored and results carry similarity_score. Example: '2407.15831'. | |
| scope_to_citations_of | No | Restrict search to this paper's citation graph, ranked by relevance to q (replaces the removed find_citations_about tool). Pass the arXiv ID of the paper whose citations you want to search within. | |
| category | No | Filter by arXiv category e.g. 'cs.AI', 'cs.LG' | |
| novelty_min | No | Minimum novelty score (0-1). Use 0.5+ for novel papers. | |
| impact_min | No | Minimum impact_pct (0-100), e.g. 80 = top 20% FORECAST impact. This is a RISING-WORK filter: impact_pct is only computed for the last ~90 days, so impact_min restricts results to recent papers predicted to land well AND DROPS everything older. Use it for 'what's rising in X'. Do NOT use it to find the influential/seminal papers in a topic — that excludes the established work; use sort='impactful' instead. | |
| days | No | Limit to papers published within N days | |
| has_code | No | Filter to papers with a linked code release (has_code=true). Surfaces runnable/reproducible work — pair with min_stars/sort='community' to find the papers practitioners actually adopt. | |
| min_citations | No | Minimum real citation count. Unlike impact_min (a ~90-day FORECAST percentile), this filters on PROVEN citations and keeps established/canonical papers. | |
| min_stars | No | Minimum GitHub stars on the paper's linked repo. A proxy for engineering adoption — surfaces work that practitioners are actually running/building on. Pair with sort='community' to rank by it. | |
| github_url_exists | No | Filter on whether the paper has a linked GitHub URL (true = only papers with a repo). Stricter than has_code (which counts any code link). | |
| published_after | No | Only papers published on or after this date, 'YYYY-MM-DD'. Use with published_before to bound an arbitrary date window (days only gives a rolling N-day lookback). | |
| published_before | No | Only papers published on or before this date, 'YYYY-MM-DD'. Pair with published_after for an explicit window. | |
| method_category | No | Filter by method category e.g. 'reinforcement learning', 'transformer' | |
| method_name | No | Filter to papers introducing/using a specific named method e.g. 'LoRA', 'YOLO', 'DPO'. Case-insensitive substring match on the extracted method_name field. | |
| task | No | Filter by task e.g. 'image classification', 'question answering' (partial match) | |
| dataset | No | Filter to papers that evaluate on a specific dataset e.g. 'MMLU', 'ImageNet' | |
| contribution_type | No | Filter by paper's contribution type | |
| task_category | No | Filter by broad research area | |
| mode | No | Search mode. 'semantic' (default) uses embedding similarity — finds conceptually related papers even without exact keyword matches. 'keyword' uses Postgres full-text search — faster but only matches exact terms. | |
| cursor | No | Cursor from previous response's next_cursor for keyset pagination | |
| page | No | Page number | |
| limit | No | Results per page (max 50) | |
| fields | No | Comma-separated list of fields to return (e.g. 'arxiv_id,title,llm_summary,llm_novelty_score'). If omitted, returns the lean 12-field default unless verbose=true. | |
| verbose | No | If true, returns the full 28-field paper shape (method/task/dataset extraction, application_domain, baselines, etc.). Default false returns the lean 12-field set. Ignored when `fields` is provided. | |
| exclude_ids | No | arXiv IDs to exclude from results (for deduplication across chained calls) |
Output Schema
| Name | Required | Description |
|---|---|---|
| papers | No | Matched / returned papers. |
| total | No | Total results available for the query. |
| page | No | |
| limit | No | |
| mode | No | Search mode actually applied. |
| direction | No | Citation direction (get_citations: citing | cited_by). |
| topic | No | |
| note | No | |
| not_found | No | Requested IDs that had no match. |
| next_cursor | No | Keyset cursor for the next page, or null when exhausted. |
| hits | No | New watch matches (check_watches). |
| results | No |
unsave_paperUnsave PaperADestructiveInspect
Remove 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 collections, so un-saving a paper ALSO removes it from every collection it was in. To keep it filed in a collection, use remove_from_collection instead (that leaves the paper saved). Requires SF_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| arxiv_id | Yes | arXiv ID of the paper to remove from the library. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | True when the operation succeeded. |
| message | No | Human-readable summary of the outcome. |
| action | No | Machine label: saved | no_change | removed | liked | created | updated | deleted. |
| arxiv_id | No | |
| collection | No | The created/affected collection, when applicable. |
| watch | No | The created/affected watch, when applicable. |
update_watchUpdate WatchAInspect
Update 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 clears the watch's pending hits (so stale matches don't deliver); the next daily eval repopulates. Structured watches rank by 'rising' (forecasted breakout impact) by default, and tighten with min_impact_pct for an anti-noise watch that surfaces only the breakout papers in your niche. Tune the new criteria with preview_watch first. Requires SF_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Find the watch by its current name. Provide this OR watch_id. | |
| watch_id | No | Find the watch by UUID. Provide this OR name. | |
| new_name | No | Rename the watch. | |
| novelty_min | No | New novelty floor (0..1). | |
| criteria | No | Replace the watch's filter (becomes kind='filter'). Clears pending hits. | |
| recency_days | No | Window for the new criteria. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | True when the operation succeeded. |
| message | No | Human-readable summary of the outcome. |
| action | No | Machine label: saved | no_change | removed | liked | created | updated | deleted. |
| arxiv_id | No | |
| collection | No | The created/affected collection, when applicable. |
| watch | No | The created/affected watch, when applicable. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
25 tool updates
v3.8.0- Changed
add_to_collection2 fields changed- changed
Input schema / properties / collection_name / descriptionPrevious value: -"Name of the collection. Created if it doesn't exist. Provide this OR collection_id."New value: +"Name of the collection. Created if it doesn't exist. Use '/' to nest, e.g. 'AgentOPA/Formal'. Provide this OR collection_id." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "action": { + "description": "Machine label: saved | no_change | removed | liked | created | updated | deleted.", + "type": "string" + }, + "arxiv_id": { + "type": "string" + }, + "collection": { + "description": "The created/affected collection, when applicable." + }, + "message": { + "description": "Human-readable summary of the outcome.", + "type": "string" + }, + "ok": { + "description": "True when the operation succeeded.", + "type": "boolean" + }, + "watch": { + "description": "The created/affected watch, when applicable." + } + }, + "type": "object" +}
- Changed
ask_library1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "answer": { + "description": "The synthesized answer with inline [arXiv-ID] citations.", + "type": "string" + }, + "citations": { + "items": {}, + "type": "array" + }, + "message": { + "type": "string" + }, + "ok": { + "type": "boolean" + }, + "papers": { + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
check_watches1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "direction": { + "description": "Citation direction (get_citations: citing | cited_by).", + "type": "string" + }, + "hits": { + "description": "New watch matches (check_watches).", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "limit": { + "type": "number" + }, + "mode": { + "description": "Search mode actually applied.", + "type": "string" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Keyset cursor for the next page, or null when exhausted." + }, + "not_found": { + "description": "Requested IDs that had no match.", + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "page": { + "type": "number" + }, + "papers": { + "description": "Matched / returned papers.", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "results": { + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "topic": { + "type": "string" + }, + "total": { + "description": "Total results available for the query.", + "type": "number" + } + }, + "type": "object" +}
- Changed
co_author_graph1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "edge_count": { + "type": "number" + }, + "edges": { + "description": "Co-authorship edges {from, to, papers_count, last_collab_year}.", + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "type": "number" + }, + "last_collab_year": { + "type": "number" + }, + "papers_count": { + "type": "number" + }, + "to": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "queried_author_ids": { + "items": { + "type": "number" + }, + "type": "array" + }, + "window_years": { + "type": "number" + } + }, + "type": "object" +}
- Changed
create_collection2 fields changed- changed
Input schema / properties / name / descriptionPrevious value: -"Name for the collection, e.g. 'KV-cache compression'."New value: +"Name for the collection, e.g. 'KV-cache compression'. Use '/' to nest: 'AgentOPA/Formal' files it under an 'AgentOPA' folder." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "action": { + "description": "Machine label: saved | no_change | removed | liked | created | updated | deleted.", + "type": "string" + }, + "arxiv_id": { + "type": "string" + }, + "collection": { + "description": "The created/affected collection, when applicable." + }, + "message": { + "description": "Human-readable summary of the outcome.", + "type": "string" + }, + "ok": { + "description": "True when the operation succeeded.", + "type": "boolean" + }, + "watch": { + "description": "The created/affected watch, when applicable." + } + }, + "type": "object" +}
- Changed
create_watch3 fields changed- added
Input schema / properties / criteria / properties / min_impact_pctAdded value: +{ + "description": "Momentum floor: only surface papers in the top of forecasted citation impact within their field (e.g. 80 means roughly the top 20 percent). Only recently-scored papers have an impact percentile, so this also implies recent papers only — exactly right for a what-is-rising-now watch.", + "maximum": 100, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / criteria / properties / rankAdded value: +{ + "description": "How to order matches. 'rising' (default) ranks by forecasted breakout impact first (the impact_pct momentum model), falling back to novelty when a paper is not impact-scored yet; 'novelty' ranks most-novel first; 'recent' ranks newest first; 'relevance' ranks by closeness to a similar target (needs a similar target, else behaves as rising). For a creator or stay-current watch, leave it as rising.", + "enum": [ + "rising", + "novelty", + "recent", + "relevance" + ], + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "action": { + "description": "Machine label: saved | no_change | removed | liked | created | updated | deleted.", + "type": "string" + }, + "arxiv_id": { + "type": "string" + }, + "collection": { + "description": "The created/affected collection, when applicable." + }, + "message": { + "description": "Human-readable summary of the outcome.", + "type": "string" + }, + "ok": { + "description": "True when the operation succeeded.", + "type": "boolean" + }, + "watch": { + "description": "The created/affected watch, when applicable." + } + }, + "type": "object" +}
- Changed
delete_watch1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "action": { + "description": "Machine label: saved | no_change | removed | liked | created | updated | deleted.", + "type": "string" + }, + "arxiv_id": { + "type": "string" + }, + "collection": { + "description": "The created/affected collection, when applicable." + }, + "message": { + "description": "Human-readable summary of the outcome.", + "type": "string" + }, + "ok": { + "description": "True when the operation succeeded.", + "type": "boolean" + }, + "watch": { + "description": "The created/affected watch, when applicable." + } + }, + "type": "object" +}
- Changed
embed_text1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "dimensions": { + "type": "number" + }, + "dims": { + "type": "number" + }, + "embedding": { + "description": "The embedding vector (768-dim Gemini Flash).", + "items": { + "type": "number" + }, + "type": "array" + }, + "model": { + "type": "string" + }, + "task_type": { + "type": "string" + } + }, + "type": "object" +}
- Changed
fetch_fulltext1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "arxiv_id": { + "type": "string" + }, + "results_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Results/experiments excerpt (default 'results' mode)." + }, + "sections": { + "additionalProperties": {}, + "description": "Per-section text (sections='all').", + "properties": { + "abstract": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "conclusion": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "introduction": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "method": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "related_work": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "results": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + "source": { + "description": "Where the text came from (e.g. arxiv).", + "type": "string" + }, + "table_captions": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
find_author1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "authors": { + "description": "Matching authors (q-mode).", + "items": { + "additionalProperties": {}, + "properties": { + "author_rank_score": { + "type": "number" + }, + "h_index": { + "type": "number" + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "primary_field": { + "type": "string" + }, + "research_topics": { + "items": { + "type": "string" + }, + "type": "array" + }, + "semantic_scholar_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "total_papers": { + "type": "number" + }, + "years_active": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "h_index": { + "type": "number" + }, + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "primary_field": { + "type": "string" + }, + "query": { + "type": "string" + }, + "rank": { + "type": "number" + }, + "research_topics": { + "items": { + "type": "string" + }, + "type": "array" + }, + "search_type": { + "type": "string" + }, + "top_papers": { + "description": "Top papers by rank (id-mode profile).", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "total": { + "type": "number" + }, + "total_citations": { + "type": "number" + }, + "total_papers": { + "type": "number" + } + }, + "type": "object" +}
- Changed
find_gaps1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "foundational_gaps": { + "description": "Canonical anchors in the niche not in your library.", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "frontier_gaps": { + "description": "Recent high-novelty work you haven't saved.", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "type": "string" + }, + "ok": { + "type": "boolean" + } + }, + "type": "object" +}
- Changed
get_citations1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "direction": { + "description": "Citation direction (get_citations: citing | cited_by).", + "type": "string" + }, + "hits": { + "description": "New watch matches (check_watches).", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "limit": { + "type": "number" + }, + "mode": { + "description": "Search mode actually applied.", + "type": "string" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Keyset cursor for the next page, or null when exhausted." + }, + "not_found": { + "description": "Requested IDs that had no match.", + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "page": { + "type": "number" + }, + "papers": { + "description": "Matched / returned papers.", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "results": { + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "topic": { + "type": "string" + }, + "total": { + "description": "Total results available for the query.", + "type": "number" + } + }, + "type": "object" +}
- Changed
get_field_orientation1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "direction": { + "description": "Citation direction (get_citations: citing | cited_by).", + "type": "string" + }, + "hits": { + "description": "New watch matches (check_watches).", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "limit": { + "type": "number" + }, + "mode": { + "description": "Search mode actually applied.", + "type": "string" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Keyset cursor for the next page, or null when exhausted." + }, + "not_found": { + "description": "Requested IDs that had no match.", + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "page": { + "type": "number" + }, + "papers": { + "description": "Matched / returned papers.", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "results": { + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "topic": { + "type": "string" + }, + "total": { + "description": "Total results available for the query.", + "type": "number" + } + }, + "type": "object" +}
- Changed
get_foundational_lineage1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "anchor": { + "type": "string" + }, + "discipline": { + "items": { + "additionalProperties": {}, + "properties": { + "arxiv_id": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "cited_by_in_niche": { + "items": { + "type": "string" + }, + "type": "array" + }, + "global_citations": { + "type": "number" + }, + "id": { + "type": "string" + }, + "lift": { + "type": "number" + }, + "niche_indegree": { + "type": "number" + }, + "title": { + "type": "string" + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "field_level": { + "items": { + "additionalProperties": {}, + "properties": { + "arxiv_id": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "cited_by_in_niche": { + "items": { + "type": "string" + }, + "type": "array" + }, + "global_citations": { + "type": "number" + }, + "id": { + "type": "string" + }, + "lift": { + "type": "number" + }, + "niche_indegree": { + "type": "number" + }, + "title": { + "type": "string" + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "niche_roots": { + "items": { + "additionalProperties": {}, + "properties": { + "arxiv_id": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "cited_by_in_niche": { + "items": { + "type": "string" + }, + "type": "array" + }, + "global_citations": { + "type": "number" + }, + "id": { + "type": "string" + }, + "lift": { + "type": "number" + }, + "niche_indegree": { + "type": "number" + }, + "title": { + "type": "string" + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "niche_size": { + "type": "number" + }, + "note": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "scope": { + "type": "string" + }, + "tiers": { + "additionalProperties": {}, + "description": "Foundational tiers: niche_roots → field_level → discipline.", + "properties": { + "discipline": { + "items": { + "additionalProperties": {}, + "properties": { + "arxiv_id": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "cited_by_in_niche": { + "items": { + "type": "string" + }, + "type": "array" + }, + "global_citations": { + "type": "number" + }, + "id": { + "type": "string" + }, + "lift": { + "type": "number" + }, + "niche_indegree": { + "type": "number" + }, + "title": { + "type": "string" + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "field_level": { + "items": { + "additionalProperties": {}, + "properties": { + "arxiv_id": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "cited_by_in_niche": { + "items": { + "type": "string" + }, + "type": "array" + }, + "global_citations": { + "type": "number" + }, + "id": { + "type": "string" + }, + "lift": { + "type": "number" + }, + "niche_indegree": { + "type": "number" + }, + "title": { + "type": "string" + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "niche_roots": { + "items": { + "additionalProperties": {}, + "properties": { + "arxiv_id": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "cited_by_in_niche": { + "items": { + "type": "string" + }, + "type": "array" + }, + "global_citations": { + "type": "number" + }, + "id": { + "type": "string" + }, + "lift": { + "type": "number" + }, + "niche_indegree": { + "type": "number" + }, + "title": { + "type": "string" + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" +}
- Changed
get_paper1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "bibtex": { + "description": "BibTeX entry (format='bibtex').", + "type": "string" + }, + "count": { + "type": "number" + }, + "direction": { + "description": "Citation direction (get_citations: citing | cited_by).", + "type": "string" + }, + "format": { + "type": "string" + }, + "hits": { + "description": "New watch matches (check_watches).", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "limit": { + "type": "number" + }, + "message": { + "type": "string" + }, + "mode": { + "description": "Search mode actually applied.", + "type": "string" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Keyset cursor for the next page, or null when exhausted." + }, + "not_found": { + "description": "Requested IDs that had no match.", + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "ok": { + "type": "boolean" + }, + "page": { + "type": "number" + }, + "papers": { + "description": "Matched / returned papers.", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "results": { + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "topic": { + "type": "string" + }, + "total": { + "description": "Total results available for the query.", + "type": "number" + } + }, + "type": "object" +}
- Changed
like_paper1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "action": { + "description": "Machine label: saved | no_change | removed | liked | created | updated | deleted.", + "type": "string" + }, + "arxiv_id": { + "type": "string" + }, + "collection": { + "description": "The created/affected collection, when applicable." + }, + "message": { + "description": "Human-readable summary of the outcome.", + "type": "string" + }, + "ok": { + "description": "True when the operation succeeded.", + "type": "boolean" + }, + "watch": { + "description": "The created/affected watch, when applicable." + } + }, + "type": "object" +}
- Changed
list_collections1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "collections": { + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "paper_count": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "type": "string" + }, + "ok": { + "type": "boolean" + } + }, + "type": "object" +}
- Changed
list_library1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "direction": { + "description": "Citation direction (get_citations: citing | cited_by).", + "type": "string" + }, + "hits": { + "description": "New watch matches (check_watches).", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "limit": { + "type": "number" + }, + "mode": { + "description": "Search mode actually applied.", + "type": "string" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Keyset cursor for the next page, or null when exhausted." + }, + "not_found": { + "description": "Requested IDs that had no match.", + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "page": { + "type": "number" + }, + "papers": { + "description": "Matched / returned papers.", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "results": { + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "topic": { + "type": "string" + }, + "total": { + "description": "Total results available for the query.", + "type": "number" + } + }, + "type": "object" +}
- Changed
list_watches1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "message": { + "type": "string" + }, + "ok": { + "type": "boolean" + }, + "watches": { + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "type": "string" + }, + "last_evaluated_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "name": { + "type": "string" + }, + "novelty_min": { + "type": "number" + }, + "pending_hits": { + "type": "number" + }, + "summary": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +}
- Changed
preview_watch3 fields changed- added
Input schema / properties / criteria / properties / min_impact_pctAdded value: +{ + "description": "Momentum floor: only surface papers in the top of forecasted citation impact within their field (e.g. 80 means roughly the top 20 percent). Only recently-scored papers have an impact percentile, so this also implies recent papers only — exactly right for a what-is-rising-now watch.", + "maximum": 100, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / criteria / properties / rankAdded value: +{ + "description": "How to order matches. 'rising' (default) ranks by forecasted breakout impact first (the impact_pct momentum model), falling back to novelty when a paper is not impact-scored yet; 'novelty' ranks most-novel first; 'recent' ranks newest first; 'relevance' ranks by closeness to a similar target (needs a similar target, else behaves as rising). For a creator or stay-current watch, leave it as rising.", + "enum": [ + "rising", + "novelty", + "recent", + "relevance" + ], + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "match_count": { + "type": "number" + }, + "message": { + "type": "string" + }, + "needs_similarity": { + "type": "boolean" + }, + "ok": { + "type": "boolean" + }, + "sample": { + "description": "A sample of matching papers.", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "window_days": { + "type": "number" + } + }, + "type": "object" +}
- Changed
remove_from_collection1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "action": { + "description": "Machine label: saved | no_change | removed | liked | created | updated | deleted.", + "type": "string" + }, + "arxiv_id": { + "type": "string" + }, + "collection": { + "description": "The created/affected collection, when applicable." + }, + "message": { + "description": "Human-readable summary of the outcome.", + "type": "string" + }, + "ok": { + "description": "True when the operation succeeded.", + "type": "boolean" + }, + "watch": { + "description": "The created/affected watch, when applicable." + } + }, + "type": "object" +}
- Changed
save_paper1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "action": { + "description": "Machine label: saved | no_change | removed | liked | created | updated | deleted.", + "type": "string" + }, + "arxiv_id": { + "type": "string" + }, + "collection": { + "description": "The created/affected collection, when applicable." + }, + "message": { + "description": "Human-readable summary of the outcome.", + "type": "string" + }, + "ok": { + "description": "True when the operation succeeded.", + "type": "boolean" + }, + "watch": { + "description": "The created/affected watch, when applicable." + } + }, + "type": "object" +}
- Changed
search_papers10 fields changed- added
Input schema / properties / github_url_existsAdded value: +{ + "description": "Filter on whether the paper has a linked GitHub URL (true = only papers with a repo). Stricter than has_code (which counts any code link).", + "type": "boolean" +} - added
Input schema / properties / has_codeAdded value: +{ + "description": "Filter to papers with a linked code release (has_code=true). Surfaces runnable/reproducible work — pair with min_stars/sort='community' to find the papers practitioners actually adopt.", + "type": "boolean" +} - added
Input schema / properties / impact_minAdded value: +{ + "description": "Minimum impact_pct (0-100), e.g. 80 = top 20% FORECAST impact. This is a RISING-WORK filter: impact_pct is only computed for the last ~90 days, so impact_min restricts results to recent papers predicted to land well AND DROPS everything older. Use it for 'what's rising in X'. Do NOT use it to find the influential/seminal papers in a topic — that excludes the established work; use sort='impactful' instead.", + "maximum": 100, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / min_citationsAdded value: +{ + "description": "Minimum real citation count. Unlike impact_min (a ~90-day FORECAST percentile), this filters on PROVEN citations and keeps established/canonical papers.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / min_starsAdded value: +{ + "description": "Minimum GitHub stars on the paper's linked repo. A proxy for engineering adoption — surfaces work that practitioners are actually running/building on. Pair with sort='community' to rank by it.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / published_afterAdded value: +{ + "description": "Only papers published on or after this date, 'YYYY-MM-DD'. Use with published_before to bound an arbitrary date window (days only gives a rolling N-day lookback).", + "type": "string" +} - added
Input schema / properties / published_beforeAdded value: +{ + "description": "Only papers published on or before this date, 'YYYY-MM-DD'. Pair with published_after for an explicit window.", + "type": "string" +} - changed
Input schema / properties / sort / descriptionPrevious value: -"Sort order. 'relevance' (default) ranks by semantic/keyword match. 'trending' ranks by daily quality+recency score — replaces the removed whats_trending tool. 'recent' returns newest papers first."New value: +"Result ranking — a relevance↔impact dial plus time-based and adoption orders. 'relevance' (default) = best topical match. 'balanced' = relevant AND well-cited. 'impactful' = the most-cited (proven-influential) papers among those relevant to the query — use this for 'the important/seminal papers on topic X'. 'trending' = rising/FORECAST impact (impact_pct, last ~90 days) — use for 'what's hot/new in X', NOT for established work. 'recent' = newest first. 'community' = GitHub adoption (stars + star-velocity) — surfaces the papers practitioners are actually running/building on, regardless of citations or recency. Proven impact ('impactful'/'balanced') ranks by real citations; 'trending' is a model prediction; 'community' is real-world engineering traction. Pair with get_foundational_lineage for a topic's canonical roots." - changed
Input schema / properties / sort / enumPrevious value: -[ - "relevance", - "trending", - "recent" -]New value: +[ + "relevance", + "balanced", + "impactful", + "trending", + "recent", + "community" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "direction": { + "description": "Citation direction (get_citations: citing | cited_by).", + "type": "string" + }, + "hits": { + "description": "New watch matches (check_watches).", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "limit": { + "type": "number" + }, + "mode": { + "description": "Search mode actually applied.", + "type": "string" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Keyset cursor for the next page, or null when exhausted." + }, + "not_found": { + "description": "Requested IDs that had no match.", + "items": { + "type": "string" + }, + "type": "array" + }, + "note": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "page": { + "type": "number" + }, + "papers": { + "description": "Matched / returned papers.", + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "results": { + "items": { + "additionalProperties": {}, + "description": "A paper record. Verbose calls add extraction fields (method_name, datasets, baselines, ...).", + "properties": { + "arxiv_id": { + "type": "string" + }, + "arxiv_url": { + "type": "string" + }, + "authors": { + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "items": { + "type": "string" + }, + "type": "array" + }, + "citation_count": { + "type": "number" + }, + "github_stars": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "github_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "has_code": { + "type": "boolean" + }, + "impact_pct": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "impact_tier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "institution_tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "llm_novelty_score": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "llm_significance": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "llm_summary": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "pdf_url": { + "type": "string" + }, + "primary_category": { + "type": "string" + }, + "published_date": { + "type": "string" + }, + "rank_score": { + "type": "number" + }, + "similarity": { + "type": "number" + }, + "title": { + "type": "string" + }, + "venue_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "year": { + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "topic": { + "type": "string" + }, + "total": { + "description": "Total results available for the query.", + "type": "number" + } + }, + "type": "object" +}
- Changed
unsave_paper1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "action": { + "description": "Machine label: saved | no_change | removed | liked | created | updated | deleted.", + "type": "string" + }, + "arxiv_id": { + "type": "string" + }, + "collection": { + "description": "The created/affected collection, when applicable." + }, + "message": { + "description": "Human-readable summary of the outcome.", + "type": "string" + }, + "ok": { + "description": "True when the operation succeeded.", + "type": "boolean" + }, + "watch": { + "description": "The created/affected watch, when applicable." + } + }, + "type": "object" +}
- Changed
update_watch3 fields changed- added
Input schema / properties / criteria / properties / min_impact_pctAdded value: +{ + "description": "Momentum floor: only surface papers in the top of forecasted citation impact within their field (e.g. 80 means roughly the top 20 percent). Only recently-scored papers have an impact percentile, so this also implies recent papers only — exactly right for a what-is-rising-now watch.", + "maximum": 100, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / criteria / properties / rankAdded value: +{ + "description": "How to order matches. 'rising' (default) ranks by forecasted breakout impact first (the impact_pct momentum model), falling back to novelty when a paper is not impact-scored yet; 'novelty' ranks most-novel first; 'recent' ranks newest first; 'relevance' ranks by closeness to a similar target (needs a similar target, else behaves as rising). For a creator or stay-current watch, leave it as rising.", + "enum": [ + "rising", + "novelty", + "recent", + "relevance" + ], + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "action": { + "description": "Machine label: saved | no_change | removed | liked | created | updated | deleted.", + "type": "string" + }, + "arxiv_id": { + "type": "string" + }, + "collection": { + "description": "The created/affected collection, when applicable." + }, + "message": { + "description": "Human-readable summary of the outcome.", + "type": "string" + }, + "ok": { + "description": "True when the operation succeeded.", + "type": "boolean" + }, + "watch": { + "description": "The created/affected watch, when applicable." + } + }, + "type": "object" +}
44 tool updates
v3.7.0- Added
add_to_collection - Added
ask_library - Removed
batch_lookup - Removed
check_connection - Added
check_watches - Added
co_author_graph - Removed
compare_methods - Added
create_collection - Added
create_watch - Removed
deep_research - Added
delete_watch - Removed
discover_authors - Added
embed_text - Removed
export_bibtex - Changed
fetch_fulltext1 field changed- removed
Input schema / additionalPropertiesRemoved value: -false
- Removed
fetch_repo - Added
find_author - Added
find_gaps - Removed
find_similar - Removed
get_author - Removed
get_author_papers - Removed
get_benchmark_stats - Removed
get_benchmark_timeline - Changed
get_citations3 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - changed
Input schema / properties / fields / descriptionPrevious value: -"Comma-separated list of fields to return (e.g. 'arxiv_id,title,llm_summary,llm_novelty_score'). Default: all fields."New value: +"Comma-separated list of fields to return (e.g. 'arxiv_id,title,llm_summary,llm_novelty_score'). If omitted, returns the lean 12-field default unless verbose=true." - added
Input schema / properties / verboseAdded value: +{ + "description": "If true, returns the full 28-field paper shape. Default false returns the lean 12-field set. Ignored when `fields` is provided.", + "type": "boolean" +}
- Added
get_field_orientation - Added
get_foundational_lineage - Removed
get_leaderboard - Changed
get_paper7 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - removed
Input schema / properties / arxiv_idRemoved value: -{ - "description": "arXiv ID e.g. '2401.12345' or '2401.12345v2'", - "minLength": 1, - "type": "string" -} - added
Input schema / properties / arxiv_idsAdded value: +{ + "description": "One or more arXiv IDs. Single-paper lookup uses [id]; batch lookup passes multiple IDs (max 50). Replaces the removed batch_lookup tool. Example: ['2407.15831'] or ['2407.15831', '2402.09906'].", + "items": { + "minLength": 1, + "type": "string" + }, + "maxItems": 50, + "minItems": 1, + "type": "array" +} - changed
Input schema / properties / fields / descriptionPrevious value: -"Comma-separated list of fields to return (e.g. 'arxiv_id,title,llm_summary,abstract'). Default: all fields."New value: +"Comma-separated list of fields to return (e.g. 'arxiv_id,title,llm_summary,abstract'). If omitted, returns the lean 12-field default unless verbose=true." - added
Input schema / properties / formatAdded value: +{ + "description": "Response format. 'json' (default) returns structured paper data. 'bibtex' returns a .bib citation entry — replaces the removed export_bibtex tool. Bibtex mode uses the first ID in arxiv_ids.", + "enum": [ + "json", + "bibtex" + ], + "type": "string" +} - added
Input schema / properties / verboseAdded value: +{ + "description": "If true, returns the full 28-field paper shape (method/task/dataset extraction, application_domain, baselines, etc.). Default false returns the lean 12-field set. Ignored when `fields` is provided.", + "type": "boolean" +} - changed
Input schema / requiredPrevious value: -[ - "arxiv_id" -]New value: +[ + "arxiv_ids" +]
- Removed
get_paper_results - Removed
get_research_landscape - Added
like_paper - Added
list_collections - Added
list_library - Added
list_watches - Added
preview_watch - Removed
refine_research - Added
remove_from_collection - Added
save_paper - Removed
search_benchmarks - Removed
search_by_method - Changed
search_papers12 fields changed- removed
Input schema / additionalPropertiesRemoved value: -false - added
Input schema / properties / anchor_paper_idAdded value: +{ + "description": "Return papers similar to this arXiv paper ID (replaces the removed find_similar tool). When set, q is ignored and results carry similarity_score. Example: '2407.15831'.", + "type": "string" +} - changed
Input schema / properties / fields / descriptionPrevious value: -"Comma-separated list of fields to return (e.g. 'arxiv_id,title,llm_summary,llm_novelty_score'). Default: all fields."New value: +"Comma-separated list of fields to return (e.g. 'arxiv_id,title,llm_summary,llm_novelty_score'). If omitted, returns the lean 12-field default unless verbose=true." - removed
Input schema / properties / has_resultsRemoved value: -{ - "description": "If true, only return papers with quantitative benchmark results in paper_results", - "type": "boolean" -} - added
Input schema / properties / method_nameAdded value: +{ + "description": "Filter to papers introducing/using a specific named method e.g. 'LoRA', 'YOLO', 'DPO'. Case-insensitive substring match on the extracted method_name field.", + "type": "string" +} - changed
Input schema / properties / mode / descriptionPrevious value: -"Search mode: 'keyword' (default, full-text match) or 'semantic' (embedding similarity — finds conceptually related papers even without exact keyword matches, slower)"New value: +"Search mode. 'semantic' (default) uses embedding similarity — finds conceptually related papers even without exact keyword matches. 'keyword' uses Postgres full-text search — faster but only matches exact terms." - added
Input schema / properties / page / maximumAdded value: +9007199254740991 - changed
Input schema / properties / q / descriptionPrevious value: -"Search query keywords"New value: +"Search query keywords. Optional when anchor_paper_id is set (anchor mode ignores q and returns papers similar to the anchor)." - added
Input schema / properties / scope_to_citations_ofAdded value: +{ + "description": "Restrict search to this paper's citation graph, ranked by relevance to q (replaces the removed find_citations_about tool). Pass the arXiv ID of the paper whose citations you want to search within.", + "type": "string" +} - added
Input schema / properties / sortAdded value: +{ + "description": "Sort order. 'relevance' (default) ranks by semantic/keyword match. 'trending' ranks by daily quality+recency score — replaces the removed whats_trending tool. 'recent' returns newest papers first.", + "enum": [ + "relevance", + "trending", + "recent" + ], + "type": "string" +} - added
Input schema / properties / verboseAdded value: +{ + "description": "If true, returns the full 28-field paper shape (method/task/dataset extraction, application_domain, baselines, etc.). Default false returns the lean 12-field set. Ignored when `fields` is provided.", + "type": "boolean" +} - removed
Input schema / requiredRemoved value: -[ - "q" -]
- Added
unsave_paper - Added
update_watch - Removed
whats_trending
23 tool updates
v1.2.1- First observed
batch_lookup - First observed
check_connection - First observed
compare_methods - First observed
deep_research - First observed
discover_authors - First observed
export_bibtex - First observed
fetch_fulltext - First observed
fetch_repo - First observed
find_similar - First observed
get_author - First observed
get_author_papers - First observed
get_benchmark_stats - First observed
get_benchmark_timeline - First observed
get_citations - First observed
get_leaderboard - First observed
get_paper - First observed
get_paper_results - First observed
get_research_landscape - First observed
refine_research - First observed
search_benchmarks - First observed
search_by_method - First observed
search_papers - First observed
whats_trending
TDQS
Scored across 25 tools
Most tools have clearly distinct purposes, but some overlap exists between search and discovery tools like ask_library, find_gaps, get_field_orientation, and get_foundational_lineage. However, detailed descriptions help differentiate them.
All tool names follow a consistent verb_noun pattern with underscores. Even compound names like get_foundational_lineage adhere to this pattern, making it predictable and easy for agents to understand.
25 tools is slightly above the typical 3-15 range, but the server covers a broad domain (library management, search, analysis, watches, collections, author discovery, etc.), justifying the count. It is not excessive.
The tool set provides comprehensive coverage: CRUD operations for libraries, collections, watches, and full analysis capabilities (citation graphs, gap analysis, author discovery, embedding). No obvious gaps exist for the intended purpose.
Maintenance
Related MCP Connectors
Search 340M+ academic papers — citation graphs, semantic similarity, and AI literature reviews.
Research intelligence for AI coding agents. 2M+ CS papers with evidence and tradeoffs.
Search arXiv/Semantic Scholar/OpenAlex + medical evidence (PubMed/Europe PMC) + LaTeX/PDF tools.
Search 8.5M scientific papers with LLM TLDRs, citations, linked entities, figures, and full text.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI-powered academic paper discovery, search, and analysis from arXiv with advanced features like semantic search, citation network analysis, and multi-format exports (BibTeX, RIS, JSON, CSV). Provides intelligent research assistance through specialized AI prompts for summarization, trend tracking, and literature review automation.17MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to search, analyze, and summarize academic research papers in real-time from arXiv, Semantic Scholar, and PubMed. Provides automatic deduplication, citation analysis, and BibTeX generation across multiple research databases.23 npmMIT
- AlicenseBqualityDmaintenanceEnables real-time tracking of AI/LLM research progress by searching and aggregating content from arXiv, GitHub, Hugging Face, and Papers with Code. Supports intelligent search, automated daily/weekly research summaries, and covers 15+ AI research areas with smart caching.8MIT
- FlicenseNot gradedqualityBmaintenanceEnables researchers to search ArXiv papers, extract key insights (problems, methods, results) from abstracts, and perform ML-powered analysis including topic modeling, trend visualization, and author collaboration networks.-