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 個工具