MCP server for searching academic papers from multiple sources (arXiv, Semantic Scholar, PubMed, CrossRef, bioRxiv, medRxiv, OpenAlex, Google Scholar) with unified deduplication and concurrent search capabilities.
Paper Search MCP has 11 well-named tools with consistent verb_noun patterns (search_*, get_*). All tools have descriptions (avg ~80 chars, within baseline 34-392). Input schemas are present with Zod validation and type constraints (min/max bounds on numeric params). However, output schemas are NOT documented, responses are JSON.stringify'd without explicit field documentation, forcing LLMs to infer structure. Error handling wraps all tools but returns generic JSON error objects without recovery guidance. Parameter descriptions are adequate but lack dependency hints (e.g., 'year' format varies by source). No tool annotations (readOnlyHint, idempotentHint) despite all being read-only operations.
Retrieve a specific paper from CrossRef by its DOI.
Get paper details from Semantic Scholar by ID or DOI.
Search academic papers from arXiv.
Search academic papers from bioRxiv. Note: searches by category name within recent content.
Search academic papers from CrossRef.
Search academic papers from Google Scholar.
Search academic papers from medRxiv. Note: searches by category name within recent content.
Output schemas not documented. Tools return JSON.stringify'd results without explicit field definitions. LLMs cannot infer which fields are present, their types, or how to chain results to downstream tools.
Error handling returns generic JSON error objects without recovery guidance. Errors like 'Unknown error' or API failures do not tell the LLM what to do next (retry, ask user, try alternative source).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
Search academic papers from OpenAlex.
Search academic papers from multiple sources concurrently. Results are deduplicated.
Search academic papers from PubMed.
Search academic papers from Semantic Scholar.
No tool annotations despite all tools being read-only. Adding readOnlyHint=true to all tools would signal to agents that these are safe, non-destructive operations.
Year parameter format varies across tools (e.g., '2024', '2020-2024', '2020-', '-2024' for arXiv vs '2024', '2016-2020' for Semantic). Descriptions lack explicit format constraints; LLMs may pass invalid formats.
No pagination support documented. Tools cap results at 25-100 per call, but no next_cursor, offset, or page parameters are visible. Large result sets may be truncated without the LLM knowing.