MCP 服务器

ScholarFetch

io.github.laibniz/scholarfetch

此 MCP 可以做什么

Searches scholarly literature, retrieves abstracts and recoverable full text, traverses references and authors, and manages exportable reading lists and citations.

scholarfetch_abstract
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.
输入模式
{'type': 'object', 'title': 'scholarfetch_abstractArguments', 'properties': {'doi': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Doi', 'default': None}, 'engines': {'type': 'string', 'title': 'Engines', 'default': ''}, 'author_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Author Name', 'default': None}, 'paper_index': {'type': 'integer', 'title': 'Paper Index', 'default': 1}, 'candidate_index': {'type': 'integer', 'title': 'Candidate Index', 'default': 1}}}
输出模式
{'type': 'object', 'title': 'scholarfetch_abstractOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
scholarfetch_article_text
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.
输入模式
{'type': 'object', 'title': 'scholarfetch_article_textArguments', 'properties': {'doi': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Doi', 'default': None}, 'engines': {'type': 'string', 'title': 'Engines', 'default': ''}, 'author_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Author Name', 'default': None}, 'paper_index': {'type': 'integer', 'title': 'Paper Index', 'default': 1}, 'candidate_index': {'type': 'integer', 'title': 'Candidate Index', 'default': 1}}}
输出模式
{'type': 'object', 'title': 'scholarfetch_article_textOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
scholarfetch_author_candidates
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`.
输入模式
{'type': 'object', 'title': 'scholarfetch_author_candidatesArguments', 'required': ['name'], 'properties': {'name': {'type': 'string', 'title': 'Name'}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 10}, 'engines': {'type': 'string', 'title': 'Engines', 'default': ''}}}
输出模式
{'type': 'object', 'title': 'scholarfetch_author_candidatesOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
scholarfetch_author_papers
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`.
输入模式
{'type': 'object', 'title': 'scholarfetch_author_papersArguments', 'properties': {'limit': {'type': 'integer', 'title': 'Limit', 'default': 50}, 'engines': {'type': 'string', 'title': 'Engines', 'default': ''}, 'filters': {'type': 'string', 'title': 'Filters', 'default': ''}, 'author_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Author Id', 'default': None}, 'author_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Author Name', 'default': None}, 'candidate_index': {'type': 'integer', 'title': 'Candidate Index', 'default': 1}}}
输出模式
{'type': 'object', 'title': 'scholarfetch_author_papersOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
scholarfetch_doi_lookup
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.
输入模式
{'type': 'object', 'title': 'scholarfetch_doi_lookupArguments', 'required': ['doi'], 'properties': {'doi': {'type': 'string', 'title': 'Doi'}, 'engines': {'type': 'string', 'title': 'Engines', 'default': ''}}}
输出模式
{'type': 'object', 'title': 'scholarfetch_doi_lookupOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
scholarfetch_references
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.
输入模式
{'type': 'object', 'title': 'scholarfetch_referencesArguments', 'properties': {'doi': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Doi', 'default': None}, 'engines': {'type': 'string', 'title': 'Engines', 'default': ''}, 'author_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Author Name', 'default': None}, 'paper_index': {'type': 'integer', 'title': 'Paper Index', 'default': 1}, 'candidate_index': {'type': 'integer', 'title': 'Candidate Index', 'default': 1}}}
输出模式
{'type': 'object', 'title': 'scholarfetch_referencesOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
scholarfetch_saved_add
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.
输入模式
{'type': 'object', 'title': 'scholarfetch_saved_addArguments', 'properties': {'doi': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Doi', 'default': None}, 'query': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Query', 'default': None}, 'engines': {'type': 'string', 'title': 'Engines', 'default': ''}, 'collection': {'type': 'string', 'title': 'Collection', 'default': 'default'}, 'paper_json': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Paper Json', 'default': None}, 'author_name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Author Name', 'default': None}, '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}}}
输出模式
{'type': 'object', 'title': 'scholarfetch_saved_addOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
scholarfetch_saved_clear
Clear all papers from a named in-memory reading list. Useful when restarting a research branch.
输入模式
{'type': 'object', 'title': 'scholarfetch_saved_clearArguments', 'properties': {'collection': {'type': 'string', 'title': 'Collection', 'default': 'default'}}}
输出模式
{'type': 'object', 'title': 'scholarfetch_saved_clearOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
scholarfetch_saved_export
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.
输入模式
{'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}}}
输出模式
{'type': 'object', 'title': 'scholarfetch_saved_exportOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
scholarfetch_saved_list
List all papers currently saved in a named in-memory reading list. Use this to inspect the working set before exporting or removing items.
输入模式
{'type': 'object', 'title': 'scholarfetch_saved_listArguments', 'properties': {'collection': {'type': 'string', 'title': 'Collection', 'default': 'default'}}}
输出模式
{'type': 'object', 'title': 'scholarfetch_saved_listOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
scholarfetch_saved_remove
Remove one paper from a named in-memory reading list by DOI or exact title.
输入模式
{'type': 'object', 'title': 'scholarfetch_saved_removeArguments', 'properties': {'doi': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Doi', 'default': None}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Title', 'default': None}, 'collection': {'type': 'string', 'title': 'Collection', 'default': 'default'}}}
输出模式
{'type': 'object', 'title': 'scholarfetch_saved_removeOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
scholarfetch_search
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.
输入模式
{'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': ''}}}
输出模式
{'type': 'object', 'title': 'scholarfetch_searchOutput', 'required': ['result'], 'properties': {'result': {'type': 'object', 'title': 'Result', 'additionalProperties': True}}}
已添加
scholarfetch_saved_export
2026年9月17日 12:42
已添加
scholarfetch_saved_clear
2026年9月17日 12:42
已添加
scholarfetch_saved_remove
2026年9月17日 12:42
已添加
scholarfetch_saved_list
2026年9月17日 12:42
已添加
scholarfetch_saved_add
2026年9月17日 12:42
已添加
scholarfetch_references
2026年9月17日 12:42
已添加
scholarfetch_article_text
2026年9月17日 12:42
已添加
scholarfetch_abstract
2026年9月17日 12:42
已添加
scholarfetch_author_papers
2026年9月17日 12:42
已添加
scholarfetch_author_candidates
2026年9月17日 12:42
已添加
scholarfetch_doi_lookup
2026年9月17日 12:42
已添加
scholarfetch_search
2026年9月17日 12:42