Reviews of arXiv papers for AI agents: verdicts, claims, flaws, compiled records, citation graphs.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
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.
The structured argument of one specific paper: what it actually asserts, the premises it assumes, the machinery connecting those premises to the claim, and the falsifier, as short labeled statements in argument order (premise, machinery, claim, falsifier). Use this for requests about a paper's claims, premises, assumptions, reasoning, logical dependencies, logical structure, argument structure, or conclusion. Each entry includes its text, role, type, and status.
Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number.
The structured argument of one specific paper: what it actually asserts, the premises it assumes, the machinery connecting those premises to the claim, and the falsifier, as short labeled statements in argument order (premise, machinery, claim, falsifier). Use this for requests about a paper's claims, premises, assumptions, reasoning, logical dependencies, logical structure, argument structure, or conclusion. Each entry includes its text, role, type, and status.
| Argument | Type | Description |
|---|---|---|
| arxiv_id* | string | Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number. |
{
"type": "object",
"title": "analyze_paper_claimsArguments",
"required": [
"arxiv_id"
],
"properties": {
"arxiv_id": {
"type": "string",
"title": "Arxiv Id",
"description": "Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number."
}
}
}Read the papers closest to a question and return, for each, whether its own abstract sentences answer yes, no or not addressed, with the deciding sentence quoted. Call when a user asks whether something holds across the literature. Candidates are chosen by meaning, so a paper that answers in different words can be missed. Needs a personal key; counts against a daily allowance.
| Argument | Type | Description |
|---|---|---|
| field | string | Optional arXiv category such as gr-qc or math.CO; empty for all fields. |
| question* | string | A yes-or-no question the literature could answer. |
{
"type": "object",
"title": "ask_fieldArguments",
"required": [
"question"
],
"properties": {
"field": {
"type": "string",
"title": "Field",
"default": "",
"description": "Optional arXiv category such as gr-qc or math.CO; empty for all fields."
},
"question": {
"type": "string",
"title": "Question",
"maxLength": 600,
"minLength": 15,
"description": "A yes-or-no question the literature could answer."
}
}
}Which arXiv papers support a scientific statement, which contradict it, and which study it without deciding, each with the paper's own main claim quoted and the classifier's probability. Call this before asserting a scientific result, when a user asks whether something is established or disputed, or when two sources disagree. Candidates are papers whose title and abstract match the statement's words, plus papers Pith's connected record links to them as stating the same or a conflicting result; a paper that states the result in other words can be missed, so an empty answer is not evidence of absence. Reported supporters and contradictions agreed with two blind model families 110 times in 112 (https://pith.science/connected-record).
| Argument | Type | Description |
|---|---|---|
| limit | integer | Candidate papers to judge. 4 to 24. |
| statement* | string | One scientific statement in plain words, for example a result a user asserts or that you are about to assert. |
{
"type": "object",
"title": "check_claimArguments",
"required": [
"statement"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 16,
"maximum": 24,
"minimum": 4,
"description": "Candidate papers to judge. 4 to 24."
},
"statement": {
"type": "string",
"title": "Statement",
"description": "One scientific statement in plain words, for example a result a user asserts or that you are about to assert."
}
}
}Resolve each reference in a draft, flag retracted works, and for arXiv papers show how later papers cite them: as support, and whether any contest them, with the contesting sentence quoted. Call before a submission or when a user wants their reference list checked. Needs a personal key; counts against a daily allowance.
| Argument | Type | Description |
|---|---|---|
| text* | string | The draft's reference list: BibTeX, a LaTeX bibliography or plain reference lines. |
{
"type": "object",
"title": "check_my_draftArguments",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"title": "Text",
"maxLength": 200000,
"minLength": 20,
"description": "The draft's reference list: BibTeX, a LaTeX bibliography or plain reference lines."
}
}
}One hop from a paper: every reference entry with its resolved work identity, the papers that cite it, and, where a record exists, the citing sentences with their labeled intent. An edge means the paper names the other work, not that the work supports the citing claim.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Graph rows per side. 1 to 40. |
| arxiv_id* | string | Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number. |
| direction | string | out: works this paper cites. in: papers that cite it. both. |
{
"type": "object",
"title": "citation_neighborsArguments",
"required": [
"arxiv_id"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 12,
"maximum": 40,
"minimum": 1,
"description": "Graph rows per side. 1 to 40."
},
"arxiv_id": {
"type": "string",
"title": "Arxiv Id",
"description": "Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number."
},
"direction": {
"type": "string",
"title": "Direction",
"default": "both",
"description": "out: works this paper cites. in: papers that cite it. both."
}
}
}Author sentences the classifier labeled with one role, across every stored record, each with its probability and paper. Abstract-tier records cover limitation, result and main_claim; full-text records add condition, citation and measurement.
| Argument | Type | Description |
|---|---|---|
| role* | string | limitation, condition, result, main_claim, citation, or measurement. |
| limit | integer | 1 to 50. |
| query | string | Words to match in the author's sentence. Empty returns the role. |
| arxiv_id | string | One paper, or empty for every stored record. |
{
"type": "object",
"title": "find_passagesArguments",
"required": [
"role"
],
"properties": {
"role": {
"type": "string",
"title": "Role",
"description": "limitation, condition, result, main_claim, citation, or measurement."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 20,
"maximum": 50,
"minimum": 1,
"description": "1 to 50."
},
"query": {
"type": "string",
"title": "Query",
"default": "",
"description": "Words to match in the author's sentence. Empty returns the role."
},
"arxiv_id": {
"type": "string",
"title": "Arxiv Id",
"default": "",
"description": "One paper, or empty for every stored record."
}
}
}Alias of analyze_paper_claims: the same ledger of what the paper asserts, its premises, machinery, and falsifier, in argument order.
| Argument | Type | Description |
|---|---|---|
| arxiv_id* | string | Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number. |
{
"type": "object",
"title": "get_claimsArguments",
"required": [
"arxiv_id"
],
"properties": {
"arxiv_id": {
"type": "string",
"title": "Arxiv Id",
"description": "Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number."
}
}
}Alias of get_paper_falsifier: the same falsifier and watcher count.
| Argument | Type | Description |
|---|---|---|
| arxiv_id* | string | Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number. |
{
"type": "object",
"title": "get_falsifierArguments",
"required": [
"arxiv_id"
],
"properties": {
"arxiv_id": {
"type": "string",
"title": "Arxiv Id",
"description": "Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number."
}
}
}The falsifier for one specific paper's core claim: the concrete observation, experiment, or computation that would settle or disprove it, plus how many people are watching for that result. Use this when the user asks what would falsify the paper, prove it wrong, test its central claim, settle the claim, or show that the conclusion fails.
| Argument | Type | Description |
|---|---|---|
| arxiv_id* | string | Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number. |
{
"type": "object",
"title": "get_paper_falsifierArguments",
"required": [
"arxiv_id"
],
"properties": {
"arxiv_id": {
"type": "string",
"title": "Arxiv Id",
"description": "Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number."
}
}
}The compiled record of one paper: the authors' own sentences, arranged with typed labels. It carries the main claim in the authors' words, each abstract sentence's role, results with the qualifications the authors state beside them, the conditions of the study, measurements with where they appear, the arXiv listing abstract compared with the manuscript's abstract, resources including what is not stated, the authors' own limitations, how the paper uses its references, and what was and was not examined. No sentence in it was written by a model; every label carries its probability. Use this for what a paper states and under what conditions, including papers Pith has not reviewed, where get_review reports no review. Accepts an arXiv id or URL, DOI, or Pith Number.
| Argument | Type | Description |
|---|---|---|
| arxiv_id* | string | Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number. |
{
"type": "object",
"title": "get_recordArguments",
"required": [
"arxiv_id"
],
"properties": {
"arxiv_id": {
"type": "string",
"title": "Arxiv Id",
"description": "Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number."
}
}
}Pith's review of one specific paper, in one call: the verdict, confidence, novelty and correctness scores, one-line summary, weakest assumption, and the paper's argument as short labeled statements (premise, machinery, core claim, falsifier) already extracted, so the paper's premises and logical structure can be stated without reading the PDF. Use this for any question about a specific paper: what it asserts, what it assumes, how the argument runs, how sound it is, or what Pith concluded. Accepts an arXiv id or URL, DOI, or Pith Number.
| Argument | Type | Description |
|---|---|---|
| arxiv_id* | string | Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number. |
{
"type": "object",
"title": "get_reviewArguments",
"required": [
"arxiv_id"
],
"properties": {
"arxiv_id": {
"type": "string",
"title": "Arxiv Id",
"description": "Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number."
}
}
}A reviewer's published signed reviews and, when present, their calibration record (Brier score, open predictions, positivity skew). Call this when the user asks about a named Pith reviewer or how trustworthy a reviewer's track record is.
| Argument | Type | Description |
|---|---|---|
| handle* | string |
{
"type": "object",
"title": "get_reviewer_recordArguments",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string",
"title": "Handle"
}
}
}Published human signed reviews of one paper: reviewer identity, axis deltas against the machine review, claim verdicts, defects, predictions, and who paid. Call this when the user asks what human experts said about a paper, on top of the machine review.
| Argument | Type | Description |
|---|---|---|
| arxiv_id* | string | Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number. |
{
"type": "object",
"title": "get_signed_reviewsArguments",
"required": [
"arxiv_id"
],
"properties": {
"arxiv_id": {
"type": "string",
"title": "Arxiv Id",
"description": "Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number."
}
}
}The papers Pith reviewed most recently, newest first. Call this when the user asks what is new, notable, or recently reviewed in a field or overall. days caps how far back to look (max 90).
| Argument | Type | Description |
|---|---|---|
| days | integer | |
| limit | integer | |
| category | any | Field to filter by: an arXiv archive ('cond-mat'), a full category ('cond-mat.str-el'), or a plain field name like 'condensed matter' or 'machine learning'; omit for all fields. |
{
"type": "object",
"title": "latest_reviewsArguments",
"properties": {
"days": {
"type": "integer",
"title": "Days",
"default": 7
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"category": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Category",
"default": null,
"description": "Field to filter by: an arXiv archive ('cond-mat'), a full category ('cond-mat.str-el'), or a plain field name like 'condensed matter' or 'machine learning'; omit for all fields."
}
}
}For the papers claimed on the account behind your key: how many papers cite each, whether they cite it as support, extension or disagreement, and the citing sentence quoted. Call when the user asks who is building on or disputing their work. Needs a personal key.
No arguments.
{
"type": "object",
"title": "my_citationsArguments",
"properties": {}
}Pith's machine review verdict and the count of published signed human reviews for each paper claimed on the account behind your key. Needs a personal key.
No arguments.
{
"type": "object",
"title": "my_reviewsArguments",
"properties": {}
}Whether either paper cites the other, the resolved works both cite (on or off arXiv), and the papers that cite both.
| Argument | Type | Description |
|---|---|---|
| a* | string | Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number. |
| b* | string | Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number. |
| limit | integer | Shared graph neighbors per side. 1 to 40. |
{
"type": "object",
"title": "paper_bridgeArguments",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string",
"title": "A",
"description": "Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number."
},
"b": {
"type": "string",
"title": "B",
"description": "Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number."
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 12,
"maximum": 40,
"minimum": 1,
"description": "Shared graph neighbors per side. 1 to 40."
}
}
}What other arXiv papers do with this paper, and what it does with the arXiv papers it cites: builds on, uses the method or tool, uses the data, compares with, cites as support or background, or contests. Each group counts distinct papers and quotes the citing authors' own sentences. Labels come from each citing paper's LaTeX source typed by Pith's classifier and are shown only at intent probability 0.8 or more (support at 0.95, contests at 0.7); the rest are counted as unlabelled. Measured agreement of every label with independent model families: https://pith.science/connected-record. Use this for how a result has been taken up, challenged or built on across arXiv.
| Argument | Type | Description |
|---|---|---|
| quotes | integer | Quoted sentences per group. 1 to 20. |
| arxiv_id* | string | Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number. |
{
"type": "object",
"title": "paper_connectionsArguments",
"required": [
"arxiv_id"
],
"properties": {
"quotes": {
"type": "integer",
"title": "Quotes",
"default": 5,
"maximum": 20,
"minimum": 1,
"description": "Quoted sentences per group. 1 to 20."
},
"arxiv_id": {
"type": "string",
"title": "Arxiv Id",
"description": "Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number."
}
}
}One paper's compiled record, small enough to hold beside others: the main claim and contribution in the authors' words, each abstract sentence with its role and probability, paper-level labels, and, for full-text records, conditions, measurements, results and limitations, with totals so a capped list is not mistaken for the whole paper.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Items per list. 1 to 20. |
| arxiv_id* | string | Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number. |
{
"type": "object",
"title": "paper_packetArguments",
"required": [
"arxiv_id"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 8,
"maximum": 20,
"minimum": 1,
"description": "Items per list. 1 to 20."
},
"arxiv_id": {
"type": "string",
"title": "Arxiv Id",
"description": "Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number."
}
}
}Sources read and levels run for one paper's record, or the number of stored records by tier. Call before treating an empty result as a finding: an empty list means nothing in the examined scope matched.
| Argument | Type | Description |
|---|---|---|
| arxiv_id | string | One paper, or empty for the whole record store. |
{
"type": "object",
"title": "record_coverageArguments",
"properties": {
"arxiv_id": {
"type": "string",
"title": "Arxiv Id",
"default": "",
"description": "One paper, or empty for the whole record store."
}
}
}Turn a pasted arXiv id, arXiv URL, DOI, or Pith Number into the arXiv id the other tools key on. ``resolved`` is false when the input did not become an arXiv id.
| Argument | Type | Description |
|---|---|---|
| reference* | string | Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number. |
{
"type": "object",
"title": "resolve_paperArguments",
"required": [
"reference"
],
"properties": {
"reference": {
"type": "string",
"title": "Reference",
"description": "Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number."
}
}
}Full-text search over every scientific claim Pith has extracted, across all reviewed papers. Call this when the user asks who claims something, whether a claim appears in the recent literature, or what evidence bears on a statement. Returns each matching claim with its paper, verdict, and review link.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string | The claim or statement to look for, in plain words. |
{
"type": "object",
"title": "search_claimsArguments",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"query": {
"type": "string",
"title": "Query",
"description": "The claim or statement to look for, in plain words."
}
}
}Search Pith-reviewed papers by title and abstract. Call this when the user names a research topic, phenomenon, method, or paper title without an identifier, or asks whether Pith has reviewed anything on a subject. Each result carries the paper's verdict, summary, and review link.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string | Topic, phenomenon, method, or paper title in plain words. |
{
"type": "object",
"title": "search_papersArguments",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"query": {
"type": "string",
"title": "Query",
"description": "Topic, phenomenon, method, or paper title in plain words."
}
}
}Whether the cited paper's own sentences support what a sentence attributes to it: supports, partly supports (a condition is missing), contradicts, or not addressed, with the single best sentence from the paper quoted. Call this before citing a paper for a specific claim, or to check a citation in a draft or an answer. It reads the paper's abstract, and its full text where Pith holds it; the examined field says which. On real citations its verdict agreed with two blind model families 139 times in 160, most differences being partly supported versus not addressed (https://pith.science/connected-record).
| Argument | Type | Description |
|---|---|---|
| cited* | string | Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number. |
| sentence* | string | The sentence that cites the paper, as written in a draft, an answer or a paper. |
{
"type": "object",
"title": "verify_citationArguments",
"required": [
"sentence",
"cited"
],
"properties": {
"cited": {
"type": "string",
"title": "Cited",
"description": "Any form the user gave: bare arXiv id (2401.00001), arXiv abs/pdf URL, DOI or doi.org URL, or Pith Number."
},
"sentence": {
"type": "string",
"title": "Sentence",
"description": "The sentence that cites the paper, as written in a draft, an answer or a paper."
}
}
}