MCP server for NASA Astrophysics Data System - search papers, track citations, export BibTeX
NASA ADS MCP server demonstrates solid tool design with complete schemas, clear descriptions, and appropriate naming conventions. All 10 tools follow verb_noun patterns (search_, get_, list_, create_, add_). Descriptions are well-crafted (100-200 chars typical), explaining WHAT the tool does and WHEN to use it. Input schemas are properly typed with enums for constrained parameters (sort, public). However, output schemas are not documented, LLMs cannot predict response structure for downstream chaining. Error handling is absent from visible code. No tool annotations (readOnlyHint/destructiveHint) despite clear read/write distinction. Parameter descriptions are good but could specify ranges/constraints more explicitly (e.g., max_results 1-50, not just 'default: 10, max: 50').
Add papers to an existing library. Provide library ID and list of bibcodes to add.
Create a new paper library/collection. Useful for organizing papers by topic, project, or reading status.
Export BibTeX citations for one or more papers. Useful for adding references to LaTeX/Quarto documents.
Get comprehensive metrics for an author including h-index, total citations, paper count, and citation statistics. Useful for CV preparation and tracking research impact.
Find all papers by a specific author. Returns list of papers with citations and publication details.
Get all papers from a specific library. Returns paper details for papers in the specified collection.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination) for downstream tool chaining. E.g., search_papers returns bibcodes/titles/authors/years/citation_counts but this is not formally specified.
No tool annotations (readOnlyHint/destructiveHint/idempotentHint). Tools clearly split into read-only (search, get, list, export) and write (create_library, add_to_library), but this is not signaled to the LLM via annotations.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | <=2025-11-25 | v2 |
Get detailed information about a specific paper using its bibcode. Returns full metadata including abstract, authors, citations, keywords, and more.
Get detailed metrics for specific papers including citation count, reference count, reads, and citation history. Useful for tracking paper impact over time.
List all your personal paper libraries/collections in ADS. Shows library names, descriptions, and paper counts.
Search NASA ADS for astronomy/astrophysics papers. Returns bibcodes, titles, authors, years, and citation counts. Use natural language queries or specific field searches. Examples: 'stellar populations', 'author:Coelho', 'year:2020-2024'
No error handling or recovery guidance in visible code. If ADS API fails, returns raw error. LLM receives no actionable next step (retry? call search_papers first? ask user for API token?).
Parameter constraints not fully specified. max_results has 'default' and 'max' but no explicit minimum. sort enums are clear, but years parameter in get_author_metrics lacks format guidance (e.g., 'YYYY-YYYY' or 'YYYY').
No pagination guidance. search_papers and get_author_papers accept max_results but do not document whether results are paginated, how to fetch next page, or total count. Large result sets risk context window exhaustion.