← The evidence ledger
Evidence row 258029
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 1e3a6b92-a92f-4c17-9c81-2a7cdfa0b9e3
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- 1d04258b4cf9f5d2050dd3310c01bf9f438880d823f544408bcefdf951f6b611
- Leaf
- 0xb85d9795823aa8c3f466957fe8eec2378ee7ab253bec8ef39c18cb20554e3e9d
What was observed
{
"count": 12,
"tools": [
{
"description": "Read the best abstract available for a paper. Use with a DOI or with author_name + candidate_index + paper_index after author_papers. If you pass `engines`, use a comma-separated subset of: elsevier, openalex, crossref, arxiv, europepmc, springer, semanticscholar.",
"inputSchema": {
"properties": {
"author_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Author Name"
},
"candidate_index": {
"default": 1,
"title": "Candidate Index",
"type": "integer"
},
"doi": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Doi"
},
"engines": {
"default": "",
"title": "Engines",
"type": "string"
},
"paper_index": {
"default": 1,
"title": "Paper Index",
"type": "integer"
}
},
"title": "scholarfetch_abstractArguments",
"type": "object"
},
"name": "scholarfetch_abstract"
},
{
"description": "Read full paper text when machine-readable content is recoverable. Use with a DOI or with author_name + candidate_index + paper_index. Uses Elsevier first, then open-access fallbacks such as Springer OA, Europe PMC, arXiv PDF, and generic PDF URLs when text is recoverable. If you pass `engines`, use a comma-separated subset of: elsevier, openalex, crossref, arxiv, europepmc, springer, semanticscholar.",
"inputSchema": {
"properties": {
"author_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Author Name"
},
"candidate_index": {
"default": 1,
"title": "Candidate Index",
"type": "integer"
},
"doi": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Doi"
},
"engines": {
"default": "",
"title": "Engines",
"type": "string"
},
"paper_index": {
"default": 1,
"title": "Paper Index",
"type": "integer"
}
},
"title": "scholarfetch_article_textArguments",
"type": "object"
},
"name": "scholarfetch_article_text"
},
{
"description": "Disambiguate a human author name into ranked identity candidates. Use this before `scholarfetch_author_papers` when the name is ambiguous and you need a stable `candidate_index`. If you pass `engines`, it must include `openalex`.",
"inputSchema": {
"properties": {
"engines": {
"default": "",
"title": "Engines",
"type": "string"
},
"limit": {
"default": 10,
"title": "Limit",
"type": "integer"
},
"name": {
"title": "Name",
"type": "string"
}
},
"required": [
"name"
],
"title": "scholarfetch_author_candidatesArguments",
"type": "object"
},
"name": "scholarfetch_author_candidates"
},
{
"description": "Expand one author into a deduplicated paper list. This is the main author->paper traversal tool and supports research filters. Use `author_id` when you already know the exact author, or `author_name` plus `candidate_index` after `scholarfetch_author_candidates`. Supported comma-separated `filters`: year>=YYYY, year<=YYYY, year=YYYY, has:abstract, has:doi, has:pdf, venue:<text>, title:<text>, doi:<text>. If you pass `engines`, it must include `openalex`.",
"inputSchema": {
"properties": {
"author_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Author Id"
},
"author_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Author Name"
},
"candidate_index": {
"default": 1,
"title": "Candidate Index",
"type": "integer"
},
"engines": {
"default": "",
"title": "Engines",
"type": "string"
},
"filters": {
"default": "",
"title": "Filters",
"type": "string"
},
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
}
},
"title": "scholarfetch_author_papersArguments",
"type": "object"
},
"name": "scholarfetch_author_papers"
},
{
"description": "Enrich one known DOI with metadata, reading links, and full-text availability signals. If you pass `engines`, use a comma-separated subset of: elsevier, openalex, crossref, arxiv, europepmc, springer, semanticscholar.",
"inputSchema": {
"properties": {
"doi": {
"title": "Doi",
"type": "string"
},
"engines": {
"default": "",
"title": "Engines",
"type": "string"
}
},
"required": [
"doi"
],
"title": "scholarfetch_doi_lookupArguments",
"type": "object"
},
"name": "scholarfetch_doi_lookup"
},
{
"description": "Expand a paper into its references. Use with a DOI or with author_name + candidate_index + paper_index. This is the main edge-expansion tool for traversing the literature graph. If you pass `engines`, use a comma-separated subset of: elsevier, openalex, crossref, arxiv, europepmc, springer, semanticscholar.",
"inputSchema": {
"properties": {
"author_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Author Name"
},
"candidate_index": {
"default": 1,
"title": "Candidate Index",
"type": "integer"
},
"doi": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Doi"
},
"engines": {
"default": "",
"title": "Engines",
"type": "string"
},
"paper_index": {
"default": 1,
"title": "Paper Index",
"type": "integer"
}
},
"title": "scholarfetch_referencesArguments",
"type": "object"
},
"name": "scholarfetch_references"
},
{
"description": "Add one paper to a named in-memory reading list on the MCP server. Best input is paper_json copied from another ScholarFetch tool result, but DOI, query+result_index, or author_name+candidate_index+paper_index also work. Reuse the same collection name across calls to keep one research session together.",
"inputSchema": {
"properties": {
"author_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Author Name"
},
"candidate_index": {
"default": 1,
"title": "Candidate Index",
"type": "integer"
},
"collection": {
"default": "default",
"title": "Collection",
"type": "string"
},
"doi": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Doi"
},
"engines": {
"default": "",
"title": "Engines",
"type": "string"
},
"paper_index": {
"default": 1,
"title": "Paper Index",
"type": "integer"
},
"paper_json": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Paper Json"
},
"query": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Query"
},
"result_index": {
"default": 1,
"title": "Result Index",
"type": "integer"
}
},
"title": "scholarfetch_saved_addArguments",
"type": "object"
},
"name": "scholarfetch_saved_add"
},
{
"description": "Clear all papers from a named in-memory reading list. Useful when restarting a research branch.",
"inputSchema": {
"properties": {
"collection": {
"default": "default",
"title": "Collection",
"type": "string"
}
},
"title": "scholarfetch_saved_clearArguments",
"type": "object"
},
"name": "scholarfetch_saved_clear"
},
{
"description": "Export the current reading list as citations, abstracts, BibTeX, or an aggregated full-text corpus. Valid `format` values: citations, abstracts, bib, fulltext. Valid `style` values when `format=citations`: harvard, apa, ieee. Use `include_references=true` with `format=fulltext` when you want a richer downstream synthesis corpus.",
"inputSchema": {
"properties": {
"collection": {
"default": "default",
"title": "Collection",
"type": "string"
},
"engines": {
"default": "",
"title": "Engines",
"type": "string"
},
"format": {
"default": "citations",
"title": "Format",
"type": "string"
},
"include_references": {
"default": false,
"title": "Include References",
"type": "boolean"
},
"style": {
"default": "harvard",
"title": "Style",
"type": "string"
}
},
"title": "scholarfetch_saved_exportArguments",
"type": "object"
},
"name": "scholarfetch_saved_export"
},
{
"description": "List all papers currently saved in a named in-memory reading list. Use this to inspect the working set before exporting or removing items.",
"inputSchema": {
"properties": {
"collection": {
"default": "default",
"title": "Collection",
"type": "string"
}
},
"title": "scholarfetch_saved_listArguments",
"type": "object"
},
"name": "scholarfetch_saved_list"
},
{
"description": "Remove one paper from a named in-memory reading list by DOI or exact title.",
"inputSchema": {
"properties": {
"collection": {
"default": "default",
"title": "Collection",
"type": "string"
},
"doi": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Doi"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Title"
}
},
"title": "scholarfetch_saved_removeArguments",
"type": "object"
},
"name": "scholarfetch_saved_remove"
},
{
"description": "Start a research traversal from keywords, a DOI, or a person name. Returns deduplicated paper records that you can inspect, save, expand through references, or use as seeds for author exploration. If you pass `engines`, use a comma-separated subset of: elsevier, openalex, crossref, arxiv, europepmc, springer, semanticscholar.",
"inputSchema": {
"properties": {
"engines": {
"default": "",
"title": "Engines",
"type": "string"
},
"limit": {
"default": 20,
"title": "Limit",
"type": "integer"
},
"query": {
"title": "Query",
"type": "string"
}
},
"required": [
"query"
],
"title": "scholarfetch_searchArguments",
"type": "object"
},
"name": "scholarfetch_search"
}
]
}What the leaf hashes
{"body":"1d04258b4cf9f5d2050dd3310c01bf9f438880d823f544408bcefdf951f6b611","id":258029,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793029898690534,"prev":null,"subject":"1e3a6b92-a92f-4c17-9c81-2a7cdfa0b9e3","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0xb85d83bb30d587a9f66d1174dcd93b6555cf632226354d07e78a4a6acdf04a7b
- 0x5d303bbe7aeee81be0910bcecd2c8464a8f057dba3f5478cc25cacf400cea14a
- 0x9497e8979fab1ef606de6c451221f8df808b72d5bcda6ba668e1f7cd8a1ea218
- 0xa2de7750f0915ac263b81de4204017ca081fd838f8ca37450732acfe566b3ba2
- 0x7b96433b6f9e1f4d195409de11aced7df695075c897e9caccf8d9f40f81574b4
- 0xa7f63213f7e9860b403974b5ee3d176ac079e200b56fc91863b3d6ae9d884658
- 0xe283ece512eff8d8fd29e8d9cf0f7113136c1b65aea932b57f8ec3d739d29f36
- 0x671c47ce606be10270a5033f214eee726cc33a9fd7505667f7ee3417eb5a4e62
- 0xc9bd1b155c05de30e363c07bb71e6d23e64c096985805036b2061a5c0cb9cbf8
- 0x305a3f47b3689c4a43df7d5c5f208a0395fe7436d6b4555db7943094d45d61a1
- 0x930671b38b693880d085315beda88a1c227f3639e9a0e0be6b0665bb173a65db
- 0xb6efd79902cac6d5a402ebecb8069402f00961ab80cd71b4d647fbc686d975ec
- 0x2f43fe2b2533a5f40c107c114e458e226102f5f8ae91f097e964345880e30928
- 0xf692ce2b0a640ec9f75aa960e5fb1c2c7091a04e24881798735752c19014e519
- 0x9f68b5e15459cb62b8c0cd4c124fa61c74147b4a5755a200fbecd21a581635d1
- 0x123ec8bee20ddc55223eeef5a4f4d6c4b6416515adbb911c56759f5cde56e452
- 0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae