State of the art, trending papers, benchmarks, citations and topic experts from HypePaper.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer hp_mcp_… from https://hypepaper.app/profile#section-mcp
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Your plan, credits remaining this month, and upgrade URL. Call this when a request was denied. [Free · 1 credit]
This tool takes no arguments.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http hypepaper https://api.hypepaper.app/api/v1/mcp \ --header 'Authorization: Bearer YOUR_TOKEN'
Headers
Authorization (required): Bearer hp_mcp_… from https://hypepaper.app/profile#section-mcpYour plan, credits remaining this month, and upgrade URL. Call this when a request was denied. [Free · 1 credit]
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}A lab or company's output: paper counts, GitHub stars and 30-day delta, top authors with h-index, recent papers. [Free · 2 credits]
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| org_key* | string |
{
"type": "object",
"required": [
"org_key"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
},
"org_key": {
"type": "string"
}
},
"additionalProperties": false
}List the read-only HypePaper API routes reachable through api_get / api_get_llm: path, summary, params, section and price. Filter by section or a substring. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| q | string | |
| limit | integer | |
| section | string |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"maxLength": 120
},
"limit": {
"type": "integer",
"default": 60,
"maximum": 200,
"minimum": 1
},
"section": {
"type": "string",
"maxLength": 60
}
},
"additionalProperties": false
}Call one read-only HypePaper API route from api_catalog as yourself and return its JSON. Free responses are cut at 24 KB. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| path* | string | A route from api_catalog with its path params filled in, e.g. /api/v1/papers/<uuid>/results-arena (the /api/v1 prefix is optional). |
| params | object | Query parameters: scalars or lists of scalars. |
{
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "A route from api_catalog with its path params filled in, e.g. /api/v1/papers/<uuid>/results-arena (the /api/v1 prefix is optional)."
},
"params": {
"type": "object",
"description": "Query parameters: scalars or lists of scalars."
}
},
"additionalProperties": false
}Call one LLM-backed HypePaper API route (explain, tldr, translate, lit-review, briefing, …) from api_catalog and return its JSON. [Free · 5 credits + AI credits]
| Argument | Type | Description |
|---|---|---|
| path* | string | A route from api_catalog with its path params filled in, e.g. /api/v1/papers/<uuid>/results-arena (the /api/v1 prefix is optional). |
| params | object | Query parameters: scalars or lists of scalars. |
{
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "A route from api_catalog with its path params filled in, e.g. /api/v1/papers/<uuid>/results-arena (the /api/v1 prefix is optional)."
},
"params": {
"type": "object",
"description": "Query parameters: scalars or lists of scalars."
}
},
"additionalProperties": false
}An author's profile by name or id: affiliations (curated table first, else the newest paper's first page), metrics (papers, citations, GitHub stars, active years, h-index when known), their 10 most-cited papers, top 10 collaborators with shared-paper counts, and `more` hints for author_papers / coauthor_network. Use when a question names a person; use search to find the exact name first. A name several people share returns no figures, only who those people are (`ambiguous`, with each one's `openalex_id`): ask again with one. A name nobody is told apart under yet answers by name, marked `name_only`. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| name | string | Exact author name as printed on papers, e.g. 'Yann LeCun' |
| author_id | string | Row of the curated authors table |
| openalex_id | string | One person, as OpenAlex identifies them, e.g. 'A5100355692' (the ids a shared name's answer lists) |
{
"type": "object",
"anyOf": [
{
"required": [
"openalex_id"
]
},
{
"required": [
"author_id"
]
},
{
"required": [
"name"
]
}
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact author name as printed on papers, e.g. 'Yann LeCun'"
},
"author_id": {
"type": "string",
"format": "uuid",
"description": "Row of the curated authors table"
},
"openalex_id": {
"type": "string",
"pattern": "^[Aa][0-9]{4,12}$",
"description": "One person, as OpenAlex identifies them, e.g. 'A5100355692' (the ids a shared name's answer lists)"
}
},
"additionalProperties": false
}Every paper under an author's name, paginated and sorted by date, citations, GitHub stars or hype, each with venue, citations, stars and co-authors. Use after `author` when the top-10 list is not enough or you need the chronological output. A name several people share returns no figures, only who those people are (`ambiguous`, with each one's `openalex_id`): ask again with one. A name nobody is told apart under yet answers by name, marked `name_only`. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| name | string | Exact author name as printed on papers, e.g. 'Yann LeCun' |
| page | integer | |
| sort | string | |
| author_id | string | Row of the curated authors table |
| page_size | integer | |
| openalex_id | string | One person, as OpenAlex identifies them, e.g. 'A5100355692' (the ids a shared name's answer lists) |
{
"type": "object",
"anyOf": [
{
"required": [
"openalex_id"
]
},
{
"required": [
"author_id"
]
},
{
"required": [
"name"
]
}
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact author name as printed on papers, e.g. 'Yann LeCun'"
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"sort": {
"enum": [
"published_date",
"citation_count",
"stars",
"hype_score"
],
"type": "string",
"default": "published_date"
},
"author_id": {
"type": "string",
"format": "uuid",
"description": "Row of the curated authors table"
},
"page_size": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"openalex_id": {
"type": "string",
"pattern": "^[Aa][0-9]{4,12}$",
"description": "One person, as OpenAlex identifies them, e.g. 'A5100355692' (the ids a shared name's answer lists)"
}
},
"additionalProperties": false
}SOTA progression on one dataset x metric (optionally one protocol/condition) over time: the record-setting papers in order with value, delta over the previous record and how long it held, plus every dated entity as a point. Use for 'how has X improved on Y', 'when did the record last change' or to plot a benchmark. Select a condition key from dataset_leaderboard when multiple protocols exist. A record whose jump is outside the SOTA feed's believability band is flagged believable=false (likely mis-extracted). [Free · 3 credits]
| Argument | Type | Description |
|---|---|---|
| metric* | string | |
| dataset* | string | |
| condition | string | Exact condition key returned by dataset_leaderboard |
{
"type": "object",
"required": [
"dataset",
"metric"
],
"properties": {
"metric": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"dataset": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"condition": {
"type": "string",
"maxLength": 100,
"description": "Exact condition key returned by dataset_leaderboard"
}
},
"additionalProperties": false
}Verified in/out citations for a paper with match scores and the matched reference text. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| page | integer | |
| paper_id* | string | |
| direction | string | |
| page_size | integer |
{
"type": "object",
"required": [
"paper_id"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"paper_id": {
"type": "string"
},
"direction": {
"enum": [
"in",
"out",
"both"
],
"type": "string",
"default": "both"
},
"page_size": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1
}
},
"additionalProperties": false
}Multi-hop citation traversal (up to 3 hops) from a paper, forward (papers citing it), backward (its references) or both, as nodes with in-corpus citation counts and hop depth, and edges carrying the fuzzy match score and the matched reference text. Use to trace lineage, find follow-up work, or build a reading graph; use citation_graph for a flat one-hop page. Inbound edges come newest first, outbound competitors first, so a truncated walk is the top of each side. [Free · 2 credits]
| Argument | Type | Description |
|---|---|---|
| depth | integer | Hops from the root |
| paper_id* | string | Paper UUID or arXiv id |
| direction | string | |
| max_nodes | integer | |
| min_match_score | number | Drop edges whose reference match scored below this |
{
"type": "object",
"required": [
"paper_id"
],
"properties": {
"depth": {
"type": "integer",
"default": 2,
"maximum": 3,
"minimum": 1,
"description": "Hops from the root"
},
"paper_id": {
"type": "string",
"description": "Paper UUID or arXiv id"
},
"direction": {
"enum": [
"in",
"out",
"both"
],
"type": "string",
"default": "both"
},
"max_nodes": {
"type": "integer",
"default": 200,
"maximum": 300,
"minimum": 1
},
"min_match_score": {
"type": "number",
"default": 70,
"maximum": 100,
"minimum": 0,
"description": "Drop edges whose reference match scored below this"
}
},
"additionalProperties": false
}Co-authorship graph around an author: hop 1 is everyone they published with (top 20 by shared papers), hop 2 adds the collaborators of their 8 closest co-authors. Nodes carry hop depth, edges the shared-paper count. Use to map a research group, find who bridges two labs, or pick reviewers. Consortium papers with more than 30 authors are skipped on hop 2. For a person, every node is a person with its `openalex_id`. A name several people share returns no figures, only who those people are (`ambiguous`, with each one's `openalex_id`): ask again with one. A name nobody is told apart under yet answers by name, marked `name_only`. [Free · 2 credits]
| Argument | Type | Description |
|---|---|---|
| name | string | Exact author name as printed on papers, e.g. 'Yann LeCun' |
| depth | integer | |
| author_id | string | Row of the curated authors table |
| openalex_id | string | One person, as OpenAlex identifies them, e.g. 'A5100355692' (the ids a shared name's answer lists) |
{
"type": "object",
"anyOf": [
{
"required": [
"openalex_id"
]
},
{
"required": [
"author_id"
]
},
{
"required": [
"name"
]
}
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Exact author name as printed on papers, e.g. 'Yann LeCun'"
},
"depth": {
"type": "integer",
"default": 1,
"maximum": 2,
"minimum": 1
},
"author_id": {
"type": "string",
"format": "uuid",
"description": "Row of the curated authors table"
},
"openalex_id": {
"type": "string",
"pattern": "^[Aa][0-9]{4,12}$",
"description": "One person, as OpenAlex identifies them, e.g. 'A5100355692' (the ids a shared name's answer lists)"
}
},
"additionalProperties": false
}Papers most often cited alongside the given paper(s) by the papers that cite them — the neighbours keyword search misses because they use different terminology. Returns each candidate with its co-citation frequency, citations, hype and code flag. Use for 'what else should I read with X' or to grow a reading list from 1-20 seed papers. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| paper_ids* | array | Seed paper UUIDs or arXiv ids |
{
"type": "object",
"required": [
"paper_ids"
],
"properties": {
"limit": {
"type": "integer",
"default": 15,
"maximum": 50,
"minimum": 1
},
"paper_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"minItems": 1,
"description": "Seed paper UUIDs or arXiv ids"
}
},
"additionalProperties": false
}Compare 2–5 papers head-to-head on the datasets and metrics they share; returns wins, losses and the evidence rows. Only complete, matching experimental protocols are compared. coverage has one row per paper: comparison_status compared, no_shared_lane (its stored lanes are listed) or no_stored_result. A number not returned here is not stored; say so, never supply it. [Free · 8 credits]
| Argument | Type | Description |
|---|---|---|
| paper_ids* | array | |
| dataset_key | string |
{
"type": "object",
"required": [
"paper_ids"
],
"properties": {
"paper_ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 5,
"minItems": 2
},
"dataset_key": {
"type": "string"
}
},
"additionalProperties": false
}Accepted papers of one venue-year (2020 onwards: ICML, NeurIPS, ICLR, CVPR, ...), most cited first, paginated, with acceptance status (oral/poster/spotlight), primary area, citations, hype, code and project URLs; optional keyword filter on title/abstract and an acceptance-type filter. Use for 'what was at CVPR 2026 on X', to build a venue reading list, or with status='oral' for the papers the programme singled out. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| q | string | Keyword in title or abstract |
| page | integer | |
| year* | integer | |
| status | string | Acceptance type, matched as a substring of the venue's own label: oral, spotlight, highlight, award, poster |
| page_size | integer | |
| conference* | string | Venue slug such as cvpr, iclr, neurips, icml |
{
"type": "object",
"required": [
"conference",
"year"
],
"properties": {
"q": {
"type": "string",
"maxLength": 100,
"description": "Keyword in title or abstract"
},
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 2020
},
"status": {
"type": "string",
"maxLength": 50,
"description": "Acceptance type, matched as a substring of the venue's own label: oral, spotlight, highlight, award, poster"
},
"page_size": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1
},
"conference": {
"type": "string",
"maxLength": 40,
"minLength": 2,
"description": "Venue slug such as cvpr, iclr, neurips, icml"
}
},
"additionalProperties": false
}Leaderboards for a dataset: every metric board with top methods and their papers, plus recent papers, the paper that introduced the dataset, and papers per year with the first and last year. Each board has a condition key and label; rankings compare matching protocols only. [Free · 4 credits]
| Argument | Type | Description |
|---|---|---|
| dataset_key* | string | Dataset key or alias, e.g. scannet |
{
"type": "object",
"required": [
"dataset_key"
],
"properties": {
"dataset_key": {
"type": "string",
"description": "Dataset key or alias, e.g. scannet"
}
},
"additionalProperties": false
}Rising topics, datasets, authors or affiliations with 7d/30d counts, hype, rank change; or the history of one entity. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| key | string | If set, return history for this entity instead of the ranking |
| days | integer | |
| limit | integer | |
| window | string | |
| entity_type* | string |
{
"type": "object",
"required": [
"entity_type"
],
"properties": {
"key": {
"type": "string",
"description": "If set, return history for this entity instead of the ranking"
},
"days": {
"type": "integer",
"default": 30,
"maximum": 90,
"minimum": 7
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"window": {
"enum": [
"week",
"month"
],
"type": "string",
"default": "week"
},
"entity_type": {
"enum": [
"topic",
"dataset",
"author",
"affiliation"
],
"type": "string"
}
},
"additionalProperties": false
}Ask any topic's expert a question (a topic without its own expert is answered from its nearest ancestor's, else from its own papers). The answer is written from the expert's knowledge graph, paper views, SOTA lanes, benchmark rows and notes; each sentence ends with [Cn] markers that `citations` resolves (hp:// pointer, kind, title, the quoted passage, the paper's URL), and it says what the evidence does not establish instead of guessing. [Free · 5 credits + AI credits]
| Argument | Type | Description |
|---|---|---|
| question* | string | |
| topic_id* | string |
{
"type": "object",
"required": [
"topic_id",
"question"
],
"properties": {
"question": {
"type": "string",
"maxLength": 500,
"minLength": 3
},
"topic_id": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}Louvain communities of a topic expert's knowledge graph at one dendrogram level, largest first, with each community's hub nodes and a sample of members resolved to names/types. Use to get the shape of a field before drilling in: level 0 is the finest split, max_level the coarsest. Then expert_node_context on a hub. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| level | integer | 0 = finest split; omit for the coarsest |
| limit | integer | |
| topic_id* | string | Topic id of an expert (from list_experts). |
{
"type": "object",
"required": [
"topic_id"
],
"properties": {
"level": {
"type": "integer",
"maximum": 20,
"minimum": 0,
"description": "0 = finest split; omit for the coarsest"
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"topic_id": {
"type": "string",
"description": "Topic id of an expert (from list_experts)."
}
},
"additionalProperties": false
}Which topic experts hold the same entity — a paper (by arXiv id), method, model, dataset, benchmark or metric — and under which node id in each. Pass a name or a node id; topic_id narrows the starting expert. Use to move a question to the expert that knows an entity best, or to see how widely a method is used across fields. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| entity* | string | Entity name (exact, case-insensitive) or node id. |
| topic_id | string | Topic id of an expert (from list_experts). |
{
"type": "object",
"required": [
"entity"
],
"properties": {
"entity": {
"type": "string",
"maxLength": 300,
"minLength": 2,
"description": "Entity name (exact, case-insensitive) or node id."
},
"topic_id": {
"type": "string",
"description": "Topic id of an expert (from list_experts)."
}
},
"additionalProperties": false
}A budgeted subgraph around a query: seeds are the best full-text hits in the expert's graph, then neighbours join by how many edges tie them to what is already held, until `budget` nodes. Returns nodes, the edges among them and the papers they came from. Use for 'what surrounds X in this field' in one call; then expert_node_context to go deeper. [Free · 2 credits]
| Argument | Type | Description |
|---|---|---|
| query* | string | |
| budget | integer | |
| topic_id* | string | Topic id of an expert (from list_experts). |
{
"type": "object",
"required": [
"topic_id",
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 300,
"minLength": 2
},
"budget": {
"type": "integer",
"default": 40,
"maximum": 120,
"minimum": 5
},
"topic_id": {
"type": "string",
"description": "Topic id of an expert (from list_experts)."
}
},
"additionalProperties": false
}One node of an expert's graph with all its edges (direction, type, evidence text), its neighbours and their papers; depth 2 adds the neighbours' edges. Use after expert_search_facts / expert_graph_map / expert_communities gave you a node id. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| depth | integer | |
| node_id* | string | A node id as returned by expert_search_facts / expert_graph_map. |
| topic_id* | string | Topic id of an expert (from list_experts). |
{
"type": "object",
"required": [
"topic_id",
"node_id"
],
"properties": {
"depth": {
"type": "integer",
"default": 1,
"maximum": 2,
"minimum": 1
},
"node_id": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "A node id as returned by expert_search_facts / expert_graph_map."
},
"topic_id": {
"type": "string",
"description": "Topic id of an expert (from list_experts)."
}
},
"additionalProperties": false
}Curated notes of a topic expert (kind, title, content, evidence paper ids) without an LLM call. Free shows the first 300 chars per note. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| q | string | |
| topic_id* | string |
{
"type": "object",
"required": [
"topic_id"
],
"properties": {
"q": {
"type": "string",
"maxLength": 200
},
"topic_id": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}Full-text search over an expert's graph nodes — claims, results, methods, datasets, metrics, papers — ranked, with the source paper of each hit. Filter with types (e.g. Paper, Method, Algorithm, Model, PerformanceClaim, Result). The entry point for node ids; cheaper than expert_ask when you want facts, not prose. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| q* | string | |
| limit | integer | |
| types | array | Node types to keep (exact). |
| topic_id* | string | Topic id of an expert (from list_experts). |
{
"type": "object",
"required": [
"topic_id",
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 300,
"minLength": 2
},
"limit": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"types": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 10,
"description": "Node types to keep (exact)."
},
"topic_id": {
"type": "string",
"description": "Topic id of an expert (from list_experts)."
}
},
"additionalProperties": false
}Deterministic check of a (subject, relation, object) claim against an expert's graph — no LLM. Verdicts: supported (a direct edge, matching relation when given), supported_via (a direct edge of another relation, or a 2-hop chain), contradicted (a contradicting edge), unknown (no path within 2 hops; NOT a refutation). Returns the evidence chain with edge evidence text and the source papers. Subject/object accept a node id, an exact name, or search words. [Free · 2 credits]
| Argument | Type | Description |
|---|---|---|
| object* | string | |
| subject* | string | |
| relation | string | Edge type, e.g. uses, evaluated_on, introduces, supports_claim. |
| topic_id* | string | Topic id of an expert (from list_experts). |
{
"type": "object",
"required": [
"topic_id",
"subject",
"object"
],
"properties": {
"object": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"subject": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"relation": {
"type": "string",
"maxLength": 80,
"description": "Edge type, e.g. uses, evaluated_on, introduces, supports_claim."
},
"topic_id": {
"type": "string",
"description": "Topic id of an expert (from list_experts)."
}
},
"additionalProperties": false
}The expert's wiki: one structural page per public node (papers, concepts, entities, topics, questions, syntheses) with its description and every relation in and out. Without slug: list pages (filter with q) and counts per kind. With slug: the page body. Use for a readable dossier on one thing; use expert_search_facts to find claims. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| q | string | Substring filter on title/slug. |
| slug | string | Page slug from the listing. |
| topic_id* | string | Topic id of an expert (from list_experts). |
{
"type": "object",
"required": [
"topic_id"
],
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"description": "Substring filter on title/slug."
},
"slug": {
"type": "string",
"maxLength": 300,
"description": "Page slug from the listing."
},
"topic_id": {
"type": "string",
"description": "Topic id of an expert (from list_experts)."
}
},
"additionalProperties": false
}Read one view by its hp:// pointer — from list_views, or from an expert_ask citation — sliced in the database to at most max_tokens (≤2,500): a TL;DR, key ideas (one by #index), a deep-analysis section (analysis/<lang>/Q3, a subsection by #slug), result rows (results?ds=&metric=), a SOTA lane, a comparison, a note (current, or @v<history_id>), a story or synthesis section. Full text pages by offset. A missing view comes back empty with a reason. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| uri* | string | |
| lang | string | Serve the localized row when one exists, else English (lang_served says which). |
| offset | integer | Full text only: the character to start from. |
| max_tokens | integer |
{
"type": "object",
"required": [
"uri"
],
"properties": {
"uri": {
"type": "string",
"maxLength": 500,
"minLength": 6
},
"lang": {
"enum": [
"en",
"ko",
"ja",
"zh-Hans",
"es"
],
"type": "string",
"default": "en",
"description": "Serve the localized row when one exists, else English (lang_served says which)."
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "Full text only: the character to start from."
},
"max_tokens": {
"type": "integer",
"default": 1500,
"maximum": 2500,
"minimum": 50
}
},
"additionalProperties": false
}Paper detail by UUID or arXiv id: abstract, authors, venue, hype and citation counts, GitHub stars, quick summary, benchmark rows and any SOTA takes. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| paper_id* | string | UUID or arXiv id like 2401.12345 |
{
"type": "object",
"required": [
"paper_id"
],
"properties": {
"paper_id": {
"type": "string",
"description": "UUID or arXiv id like 2401.12345"
}
},
"additionalProperties": false
}State of the art of a topic BY GRAPH TRAVERSAL: for every benchmark lane (dataset × metric × experimental protocol) in the topic's expert graph, the paper at the top of the `better` chain — the one that beats others and is beaten by none — with the edge evidence (values compared). Use for 'what is SOTA on <topic>' when you want the answer as graph structure; sota_papers gives fuller rows. [Free · 3 credits]
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| topic_id* | string | Topic UUID (see list_experts / topic_overview) |
{
"type": "object",
"required": [
"topic_id"
],
"properties": {
"limit": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"topic_id": {
"type": "string",
"description": "Topic UUID (see list_experts / topic_overview)"
}
},
"additionalProperties": false
}Your personal library: Return all claim-type kg_nodes (PerformanceClaim, LimitationClaim, ComparisonClaim, ...) outbound from a Paper kg_node id. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| paper_id* | string | |
| claim_type | string |
{
"type": "object",
"required": [
"paper_id"
],
"properties": {
"paper_id": {
"type": "string"
},
"claim_type": {
"type": "string"
}
},
"additionalProperties": false
}Your personal library: Side-by-side comparison of methods: for each method id, list the papers that use it and outbound claim nodes. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| method_ids* | array |
{
"type": "object",
"required": [
"method_ids"
],
"properties": {
"method_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}Your personal library: List emergent Trend / ApproachFamily clusters ordered by paper_count (default) or created_at when 'since' is provided. Use for 'what's trending?' or 'what's new in this area?' style questions. Returns cluster name, type, paper_count, and a preview of member concepts. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| since | string | ISO-8601 date or datetime; clusters created after this point |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 20
},
"since": {
"type": "string",
"description": "ISO-8601 date or datetime; clusters created after this point"
}
},
"additionalProperties": false
}Your personal library: Restrict a list of node_ids to those connected to a paper in the requesting user's tracked-paper library. Use when the user asks about 'my papers' or 'my library'. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| node_ids* | array |
{
"type": "object",
"required": [
"node_ids"
],
"properties": {
"node_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}Your personal library: Find claims that contradict the input. Pass either a claim kg_node id (returns contradictions of that single claim) or a HypePaper papers.id (returns contradictions of any of the paper's claims). Walks 'contradicts_claim' edges in either direction. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| claim_id_or_paper_id* | string |
{
"type": "object",
"required": [
"claim_id_or_paper_id"
],
"properties": {
"claim_id_or_paper_id": {
"type": "string"
}
},
"additionalProperties": false
}Your personal library: Find papers that extend or improve on the given paper's methods/algorithms. Use when the user asks 'what's been done since paper X?' or 'who extended this method?'. paper_id is the HypePaper papers.id (not the kg_nodes id). [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| paper_id* | string |
{
"type": "object",
"required": [
"paper_id"
],
"properties": {
"paper_id": {
"type": "string"
}
},
"additionalProperties": false
}Your personal library: Fetch a paper's title, abstract, GitHub stats, AND its full deep-analysis markdown (the per-paper structured writeup with method, findings, numbers, limitations). Call this after `search_nodes` returns a Paper hit when you need to quote specific numbers, methods, or limitations from the paper rather than just the abstract. Returns the user's preferred-language version of the analysis (falls back to English). [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| language | string | Optional BCP-47 language override (e.g. 'ko', 'en'). Defaults to the user's preferred language with English as fallback. |
| paper_id* | string | Either the papers.id UUID OR a kg_node id pointing at a Paper node (e.g. the `id` field from a `search_nodes` Paper hit, or the `source_paper.id` enriched payload). |
| max_chars | integer | Truncate the deep-analysis body to this many characters to bound context cost. Lower it when calling for multiple papers at once. |
{
"type": "object",
"required": [
"paper_id"
],
"properties": {
"language": {
"type": "string",
"description": "Optional BCP-47 language override (e.g. 'ko', 'en'). Defaults to the user's preferred language with English as fallback."
},
"paper_id": {
"type": "string",
"description": "Either the papers.id UUID OR a kg_node id pointing at a Paper node (e.g. the `id` field from a `search_nodes` Paper hit, or the `source_paper.id` enriched payload)."
},
"max_chars": {
"type": "integer",
"default": 8000,
"description": "Truncate the deep-analysis body to this many characters to bound context cost. Lower it when calling for multiple papers at once."
}
},
"additionalProperties": false
}Your personal library: Fetch a node's neighborhood subgraph (nodes + edges) at the given depth. Use to expand context around a specific node id you've already located. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| depth | integer | |
| node_id* | string |
{
"type": "object",
"required": [
"node_id"
],
"properties": {
"depth": {
"type": "integer",
"default": 1
},
"node_id": {
"type": "string"
}
},
"additionalProperties": false
}Your personal library: Papers connected to the Concept node id (any direction). [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| concept_id* | string |
{
"type": "object",
"required": [
"concept_id"
],
"properties": {
"concept_id": {
"type": "string"
}
},
"additionalProperties": false
}Your personal library: Papers that use the given Method node id. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| method_id* | string |
{
"type": "object",
"required": [
"method_id"
],
"properties": {
"method_id": {
"type": "string"
}
},
"additionalProperties": false
}Your personal library: Search the research knowledge graph for nodes matching a free-text query. Returns enriched node payloads ({id, type, name, aliases, description, source_paper}) plus 1-hop edges around the top hits. Use this first when you need to find papers, methods, or concepts by topic. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| kinds | array | Optional layer filter on metadata.kind. Use to drill into a specific knowledge layer: ['editorial_insight'] (Layer 1 Insights), ['layer2_domain_synthesis'] (Layer 2 Domain Syntheses), ['layer3_paper_draft'] (Layer 3 Paper Drafts / Agentic Research). Combine values for multi-layer queries. |
| query* | string | |
| top_k | integer | |
| node_type | string | Optional filter: Paper | Method | Concept | Dataset | Benchmark | PerformanceClaim | ... |
| include_edges | boolean | When true (default), also return 1-hop edges around the top hits as relationship triples. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"kinds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional layer filter on metadata.kind. Use to drill into a specific knowledge layer: ['editorial_insight'] (Layer 1 Insights), ['layer2_domain_synthesis'] (Layer 2 Domain Syntheses), ['layer3_paper_draft'] (Layer 3 Paper Drafts / Agentic Research). Combine values for multi-layer queries."
},
"query": {
"type": "string"
},
"top_k": {
"type": "integer",
"default": 25
},
"node_type": {
"type": "string",
"description": "Optional filter: Paper | Method | Concept | Dataset | Benchmark | PerformanceClaim | ..."
},
"include_edges": {
"type": "boolean",
"default": true,
"description": "When true (default), also return 1-hop edges around the top hits as relationship triples."
}
},
"additionalProperties": false
}Your personal library: Summary statistics about the requesting user's tracked-paper library: total paper count, top years, top venues, recent titles, most-starred, AND most_connected_papers (top-5 by kg_edge degree — answers 'which paper has the most connections'). Use FIRST whenever the user asks anything about THEIR library size, distribution, recent additions, or graph connectivity. Always library-scoped — no node_id inputs needed. [Free · 1 credit]
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Your personal library: Generate a multi-paper synthesis. Pass paper UUIDs (the papers.id row id, NOT the kg_nodes id) and an optional synthesis prompt. Returns a prose summary and saves it to the user's library as a re-readable artifact. [Free · 1 credit + AI credits]
| Argument | Type | Description |
|---|---|---|
| prompt | string | |
| paper_ids* | array |
{
"type": "object",
"required": [
"paper_ids"
],
"properties": {
"prompt": {
"type": "string"
},
"paper_ids": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}Your personal library: Chronological list of papers matching a free-text query. Use for 'how has X evolved' style questions. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| kind | string | |
| query* | string | |
| since | string | YYYY-MM-DD |
{
"type": "object",
"required": [
"query"
],
"properties": {
"kind": {
"type": "string"
},
"query": {
"type": "string"
},
"since": {
"type": "string",
"description": "YYYY-MM-DD"
}
},
"additionalProperties": false
}Topics that have a ready expert (name, layer, papers ingested, last built). Use before expert_notes / expert_ask. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1
}
},
"additionalProperties": false
}What HypePaper holds about a paper, topic, note, editor story or area synthesis, as hp:// pointers with token estimates, without the text: TL;DR, key ideas, methods, each deep-analysis section (Q1 problem … Q6 summary), result rows, SOTA brief and lanes, tables, figure captions, comparisons, notes. Pass hp://paper/<id>, hp://topic/<id>, hp://note/<id>, hp://story/<id>, hp://synthesis/<id>, or a paper UUID / arXiv id. Then fetch the views you need. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| uri* | string | |
| lang | string | Serve the localized row when one exists, else English (lang_served says which). |
{
"type": "object",
"required": [
"uri"
],
"properties": {
"uri": {
"type": "string",
"maxLength": 500,
"minLength": 6
},
"lang": {
"enum": [
"en",
"ko",
"ja",
"zh-Hans",
"es"
],
"type": "string",
"default": "en",
"description": "Serve the localized row when one exists, else English (lang_served says which)."
}
},
"additionalProperties": false
}Papers from the last 21 days that beat the incumbent on a benchmark, with dataset, metric, value and the incumbent. [Free · 3 credits]
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 15,
"maximum": 30,
"minimum": 1
}
},
"additionalProperties": false
}Full text of a paper (extracted text, else OCR markdown, else abstract), paginated by character offset. [Free · 5 credits]
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| offset | integer | |
| paper_id* | string |
{
"type": "object",
"required": [
"paper_id"
],
"properties": {
"limit": {
"type": "integer",
"default": 20000,
"maximum": 40000,
"minimum": 1000
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0
},
"paper_id": {
"type": "string"
}
},
"additionalProperties": false
}A paper's resolved reference list, paginated, best-matched first: each entry is the corpus paper it resolved to (id, arXiv id, date, venue, citations), the reference's own title/authors/year as printed, the raw reference text, and how it was resolved (match method, score, verified). Use to audit what a paper builds on or to pick seeds for citation_walk. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| page | integer | |
| paper_id* | string | Paper UUID or arXiv id |
| page_size | integer |
{
"type": "object",
"required": [
"paper_id"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1
},
"paper_id": {
"type": "string",
"description": "Paper UUID or arXiv id"
},
"page_size": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1
}
},
"additionalProperties": false
}Every result row extracted from one paper's tables — its own numbers and the baselines it reports — each with its SOTA standing on that lane: rank, number of entities, whether it is the current leader, the leader and the gap to it. Use to verify a paper's claims or to see which benchmarks it competes on before calling benchmark_timeline. Unknown experimental conditions return comparison_status=insufficient_information and sota=null. When rows_truncated is true, total_rows says how many exist: pass dataset to get one benchmark's rows, or a larger limit — do not fill the gap from memory. Rows do not carry the paper's table numbers; do not cite a Table number you have not read in the paper itself. [Free · 3 credits]
| Argument | Type | Description |
|---|---|---|
| limit | integer | Result rows to return |
| dataset | string | Only rows on this dataset (any common spelling) |
| paper_id* | string | Paper UUID or arXiv id like 2401.12345 |
{
"type": "object",
"required": [
"paper_id"
],
"properties": {
"limit": {
"type": "integer",
"default": 100,
"maximum": 300,
"minimum": 1,
"description": "Result rows to return"
},
"dataset": {
"type": "string",
"maxLength": 200,
"description": "Only rows on this dataset (any common spelling)"
},
"paper_id": {
"type": "string",
"description": "Paper UUID or arXiv id like 2401.12345"
}
},
"additionalProperties": false
}Search the whole HypePaper corpus: papers (keyword matches ranked by keyword+embedding fusion; nearest by meaning when no paper matches the words), plus matching topics, authors, datasets, affiliations and a topic expert if one exists. Start here. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| q* | string | |
| sort | string | |
| limit | integer | |
| offset | integer | |
| year_max | integer | |
| year_min | integer |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"sort": {
"enum": [
"relevance",
"hype",
"recent"
],
"type": "string",
"default": "relevance"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 25,
"minimum": 1
},
"offset": {
"type": "integer",
"default": 0,
"minimum": 0
},
"year_max": {
"type": "integer"
},
"year_min": {
"type": "integer"
}
},
"additionalProperties": false
}Nearest papers by embedding for a paper id. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| paper_id* | string |
{
"type": "object",
"required": [
"paper_id"
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"paper_id": {
"type": "string"
}
},
"additionalProperties": false
}Standing alarm on state of the art: watch a topic or a benchmark lane, then poll for the record changes you have not seen yet. action='watch' adds a watch (topic, or dataset with an optional metric), action='unwatch' removes one, action='poll' (the default) returns new events across every watch — the previous holder, the new leader, the delta, and how long the old record stood. A poll marks what it returned as seen and moves the cursor, so the next call is a true diff; pass peek=true to look without consuming. Use it to keep a project current instead of re-reading a leaderboard: one call a day tells you if anything moved. [Free · 10 credits]
| Argument | Type | Description |
|---|---|---|
| peek | boolean | Return events without marking them seen |
| limit | integer | Events to return |
| topic | string | Topic name or UUID to watch (its whole subtree) |
| action | string | Default 'poll'. Every action also returns the new events. |
| metric | string | Narrow a dataset watch to one metric, e.g. 'Accuracy' |
| dataset | string | Dataset name or key to watch, e.g. 'ImageNet' |
| watch_id | string | The watch to remove (from 'watches') |
| condition | string |
Benchmark lanes whose leader changed since a date, corpus-wide or within a topic's subtree: for each change the previous holder, the new leader (paper, method, venue), the delta and how long the old record stood. Use for 'what changed in SOTA on X since June' or a periodic catch-up. Examines the 150 most recently active lanes in scope; a change whose jump is outside the SOTA feed's believability band is not reported. [Free · 3 credits]
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| since* | string | ISO date the window starts at (YYYY-MM-DD) |
| topic | string | Topic name or UUID to scope to |
| min_entrants | integer | Ignore lanes with fewer entities than this |
{
"type": "object",
"required": [
"since"
],
"properties": {
"limit": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 1
},
"since": {
"type": "string",
"description": "ISO date the window starts at (YYYY-MM-DD)"
},
"topic": {
"type": "string",
"maxLength": 200,
"description": "Topic name or UUID to scope to"
},
"min_entrants": {
"type": "integer",
"default": 3,
"maximum": 50,
"minimum": 2,
"description": "Ignore lanes with fewer entities than this"
}
},
"additionalProperties": false
}Is this paper (or a dataset+metric+value) state of the art? Returns the current leader and who has beaten it since under the same experimental conditions. Missing protocol evidence or peers yields an unknown verdict. [Free · 8 credits]
| Argument | Type | Description |
|---|---|---|
| value | number | |
| metric | string | |
| paper_id | string | |
| condition | string | Exact protocol key from dataset_leaderboard; required for an explicit value |
| dataset_key | string |
{
"type": "object",
"anyOf": [
{
"required": [
"paper_id"
]
},
{
"required": [
"dataset_key",
"metric",
"value",
"condition"
]
}
],
"properties": {
"value": {
"type": "number"
},
"metric": {
"type": "string"
},
"paper_id": {
"type": "string"
},
"condition": {
"type": "string",
"description": "Exact protocol key from dataset_leaderboard; required for an explicit value"
},
"dataset_key": {
"type": "string"
}
},
"additionalProperties": false
}State of the art for a research topic, a dataset, or a free-text dataset query. Use first for any 'what is SOTA on X', 'best method for X' or 'who leads benchmark X' question. Per benchmark lane (dataset x metric x condition) returns the leader, runners-up and entrants since `since` (default 365 days) with whether each beat the incumbent. Every row carries the value, its provenance (self-reported or reported as a baseline in another paper's table, match method), the paper (id, arXiv id, date, venue, citations, hype, code URL), up to 5 authors and, on paid plans, affiliations. Single-source lanes are flagged: one paper's table is not a leaderboard. Rankings require matching experimental protocols; rows carry conditions and source evidence. Pass the user's own words as `topic` when no topic name is known: scope.interpreted_as then names the topic and benchmarks it was read as (say so), and lists the newest matching papers with ranked_in_lanes — a paper without a lane row has no verified standing. [Free · 6 credits]
| Argument | Type | Description |
|---|---|---|
| limit | integer | Lanes to return |
| query | string | Free text matched against dataset names when no topic/dataset is known; read like a free-text topic when no dataset matches |
| since | string | ISO date; entrants on/after it are listed. Default 365 days ago |
| topic | string | Topic name or UUID; lanes come from its whole subtree. Free text that names no topic (e.g. '360 metric depth') is read as the topic it is about, on the benchmarks its matching papers report; scope.interpreted_as says how, with the newest matching papers |
| dataset | string | Dataset name or key, optionally with a protocol, e.g. 'NAVSIM navtest' |
Walk the `better` edges from a paper: direction 'up' follows papers that beat it (lane by lane) until the lane leader — i.e. 'what is SOTA relative to this paper'; 'down' lists what it beats. Each step carries the compared values. Use after get_paper/search when you hold a paper id. [Free · 3 credits]
| Argument | Type | Description |
|---|---|---|
| lane | string | Filter lanes by dataset or metric substring |
| max_hops | integer | |
| paper_id* | string | |
| direction | string |
{
"type": "object",
"required": [
"paper_id"
],
"properties": {
"lane": {
"type": "string",
"description": "Filter lanes by dataset or metric substring"
},
"max_hops": {
"type": "integer",
"default": 10,
"maximum": 50,
"minimum": 1
},
"paper_id": {
"type": "string"
},
"direction": {
"enum": [
"up",
"down"
],
"type": "string",
"default": "up"
}
},
"additionalProperties": false
}State of the art you can actually RUN: per benchmark lane, the best-ranked paper that ships a code repository, with the repo (owner/name, stars, forks, watchers, description), its rank among all entrants, and how much accuracy it gives up against the absolute leader. Use for 'best method with code for X', 'what can I reproduce today', or picking a baseline to build on. Two thirds of papers with benchmark numbers ship no code, so this answers a different question from sota_papers. Each repo carries link_confidence: 'verified' means the stored repo metadata cites the paper, 'unverified' means we could not tie them together — a linked repo is not proof the code runs. [Free · 10 credits]
| Argument | Type | Description |
|---|---|---|
| limit | integer | Lanes to return |
| query | string | Free text matched against dataset names when no topic/dataset is known; read like a free-text topic when no dataset matches |
| topic | string | Topic name or UUID; lanes come from its whole subtree. Free text that names no topic (e.g. '360 metric depth') is read as the topic it is about, on the benchmarks its matching papers report; scope.interpreted_as says how, with the newest matching papers |
| dataset | string | Dataset name or key, optionally with a protocol, e.g. 'NAVSIM navtest' |
| per_lane | integer | Runnable rows per lane (best first) |
| condition | string | Exact protocol key returned by dataset_leaderboard or sota_papers |
One taxonomy topic by name or id: where it sits (parents, level), its child topics with subtree paper counts, the benchmarks/datasets its papers report on, the topic experts available for expert_ask / expert_notes, and its top papers by hype. Use to orient in a field before sota_papers or to pick the right subtopic id. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| topic* | string | Topic name or UUID |
{
"type": "object",
"required": [
"topic"
],
"properties": {
"topic": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Topic name or UUID"
}
},
"additionalProperties": false
}Trending papers by curve-model hype or spotlight for a window, with momentum and rank change. [Free · 1 credit]
| Argument | Type | Description |
|---|---|---|
| sort | string | |
| limit | integer | |
| window | string |
{
"type": "object",
"properties": {
"sort": {
"enum": [
"hype",
"spotlight"
],
"type": "string",
"default": "hype"
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"window": {
"enum": [
"week",
"month",
"year",
"all"
],
"type": "string",
"default": "week"
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 14, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.
| Exact experimental protocol key; omitted watches each protocol separately |
{
"type": "object",
"properties": {
"peek": {
"type": "boolean",
"default": false,
"description": "Return events without marking them seen"
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 50,
"minimum": 1,
"description": "Events to return"
},
"topic": {
"type": "string",
"maxLength": 200,
"description": "Topic name or UUID to watch (its whole subtree)"
},
"action": {
"enum": [
"poll",
"watch",
"unwatch"
],
"type": "string",
"default": "poll",
"description": "Default 'poll'. Every action also returns the new events."
},
"metric": {
"type": "string",
"maxLength": 100,
"description": "Narrow a dataset watch to one metric, e.g. 'Accuracy'"
},
"dataset": {
"type": "string",
"maxLength": 200,
"description": "Dataset name or key to watch, e.g. 'ImageNet'"
},
"watch_id": {
"type": "string",
"description": "The watch to remove (from 'watches')"
},
"condition": {
"type": "string",
"maxLength": 100,
"description": "Exact experimental protocol key; omitted watches each protocol separately"
}
},
"additionalProperties": false
}| per_lane | integer | Rows per lane (leader + runners-up); recent_entrants gets the same cap |
| condition | string | Exact protocol key returned by dataset_leaderboard or sota_papers |
{
"type": "object",
"anyOf": [
{
"required": [
"topic"
]
},
{
"required": [
"dataset"
]
},
{
"required": [
"query"
]
}
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 30,
"minimum": 1,
"description": "Lanes to return"
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "Free text matched against dataset names when no topic/dataset is known; read like a free-text topic when no dataset matches"
},
"since": {
"type": "string",
"description": "ISO date; entrants on/after it are listed. Default 365 days ago"
},
"topic": {
"type": "string",
"maxLength": 200,
"description": "Topic name or UUID; lanes come from its whole subtree. Free text that names no topic (e.g. '360 metric depth') is read as the topic it is about, on the benchmarks its matching papers report; scope.interpreted_as says how, with the newest matching papers"
},
"dataset": {
"type": "string",
"maxLength": 200,
"description": "Dataset name or key, optionally with a protocol, e.g. 'NAVSIM navtest'"
},
"per_lane": {
"type": "integer",
"default": 5,
"maximum": 20,
"minimum": 1,
"description": "Rows per lane (leader + runners-up); recent_entrants gets the same cap"
},
"condition": {
"type": "string",
"maxLength": 100,
"description": "Exact protocol key returned by dataset_leaderboard or sota_papers"
}
},
"additionalProperties": false
}| min_stars |
| integer |
| Skip repositories below this star count |
{
"type": "object",
"anyOf": [
{
"required": [
"topic"
]
},
{
"required": [
"dataset"
]
},
{
"required": [
"query"
]
}
],
"properties": {
"limit": {
"type": "integer",
"default": 10,
"maximum": 30,
"minimum": 1,
"description": "Lanes to return"
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "Free text matched against dataset names when no topic/dataset is known; read like a free-text topic when no dataset matches"
},
"topic": {
"type": "string",
"maxLength": 200,
"description": "Topic name or UUID; lanes come from its whole subtree. Free text that names no topic (e.g. '360 metric depth') is read as the topic it is about, on the benchmarks its matching papers report; scope.interpreted_as says how, with the newest matching papers"
},
"dataset": {
"type": "string",
"maxLength": 200,
"description": "Dataset name or key, optionally with a protocol, e.g. 'NAVSIM navtest'"
},
"per_lane": {
"type": "integer",
"default": 3,
"maximum": 10,
"minimum": 1,
"description": "Runnable rows per lane (best first)"
},
"condition": {
"type": "string",
"maxLength": 100,
"description": "Exact protocol key returned by dataset_leaderboard or sota_papers"
},
"min_stars": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0,
"description": "Skip repositories below this star count"
}
},
"additionalProperties": false
}