Skip to main content
Glama

get_services

Read-onlyIdempotent

Search NASA CMR services for a specific parent collection and return all associated normalized UMM-S records.

Key fields in each returned item:

  • concept_id: CMR service concept ID

  • native_id: native ID of the service record

  • revision_id: revision ID of the service metadata

  • provider_id: provider ID of the service

  • name: service name

  • type: service type (e.g., OPeNDAP, WCS, Harmony, WMS, WMTS, ESI, EGI - No Processing)

  • version: service version string

  • description: human-readable service description

  • url: Primary endpoint URL information

  • service_options: supported output formats, projections, subset types, and interpolation methods

  • operation_metadata: operation names (e.g., GetCapabilities, GetMap) and distributed computing platform

Key parameters:

  • collection_concept_id: required parent collection concept ID

Iteration & Refinement:

  • All services associated with the collection are fetched in a single request. Paging is not supported.

Note: A collection may be associated with multiple services of different types. Check type to distinguish between data access services (e.g., OPeNDAP, WCS) and discovery/visualization services (e.g., WMS, WMTS).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
typeNo
limitNoMaximum number of results to return (default 10, max 50). Keep this small to avoid context window bloat. When using limit > 10, always specify the fields parameter.
cursorNoPagination token for the next page of results. Pass the exact next_cursor string returned by the previous tool call. Cursors are query-scoped: they lock in the original search parameters and cannot be reused across different tools or different queries. If you need to change any search parameter, start a new search without a cursor.
fieldsNo
keywordNo
collection_concept_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusYesStatus of the tool execution
servicesNoNormalized service results mapped from UMM-S
total_hitsNoTotal number of matching items
next_cursorNoPagination token for the next page
error_messageNoError details when status is error

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the read-only/idempotent/non-destructive profile, but the description adds real behavioral context: all services for a collection come back in a single request and paging is not supported. That said, this note sits awkwardly against the schema's limit/cursor pagination parameters, creating minor internal tension.

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

Conciseness3/5

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

Well front-loaded and sectioned, but the ten-item 'Key fields in each returned item' list is largely redundant given an output schema exists, and the 'required' parameter claim conflicts with the schema. The list consumes tokens without adding value an agent cannot get from the output schema.

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

Completeness3/5

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

Purpose is complete and the no-paging behavior is disclosed, but with an output schema present the field enumeration is redundant, most parameters are undocumented, and the 'paging is not supported' statement contradicts the presence of limit/cursor params an agent may try to use.

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 only 33% (limit and cursor are documented). The description adds meaning for collection_concept_id ('parent collection concept ID'), which the schema leaves untyped, but it labels it 'required' while the schema declares zero required parameters, and it says nothing about type, keyword, or fields.

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 (search) and resource (NASA CMR services) scoped to a parent collection, and names the return type (normalized UMM-S records). This clearly distinguishes it from siblings like get_collections, get_granules, and get_tools.

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

Usage Guidelines3/5

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

The scope 'for a specific parent collection' implies when the tool applies, and the closing note about distinguishing data-access vs discovery/visualization service types is helpful context. However, there is no explicit when-to-use/when-not guidance nor any named alternative tool.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources