Search scholarly papers
search_papersSearch Rivul Index and return structured scholarly metadata. Free under fair-use rate limits. Each call adds 2 to this workspace's MCP usage count, which usage_status reports.
Each result is a short record -- id, title, year, first 3 authors, citation count, doi and a 200-character snippet. The full record for a result (complete snippet, every author held, venue, work type, topic, field and open-access links) is available from get_paper_details by its openalex_id.
Results come from a dated OpenAlex snapshot, not live data; meta.snapshot_at gives the snapshot date. Every field is as OpenAlex recorded it on that date and is not independently verified: OpenAlex records can be wrong, and a small number have been corrupted upstream by predatory mirrors that overwrite a real paper's date, DOI and open-access link while leaving its title, authors and abstract intact. openalex_id is the stable identifier; a doi may not resolve.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"query": "<query>"
},
"name": "search_papers"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | relevance | |
| field | No | OpenAlex display name, matched exactly (case-sensitive); surrounding and repeated spaces are removed. | |
| limit | No | ||
| query | Yes | ||
| topic | No | OpenAlex display name, matched exactly (case-sensitive); surrounding and repeated spaces are removed. | |
| offset | No | ||
| year_max | No | ||
| year_min | No | ||
| min_citations | No | Rounded down to the nearest of 0, 10, 50, 100, 500, 1000, 5000, 10000. | |
| open_access_only | No |