{"serverId":"mcp-registry/io.github.laibniz/scholarfetch","tools":[{"name":"scholarfetch_doi_lookup","fixed":{"name":"scholarfetch_doi_lookup","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":{"type":"object","title":"scholarfetch_doi_lookupArguments","required":["doi"],"properties":{"doi":{"type":"string","title":"Doi"},"engines":{"type":"string","title":"Engines","default":""}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":132,"tokensAfter":132},{"name":"scholarfetch_saved_add","fixed":{"name":"scholarfetch_saved_add","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":{"type":"object","title":"scholarfetch_saved_addArguments","properties":{"doi":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doi","default":null},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null},"engines":{"type":"string","title":"Engines","default":""},"collection":{"type":"string","title":"Collection","default":"default"},"paper_json":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Paper Json","default":null},"author_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Name","default":null},"paper_index":{"type":"integer","title":"Paper Index","default":1},"result_index":{"type":"integer","title":"Result Index","default":1},"candidate_index":{"type":"integer","title":"Candidate Index","default":1}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":318,"tokensAfter":318},{"name":"scholarfetch_saved_export","fixed":{"name":"scholarfetch_saved_export","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":{"type":"object","title":"scholarfetch_saved_exportArguments","properties":{"style":{"type":"string","title":"Style","default":"harvard"},"format":{"type":"string","title":"Format","default":"citations"},"engines":{"type":"string","title":"Engines","default":""},"collection":{"type":"string","title":"Collection","default":"default"},"include_references":{"type":"boolean","title":"Include References","default":false}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":228,"tokensAfter":228},{"name":"scholarfetch_saved_list","fixed":{"name":"scholarfetch_saved_list","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":{"type":"object","title":"scholarfetch_saved_listArguments","properties":{"collection":{"type":"string","title":"Collection","default":"default"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":98,"tokensAfter":98},{"name":"scholarfetch_saved_remove","fixed":{"name":"scholarfetch_saved_remove","description":"Remove one paper from a named in-memory reading list by DOI or exact title.","inputSchema":{"type":"object","title":"scholarfetch_saved_removeArguments","properties":{"doi":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doi","default":null},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title","default":null},"collection":{"type":"string","title":"Collection","default":"default"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":128,"tokensAfter":128},{"name":"scholarfetch_search","fixed":{"name":"scholarfetch_search","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":{"type":"object","title":"scholarfetch_searchArguments","required":["query"],"properties":{"limit":{"type":"integer","title":"Limit","default":20},"query":{"type":"string","title":"Query"},"engines":{"type":"string","title":"Engines","default":""}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":178,"tokensAfter":178}],"toolsChanged":6,"tokensSaved":0,"todo":[{"tool":"scholarfetch_abstract","params":["doi","engines","author_name","paper_index","candidate_index"]},{"tool":"scholarfetch_article_text","params":["doi","engines","author_name","paper_index","candidate_index"]},{"tool":"scholarfetch_author_candidates","params":["name","limit","engines"]},{"tool":"scholarfetch_author_papers","params":["limit","engines","filters","author_id","author_name","candidate_index"]},{"tool":"scholarfetch_doi_lookup","params":["doi","engines"]},{"tool":"scholarfetch_references","params":["doi","engines","author_name","paper_index","candidate_index"]},{"tool":"scholarfetch_saved_add","params":["doi","query","engines","collection","paper_json","author_name","paper_index","result_index","candidate_index"]},{"tool":"scholarfetch_saved_clear","params":["collection"]},{"tool":"scholarfetch_saved_export","params":["style","format","engines","collection","include_references"]},{"tool":"scholarfetch_saved_list","params":["collection"]},{"tool":"scholarfetch_saved_remove","params":["doi","title","collection"]},{"tool":"scholarfetch_search","params":["limit","query","engines"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}