ScholarFetch

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

사용해야 할까요

품질 및 안전성

B
설명 품질
97%
스키마 완전성
68%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,425토큰 (도구 정의)
~1.6 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.89%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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개