Skip to main content
Glama
NASA ADS MCP Server
by prtc

Search papers

search_papers
Read-onlyIdempotent

Search NASA ADS for papers using author, title, year, or citation queries. Get titles, authors, citation counts, DOIs, and bibcodes to identify relevant research.

Instructions

Search NASA ADS for papers. Each result shows title, authors, year, citations, publication (journal, volume, page), DOI, arXiv ID and bibcode.

How ADS queries work:

  • Every word must match. One word written differently from the record ('microns' vs 'μm', a missing hyphen) returns nothing, so search a few distinctive words rather than a pasted full title.

  • Fielded queries are the most reliable: author:"Coelho, P", first_author:"Coelho, P", title:(synthetic stellar spectra) (these words, any order), abs:(...) (title, abstract and keywords), year:2020 or year:2018-2024, property:refereed, doi:..., bibcode:(A OR B).

  • Quotes ask for an exact phrase, which is fragile with titles. A field applies only to the next word or parenthesized group: in title:Stellar populations, only 'Stellar' is searched in titles.

  • Words combine with AND; OR and a leading minus also work.

  • Author position: pos(author:"Coelho, P", 2) (second author), pos(author:"Coelho, P", 1, 3) (first to third). Team size: author_count:[1 TO 20].

  • Citation networks: citations(bibcode:X) (papers citing X), references(bibcode:X), similar(bibcode:X), trending(query).

  • With a bibcode, DOI or arXiv ID in hand, use get_paper_details instead. Sorted newest first by default; sort='relevance' suits topical searches. Page through long result lists with offset. Searches the astronomy collection unless told otherwise; the result names the most cited papers the filter left out.

Input Schema

NameRequiredDescriptionDefault
sortNoSort order: 'date' (newest first), 'citation_count' (most cited), or 'relevance'date
queryYesADS query, e.g. 'title:(stellar populations) year:2020-2024'
offsetNoNumber of results to skip, for the next page (default: 0)
collectionNoADS collection to search. 'astronomy' (default): astronomy and astrophysics, including planetary science and heliophysics. 'astronomy+physics': adds physics-only papers, such as laboratory atomic and molecular data, opacities and oscillator strengths; good for topics, but for author names it brings in physicists who share the name. 'physics', 'earthscience', 'general' (biology, medicine, chemistry and everything else), or 'all' for no filter, as on ADS's web page. The result states how many papers the filter left out and names the most cited of them: read those before changing the collection, and widen it only when they are relevant.astronomy
max_resultsNoMaximum number of results to return (default: 10, max: 50)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv0.8.0
    • addedInput schema / properties / collection
      Added value: +{
      +  "default": "astronomy",
      +  "description": "ADS collection to search. 'astronomy' (default): astronomy and astrophysics, including planetary science and heliophysics. 'astronomy+physics': adds physics-only papers, such as laboratory atomic and molecular data, opacities and oscillator strengths; good for topics, but for author names it brings in physicists who share the name. 'physics', 'earthscience', 'general' (biology, medicine, chemistry and everything else), or 'all' for no filter, as on ADS's web page. The result states how many papers the filter left out and names the most cited of them: read those before changing the collection, and widen it only when they are relevant.",
      +  "enum": [
      +    "astronomy",
      +    "astronomy+physics",
      +    "physics",
      +    "earthscience",
      +    "general",
      +    "all"
      +  ],
      +  "title": "Collection",
      +  "type": "string"
      +}
    • addedInput schema / properties / max_results / title
      Added value: +"Max Results"
    • addedInput schema / properties / offset
      Added value: +{
      +  "default": 0,
      +  "description": "Number of results to skip, for the next page (default: 0)",
      +  "minimum": 0,
      +  "title": "Offset",
      +  "type": "integer"
      +}
    • changedInput schema / properties / query / description
      Previous value: -"Search query (e.g., 'stellar populations in elliptical galaxies')"New value: +"ADS query, e.g. 'title:(stellar populations) year:2020-2024'"
    • addedInput schema / properties / query / title
      Added value: +"Query"
    • addedInput schema / properties / sort / title
      Added value: +"Sort"
    • addedInput schema / title
      Added value: +"search_papersArguments"
  2. Changed2 schema fields changedv0.4.1
    • addedInput schema / properties / max_results / maximum
      Added value: +50
    • addedInput schema / properties / max_results / minimum
      Added value: +1
  3. First observedv1.0.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, non-destructive), so this is added value on top: it discloses the default sort (newest first), the default collection scope (astronomy), the strict all-words-must-match failure mode including normalization traps like 'microns' vs 'μm', and the fact that results name the most cited papers the filter excluded. These are non-obvious behaviors an agent would otherwise discover only by failing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and return fields, then organized into a clearly labeled bulleted query primer that is genuinely load-bearing for a tool whose main input is a query language. It is long, but nearly every bullet prevents a concrete failure mode; only minor tightening (e.g., the AND/OR/minus line) would be possible without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-shape burden itself and does so by enumerating title, authors, year, citations, publication, DOI, arXiv ID and bibcode. Combined with the query syntax primer, paging and collection guidance, an agent has everything needed to call this correctly on the first attempt.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description goes beyond it by tying sort='relevance' to topical searches, explaining offset as paging through long lists, and stating that astronomy is searched unless told otherwise. The collection parameter's rich semantics live mostly in the schema, so the description's marginal contribution there is small.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Search NASA ADS for papers') and immediately distinguishes itself from the sibling get_paper_details by naming the case (bibcode/DOI/arXiv ID in hand) where that tool should be used instead. An agent can route correctly without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use guidance throughout: use a few distinctive words rather than a pasted title, prefer fielded queries, use sort='relevance' for topical searches, page with offset, and switch to get_paper_details when an identifier is known. The collection paragraph even tells the agent to read the omitted-papers note before widening the filter, which is a real decision rule rather than a restatement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.