Signed citation-integrity reports + retraction-checked evidence packs, paid per call via x402/USDC.
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.
Verify a bibliography. For every reference: exists, resolves, retracted/corrected/flagged, title/author/year match against the registered record, and a rule-derived fabrication risk — as a signed (Ed25519, RFC 8785 canonical JSON), byte-reproducible JSON report. Input: structured references or BibTeX. No LLM; every claim carries its source and retrieval time. Up to 50 references. Paid: $1.00 USDC per successful call via x402 (eip155:8453). An unpaid call returns the payment requirements (isError). Results carry settled / transaction / network / payer plus the signed report. Use this to check references you already have; to find papers for a question or claim, use evidence_pack_preview / evidence_pack instead.
A BibTeX bibliography (entry key → reference id); at most 262144 UTF-8 bytes — maxLength counts characters and is exact for ASCII.
Structured references. Exactly one of references / bibtex.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Verify a bibliography. For every reference: exists, resolves, retracted/corrected/flagged, title/author/year match against the registered record, and a rule-derived fabrication risk — as a signed (Ed25519, RFC 8785 canonical JSON), byte-reproducible JSON report. Input: structured references or BibTeX. No LLM; every claim carries its source and retrieval time. Up to 50 references. Paid: $1.00 USDC per successful call via x402 (eip155:8453). An unpaid call returns the payment requirements (isError). Results carry settled / transaction / network / payer plus the signed report. Use this to check references you already have; to find papers for a question or claim, use evidence_pack_preview / evidence_pack instead.
| Argument | Type | Description |
|---|---|---|
| bibtex | string | A BibTeX bibliography (entry key → reference id); at most 262144 UTF-8 bytes — maxLength counts characters and is exact for ASCII. |
| options | object | |
| references | array | Structured references. Exactly one of references / bibtex. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bibtex": {
"type": "string",
"maxLength": 262144,
"description": "A BibTeX bibliography (entry key → reference id); at most 262144 UTF-8 bytes — maxLength counts characters and is exact for ASCII."
},
"options": {
"type": "object",
"properties": {
"strict_authors": {
"type": "boolean"
},
"include_unpaywall": {
"type": "boolean"
}
},
"additionalProperties": false
},
"references": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 120
},
"doi": {
"type": "string",
"maxLength": 300
},
"raw": {
"type": "string",
"maxLength": 1000,
"description": "The citation as free text (used as a bibliographic query when no title is given)."
},
"year": {
"type": "integer"
},
"title": {
"type": "string",
"maxLength": 500
},
"venue": {
"type": "string",
"maxLength": 300
},
"authors": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 100
}
},
"additionalProperties": false
},
"maxItems": 200,
"minItems": 1,
"description": "Structured references. Exactly one of references / bibtex."
}
},
"additionalProperties": false
}Verify a bibliography. For every reference: exists, resolves, retracted/corrected/flagged, title/author/year match against the registered record, and a rule-derived fabrication risk — as a signed (Ed25519, RFC 8785 canonical JSON), byte-reproducible JSON report. Input: structured references or BibTeX. No LLM; every claim carries its source and retrieval time. Up to 75 references. Paid: $3.00 USDC per successful call via x402 (eip155:8453). An unpaid call returns the payment requirements (isError). Results carry settled / transaction / network / payer plus the signed report. Use this to check references you already have; to find papers for a question or claim, use evidence_pack_preview / evidence_pack instead. NOTE: $3.00 is above the @x402/core client's default spend cap (maxAmountPerPayment $1.00); raise it (client.setSpendControls) before calling, or the client refuses without sending anything.
| Argument | Type | Description |
|---|---|---|
| bibtex | string | A BibTeX bibliography (entry key → reference id); at most 262144 UTF-8 bytes — maxLength counts characters and is exact for ASCII. |
| options | object | |
| references | array | Structured references. Exactly one of references / bibtex. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bibtex": {
"type": "string",
"maxLength": 262144,
"description": "A BibTeX bibliography (entry key → reference id); at most 262144 UTF-8 bytes — maxLength counts characters and is exact for ASCII."
},
"options": {
"type": "object",
"properties": {
"strict_authors": {
"type": "boolean"
},
"include_unpaywall": {
"type": "boolean"
}
},
"additionalProperties": false
},
"references": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 120
},
"doi": {
"type": "string",
"maxLength": 300
},
"raw": {
"type": "string",
"maxLength": 1000,
"description": "The citation as free text (used as a bibliographic query when no title is given)."
},
"year": {
"type": "integer"
},
"title": {
"type": "string",
"maxLength": 500
},
"venue": {
"type": "string",
"maxLength": 300
},
"authors": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 100
}
},
"additionalProperties": false
},
"maxItems": 200,
"minItems": 1,
"description": "Structured references. Exactly one of references / bibtex."
}
},
"additionalProperties": false
}Free preview. Verify a bibliography. For every reference: exists, resolves, retracted/corrected/flagged, title/author/year match against the registered record, and a rule-derived fabrication risk — as a signed (Ed25519, RFC 8785 canonical JSON), byte-reproducible JSON report. Input: structured references or BibTeX. No LLM; every claim carries its source and retrieval time. Checks only the first 3 references; unsigned; no payment. Use this to check references you already have; to find papers for a question or claim, use evidence_pack_preview / evidence_pack instead.
| Argument | Type | Description |
|---|---|---|
| bibtex | string | A BibTeX bibliography (entry key → reference id); at most 262144 UTF-8 bytes — maxLength counts characters and is exact for ASCII. |
| options | object | |
| references | array | Structured references. Exactly one of references / bibtex. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"bibtex": {
"type": "string",
"maxLength": 262144,
"description": "A BibTeX bibliography (entry key → reference id); at most 262144 UTF-8 bytes — maxLength counts characters and is exact for ASCII."
},
"options": {
"type": "object",
"properties": {
"strict_authors": {
"type": "boolean"
},
"include_unpaywall": {
"type": "boolean"
}
},
"additionalProperties": false
},
"references": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 120
},
"doi": {
"type": "string",
"maxLength": 300
},
"raw": {
"type": "string",
"maxLength": 1000,
"description": "The citation as free text (used as a bibliographic query when no title is given)."
},
"year": {
"type": "integer"
},
"title": {
"type": "string",
"maxLength": 500
},
"venue": {
"type": "string",
"maxLength": 300
},
"authors": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 100
}
},
"additionalProperties": false
},
"maxItems": 200,
"minItems": 1,
"description": "Structured references. Exactly one of references / bibtex."
}
},
"additionalProperties": false
}Re-fetch a paid report you already bought, by its request_id, within the cache TTL. Free; no payment; the same signed report (request_id re-attached, unsigned, as on the paid result). Over the hosted endpoint GET /v1/citation-report/receipts/<request_id> serves the same bytes; over a local stdio run only that process can. Not found after the TTL, for previews, or for reports served by another process.
| Argument | Type | Description |
|---|---|---|
| request_id* | string | The request_id from a paid citation_report / citation_report_large result. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"request_id"
],
"properties": {
"request_id": {
"type": "string",
"pattern": "^rpt_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "The request_id from a paid citation_report / citation_report_large result."
}
},
"additionalProperties": false
}Find 3-10 scholarly candidates for a question or topic. Returns DOI/OpenAlex IDs, authors, year, venue, source URLs, citation context, open-access location, and known retraction/correction warnings. JSON only. Does not claim that a paper proves a statement. Paid: $0.03 USDC per successful call via x402 (eip155:8453). An unpaid call returns the payment requirements (isError). Results carry settled / transaction / network / payer. Use this when the free evidence_pack_preview (at most 3 candidates) is not enough; to check references you already have, use citation_report instead.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Papers to return (3-10, default 5). |
| query* | string | Question, claim, or research topic. |
| fields | array | Optional response minimization. |
| to_year | integer | |
| from_year | integer | |
| open_access_only | boolean | |
| exclude_known_retracted | boolean | Default keeps retracted records but marks them; true filters them. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 3,
"description": "Papers to return (3-10, default 5)."
},
"query": {
"type": "string",
"maxLength": 500,
"minLength": 8,
"description": "Question, claim, or research topic."
},
"fields": {
"type": "array",
"items": {
"enum": [
"papers",
"relevance",
"impact_context",
"access",
"integrity",
"provenance"
],
"type": "string"
},
"description": "Optional response minimization."
},
"to_year": {
"type": "integer",
"maximum": 2100,
"minimum": 1800
},
"from_year": {
"type": "integer",
"maximum": 2100,
"minimum": 1800
},
"open_access_only": {
"type": "boolean"
},
"exclude_known_retracted": {
"type": "boolean",
"description": "Default keeps retracted records but marks them; true filters them."
}
},
"additionalProperties": false
}Free triage for a question or topic: returns at most 3 scholarly candidates with DOI/OpenAlex IDs, authors, year, venue, source URLs, citation context, open-access location and known retraction/correction warnings. JSON only; no payment. Does not claim that a paper proves a statement. For up to 10 candidates use evidence_pack; to check references you already have use citation_report_preview.
| Argument | Type | Description |
|---|---|---|
| query* | string | Question, claim, or research topic. |
| fields | array | Optional response minimization. |
| to_year | integer | |
| from_year | integer | |
| open_access_only | boolean | |
| exclude_known_retracted | boolean | Default keeps retracted records but marks them; true filters them. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 500,
"minLength": 8,
"description": "Question, claim, or research topic."
},
"fields": {
"type": "array",
"items": {
"enum": [
"papers",
"relevance",
"impact_context",
"access",
"integrity",
"provenance"
],
"type": "string"
},
"description": "Optional response minimization."
},
"to_year": {
"type": "integer",
"maximum": 2100,
"minimum": 1800
},
"from_year": {
"type": "integer",
"maximum": 2100,
"minimum": 1800
},
"open_access_only": {
"type": "boolean"
},
"exclude_known_retracted": {
"type": "boolean",
"description": "Default keeps retracted records but marks them; true filters them."
}
},
"additionalProperties": false
}