ScholarFetch

Multi-engine scholarly research server for search, traversal, full text, and reading lists.

我该使用它吗

质量与安全性

B
描述质量
97%
模式完整度
68%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,425token 数(工具定义)
~1.6 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.89%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "scholarfetch": {
      "url": "https://laibniz-scholarfetch-web.hf.space/mcp/"
    }
  }
}

远程端点

https://laibniz-scholarfetch-web.hf.space/mcp/streamable-http

它能做什么

工具清单

工具(12)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢scholarfetch_search(query, limit, engines)

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",
  "properties": {
    "query": {
      "title": "Query",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "title": "Limit",
      "type": "integer"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "title": "scholarfetch_searchArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_searchOutput"
}
⚪scholarfetch_doi_lookup(doi, engines)

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",
  "properties": {
    "doi": {
      "title": "Doi",
      "type": "string"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "required": [
    "doi"
  ],
  "title": "scholarfetch_doi_lookupArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_doi_lookupOutput"
}
⚪scholarfetch_author_candidates(name, limit, engines)

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",
  "properties": {
    "name": {
      "title": "Name",
      "type": "string"
    },
    "limit": {
      "default": 10,
      "title": "Limit",
      "type": "integer"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "title": "scholarfetch_author_candidatesArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_author_candidatesOutput"
}
⚪scholarfetch_author_papers(author_id, author_name, candidate_index, limit, filters, ...)

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",
  "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"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    },
    "filters": {
      "default": "",
      "title": "Filters",
      "type": "string"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "title": "scholarfetch_author_papersArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_author_papersOutput"
}
🟢scholarfetch_abstract(doi, author_name, candidate_index, paper_index, engines)

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",
  "properties": {
    "doi": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Doi"
    },
    "author_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Author Name"
    },
    "candidate_index": {
      "default": 1,
      "title": "Candidate Index",
      "type": "integer"
    },
    "paper_index": {
      "default": 1,
      "title": "Paper Index",
      "type": "integer"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "title": "scholarfetch_abstractArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_abstractOutput"
}
🟢scholarfetch_article_text(doi, author_name, candidate_index, paper_index, engines)

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",
  "properties": {
    "doi": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Doi"
    },
    "author_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Author Name"
    },
    "candidate_index": {
      "default": 1,
      "title": "Candidate Index",
      "type": "integer"
    },
    "paper_index": {
      "default": 1,
      "title": "Paper Index",
      "type": "integer"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "title": "scholarfetch_article_textArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_article_textOutput"
}
⚪scholarfetch_references(doi, author_name, candidate_index, paper_index, engines)

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",
  "properties": {
    "doi": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Doi"
    },
    "author_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Author Name"
    },
    "candidate_index": {
      "default": 1,
      "title": "Candidate Index",
      "type": "integer"
    },
    "paper_index": {
      "default": 1,
      "title": "Paper Index",
      "type": "integer"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "title": "scholarfetch_referencesArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_referencesOutput"
}
🟡scholarfetch_saved_add(collection, paper_json, doi, query, result_index, ...)

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",
  "properties": {
    "collection": {
      "default": "default",
      "title": "Collection",
      "type": "string"
    },
    "paper_json": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Paper Json"
    },
    "doi": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Doi"
    },
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Query"
    },
    "result_index": {
      "default": 1,
      "title": "Result Index",
      "type": "integer"
    },
    "author_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Author Name"
    },
    "candidate_index": {
      "default": 1,
      "title": "Candidate Index",
      "type": "integer"
    },
    "paper_index": {
      "default": 1,
      "title": "Paper Index",
      "type": "integer"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "title": "scholarfetch_saved_addArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_saved_addOutput"
}
🟡scholarfetch_saved_list(collection)

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",
  "properties": {
    "collection": {
      "default": "default",
      "title": "Collection",
      "type": "string"
    }
  },
  "title": "scholarfetch_saved_listArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_saved_listOutput"
}
🔴scholarfetch_saved_remove(collection, doi, title)

Remove one paper from a named in-memory reading list by DOI or exact title.

输入模式

{
  "type": "object",
  "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",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_saved_removeOutput"
}
🔴scholarfetch_saved_clear(collection)

Clear all papers from a named in-memory reading list. Useful when restarting a research branch.

输入模式

{
  "type": "object",
  "properties": {
    "collection": {
      "default": "default",
      "title": "Collection",
      "type": "string"
    }
  },
  "title": "scholarfetch_saved_clearArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_saved_clearOutput"
}
🟢scholarfetch_saved_export(collection, format, style, include_references, engines)

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",
  "properties": {
    "collection": {
      "default": "default",
      "title": "Collection",
      "type": "string"
    },
    "format": {
      "default": "citations",
      "title": "Format",
      "type": "string"
    },
    "style": {
      "default": "harvard",
      "title": "Style",
      "type": "string"
    },
    "include_references": {
      "default": false,
      "title": "Include References",
      "type": "boolean"
    },
    "engines": {
      "default": "",
      "title": "Engines",
      "type": "string"
    }
  },
  "title": "scholarfetch_saved_exportArguments"
}

输出模式

{
  "type": "object",
  "properties": {
    "result": {
      "additionalProperties": true,
      "title": "Result",
      "type": "object"
    }
  },
  "required": [
    "result"
  ],
  "title": "scholarfetch_saved_exportOutput"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本12 个工具
已验证未记录版本12 个工具