# nasa-cmr.granules.search

Search for individual data granules (files) within a NASA CMR collection. Filter by collection concept ID or short name (e.g. "MOD09GA"), temporal range, spatial bounding box, and day/night acquisition flag. Returns granule IDs, titles, acquisition times, cloud cover percentage, file size (MB), online access status, browse image availability, and direct download URLs. Granules are the individual science data files (HDF, NetCDF, GeoTIFF) that agents can download for analysis. Use nasa-cmr.datasets.search first to find the collection concept ID, then use this tool to locate specific files by time/area. Source: NASA CMR — US Gov public domain, no auth required.

Agent View of the PolicyLayer registry record for `nasa-cmr.granules.search`. HTML page: https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/nasa-cmr.granules.search

## Facts

- Tool: `nasa-cmr.granules.search`
- Server: Apibase (`apibase-mcp-client`) — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase.md
- Install: `npx -y apibase-mcp-client`
- Homepage: https://github.com/whiteknightonhorse/APIbase
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 7
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `bbox` | string | no | Bounding box spatial filter as "west,south,east,north" decimal degrees (e.g. "-10.0,35.0,30.0,60.0" for Europe). Returns granules with spatial coverage intersec |
| `page_size` | integer | no | Number of granules to return per page (1–20, default 10). |
| `short_name` | string | no | Collection short name to search granules for (e.g. "MOD09GA", "GPM_3IMERGHHE"). Alternative to collection_concept_id for well-known datasets. |
| `temporal_end` | string | no | End of temporal filter in ISO 8601 UTC format (e.g. "2023-01-31T23:59:59Z"). Returns granules with data acquisition time overlapping this range. |
| `day_night_flag` | string | no | Filter granules by illumination condition during acquisition: "day" (daylight pass), "night" (nighttime pass), or "unspecified". |
| `temporal_start` | string | no | Start of temporal filter in ISO 8601 UTC format (e.g. "2023-01-01T00:00:00Z"). Returns granules with data acquisition time overlapping this range. |
| `collection_concept_id` | string | no | CMR concept ID of the parent collection to search granules within (e.g. "C2515837343-GES_DISC"). Obtain from nasa-cmr.datasets.search results. Provide this or s |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "nasa-cmr.granules.search",
    "arguments": {}
  }
}
```

## Why nasa-cmr.granules.search is rated Low

Queries NASA CMR database for scientific data metadata and file locations without modifying or executing operations.

From the tool's own definition: "Search for individual data granules, filter, returns granule IDs, acquisition times, download URLs."

## Use case

AI agents call nasa-cmr.granules.search to retrieve information from Apibase without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Apibase:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "nasa-cmr.granules.search": {}
  }
}
```

## Other tools on Apibase (1383)

- `infra.cloudflare.dns_delete` — Destructive — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/infra.cloudflare.dns-delete.md
- `infra.cloudflare.purge_cache` — Destructive — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/infra.cloudflare.purge-cache.md
- `polymarket.trading.cancel_order` — Destructive — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/polymarket.trading.cancel-order.md
- `ai.image.generate` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/ai.image.generate.md
- `aipush.market.report` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/aipush.market.report.md
- `audio.transcribe.submit` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/audio.transcribe.submit.md
- `dev.code.execute` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/dev.code.execute.md
- `device.registry.command` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/device.registry.command.md
- `document.convert.from_pdf` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/document.convert.from-pdf.md
- `document.convert.to_pdf` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/document.convert.to-pdf.md
- `document.convert.web_to_pdf` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/document.convert.web-to-pdf.md
- `hf_inference.nlp.translate` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/hf-inference.nlp.translate.md
- `infra.browser.create_session` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/infra.browser.create-session.md
- `phone.telnyx.sms_world` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/phone.telnyx.sms-world.md
- `phone.twilio.sms` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/phone.twilio.sms.md
- `platform.batch.call` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/platform.batch.call.md
- `scb.tables.query` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/scb.tables.query.md
- `socrata.datasets.query` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/socrata.datasets.query.md
- `web.screenshot.capture` — Execute — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/web.screenshot.capture.md
- `domain.namesilo.register` — Financial — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/domain.namesilo.register.md
- `phone.telnyx.sms_premium` — Financial — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/phone.telnyx.sms-premium.md
- `polymarket.trading.place_order` — Financial — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/polymarket.trading.place-order.md
- `abr.business.abn_lookup` — Read — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/abr.business.abn-lookup.md
- `abr.business.acn_lookup` — Read — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/abr.business.acn-lookup.md
- `abr.business.name_search` — Read — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/abr.business.name-search.md
- `abs.demographics.population` — Read — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/abs.demographics.population.md
- `abs.economy.cpi` — Read — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/abs.economy.cpi.md
- `abs.economy.gdp` — Read — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/abs.economy.gdp.md
- `abs.economy.labour_force` — Read — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/abs.economy.labour-force.md
- `abs.economy.trade` — Read — https://policylayer.com/tools/io-github-whiteknightonhorse-apibase/abs.economy.trade.md
- …and 1353 more: https://policylayer.com/tools/io-github-whiteknightonhorse-apibase.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-github-whiteknightonhorse-apibase · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-whiteknightonhorse-apibase
