MCP server for searching and retrieving academic papers, author profiles, and citation data from the Elsevier Scopus API
Scopus MCP has well-structured tool definitions with clear naming (verb_noun pattern) and consistent parameter schemas using Zod. All 5 tools have descriptions and input schemas. However, descriptions are brief (avg ~80 chars, below the 194-char baseline), lack dependency hints and recovery guidance, and output schemas are not documented. Error handling wraps calls but returns generic JSON errors without actionable recovery steps. Parameters lack enum constraints where applicable (e.g., 'sort' accepts free-form strings). No tool annotations (readOnlyHint, etc.) despite all tools being read-only.
Retrieve full details for a specific document by Scopus ID.
Retrieve an author's profile by Author ID.
Retrieve a list of papers that have cited the specified document (Forward Citations).
Get the current API quota status (remaining/limit). Note: Values are updated only after making a request.
Search for documents in Scopus using a query string.
Output schemas not documented. Tools return JSON text but LLMs cannot infer field structure, forcing manual parsing and risking extraction errors.
Error handling returns generic JSON errors without recovery guidance. 'Unknown error' or API errors do not tell the LLM what to do next or whether to retry.
Parameter 'sort' accepts free-form strings without enum constraint. Should enumerate valid values (e.g., 'coverDate', 'relevancy', 'citationCount') to prevent hallucinated sort orders.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Tool descriptions are brief (avg 80 chars vs 194-char baseline). Missing context on when to use each tool vs alternatives, prerequisites, and what fields are returned.
No tool annotations despite all tools being read-only. Missing readOnlyHint would help agents understand safety and retry semantics.