# Paper Search: tool descriptions scored

- tools/list taken: 2026-10-07 (UTC)
- From: [smithery.ai/servers/adamamer20/paper-search-mcp-openai](https://smithery.ai/servers/adamamer20/paper-search-mcp-openai)
- Homepage: https://github.com/adamamer20/paper-search-mcp-openai
- Scoring rules: v2
- Tools: 25
- Average: 39.9 / 100 (Rain)
- Near-identical pairs: 29

This page shows how Paper Search's tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

This copy comes from Smithery's registry, which keeps each tool's name, description and input schema, but no output schema, annotations or instructions. Points for return values and for marking destructive tools can come out lower than the server's own tools/list would give.

## Across the server

- Minor: 29 pairs with nearly the same description in all; the top 12 are shown.

## Tools

- `search`: 14 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, max_results.
  - Minor: String arguments with no constraint or example: query.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `fetch`: 26 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id, document_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `read_pubmed_paper`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paper_id, save_path.
  - Minor: String arguments with no constraint or example: paper_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `download_crossref`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paper_id, save_path.
  - Minor: String arguments with no constraint or example: paper_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `download_pubmed`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paper_id, save_path.
  - Minor: String arguments with no constraint or example: paper_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `read_crossref_paper`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paper_id, save_path.
  - Minor: String arguments with no constraint or example: paper_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_crossref_paper_by_doi`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: doi.
  - Minor: String arguments with no constraint or example: doi.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `download_arxiv`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paper_id, save_path.
  - Minor: String arguments with no constraint or example: paper_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `download_biorxiv`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paper_id, save_path.
  - Minor: String arguments with no constraint or example: paper_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `download_iacr`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paper_id, save_path.
  - Minor: String arguments with no constraint or example: paper_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `download_medrxiv`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paper_id, save_path.
  - Minor: String arguments with no constraint or example: paper_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `download_semantic`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paper_id, save_path.
  - Minor: String arguments with no constraint or example: paper_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `read_arxiv_paper`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paper_id, save_path.
  - Minor: String arguments with no constraint or example: paper_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `read_biorxiv_paper`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paper_id, save_path.
  - Minor: String arguments with no constraint or example: paper_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `read_iacr_paper`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paper_id, save_path.
  - Minor: String arguments with no constraint or example: paper_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `read_medrxiv_paper`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paper_id, save_path.
  - Minor: String arguments with no constraint or example: paper_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `read_semantic_paper`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: paper_id, save_path.
  - Minor: String arguments with no constraint or example: paper_id.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `search_arxiv`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, max_results.
  - Minor: String arguments with no constraint or example: query.
  - Minor: No `required` list, so every argument is optional.
- `search_biorxiv`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, max_results.
  - Minor: String arguments with no constraint or example: query.
  - Minor: No `required` list, so every argument is optional.
- `search_crossref`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, kwargs, max_results.
  - Minor: String arguments with no constraint or example: query, kwargs.
  - Minor: No `required` list, so every argument is optional.
- `search_google_scholar`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, max_results.
  - Minor: String arguments with no constraint or example: query.
  - Minor: No `required` list, so every argument is optional.
- `search_iacr`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, max_results, fetch_details.
  - Minor: String arguments with no constraint or example: query.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument fetch_details is unclear.
- `search_medrxiv`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, max_results.
  - Minor: String arguments with no constraint or example: query.
  - Minor: No `required` list, so every argument is optional.
- `search_pubmed`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, max_results.
  - Minor: String arguments with no constraint or example: query.
  - Minor: No `required` list, so every argument is optional.
- `search_semantic`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: year, query, max_results.
  - Minor: String arguments with no constraint or example: query.
  - Minor: No `required` list, so every argument is optional.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
