Skip to main content
Glama
NASA SciX MCP Server

NASA SciX MCP Server

by adsabs

get_facets

Read-onlyIdempotent

Count SciX search results by facets such as author, year, or keywords to narrow a query; each bucket includes a filter value for refining results.

Instructions

Count how SciX search results break down across facets, to narrow a search. Covers author, collections, refereed, institutions, keywords, publications, bibgroups, SIMBAD objects, NED objects, award, data, Vizier tables, publication type, planetary features, UAT concepts, and year. Each returned bucket carries a ready-to-use filter_query value to pass back to search, and hierarchical facets (author, institutions, objects, award, publication type, planetary) report a child_prefix for drilling deeper.

Input Schema

NameRequiredDescriptionDefault
sortNoBucket ordering: by count, or by value ("index")count desc
limitNoMaximum buckets returned per facet
queryYesSciX search query to facet over, using Solr syntax
facetsNoFacets to count. Available: author, collections, refereed, institutions, keywords, publications, bibgroups, simbad, ned, award, data, vizier, pubtype, planetary, uat, year
prefixNoDrill into a hierarchical facet by restricting buckets to this prefix, e.g. "1/Smith, J/". Use the `child_prefix` returned for an expandable bucket. Only valid when exactly one facet is requested.
filter_queryNoSolr filter queries (fq), each applied independently and ANDed together, e.g. author_facet_hier:"0/Smith, J". Use the `filter` value returned by get_facets.
response_formatNomarkdown

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.3.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is lower. The description adds real behavioral value by explaining the return shape: each bucket carries a ready-to-use filter_query and hierarchical facets report a child_prefix for drilling deeper. It omits any mention of limits/rate behavior, keeping it from a 5.

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?

Two sentences, front-loaded with the purpose before the facet enumeration and return-value note. The long facet list duplicates the schema enum, which is mildly wasteful, but overall the structure is efficient.

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

Completeness4/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 burden of explaining returns, and it does so for the key fields (filter_query, child_prefix). For a read-only facet tool whose annotations cover safety, this is nearly complete, missing only limit/defaults context.

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

Parameters3/5

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

Schema coverage is 86%, so the schema already documents nearly every parameter, and the enum of facets is duplicated verbatim in prose. The description does add the drill-down semantics of `prefix`/`child_prefix`, but this is largely reinforced by the schema's own prefix description, so a baseline 3 is appropriate.

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?

The description opens with a specific verb and resource ('Count how SciX search results break down across facets') and states the goal ('to narrow a search'). It clearly distinguishes itself from the sibling `search` tool by describing an aggregation/breakdown role rather than retrieval.

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

Usage Guidelines4/5

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

It gives a clear usage context ('to narrow a search') and explicitly routes the agent back to the `search` sibling by noting buckets carry a filter_query to pass back, plus child_prefix for drill-down. It stops short of stating when NOT to use this tool or explicit preconditions, so it is not a full 5.

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