NASA MCP Server
NASA MCP 服务器
一个用于 NASA API 的模型上下文协议 (MCP) 服务器,为 AI 模型提供标准化接口,使其能够与 NASA 的海量数据源进行交互。该服务器实现了官方的模型上下文协议规范。
非常感谢 MCP 社区的支持和指导!
特征
通过单一、一致的界面访问 20 多个 NASA 数据源
针对人工智能消费优化的标准化数据格式
自动参数验证和错误处理
NASA API 密钥的速率限制管理
全面的文档和示例
支持各种 NASA 图像格式
数据转换和格式化以实现 LLM 兼容性
跨平台支持(Windows、macOS、Linux)
Related MCP server: NASA APOD MCP Server
免责声明
**本项目与美国国家航空航天局 (NASA) 或其任何子公司或附属机构均无关联、认可或相关关系。**它是一个独立的实现,可访问 NASA 的公开 API。所有使用的 NASA 数据均公开,并受 NASA 数据使用政策的约束。
安装
使用 npx 运行
env NASA_API_KEY=YOUR_API_KEY npx -y @programcomputer/nasa-mcp-server@latest您还可以将 API 密钥作为命令行参数传递:
npx -y @programcomputer/nasa-mcp-server@latest --nasa-api-key=YOUR_API_KEY使用 SuperGateway 发送服务器发送事件 (SSE)
您可以使用SuperGateway进行服务器发送事件 (SSE)。
NASA-MCP-server 的开发者不认可 SuperGateway 仓库。此信息仅供希望自行实现 SSE 功能的用户参考。
手动安装
# Clone the repository
git clone https://github.com/ProgramComputer/NASA-MCP-server.git
# Install dependencies
cd NASA-MCP-server
npm install
# Run with your API key
NASA_API_KEY=YOUR_API_KEY npm start在光标上运行
配置 Cursor 🖥️ 注意:需要 Cursor 版本 0.45.6+
要在 Cursor 中配置 NASA MCP 服务器:
在您的 Cursor 配置目录中创建或编辑mcp.json文件,其中包含以下内容:
{
"mcpServers": {
"nasa-mcp": {
"command": "npx",
"args": ["-y", "@programcomputer/nasa-mcp-server@latest"],
"env": {
"NASA_API_KEY": "your-api-key"
}
}
}
}将your-api-key替换为来自https://api.nasa.gov/的 NASA API 密钥。
添加配置后,重新启动 Cursor 即可看到新的 NASA 工具。Composer Agent 会在适当的情况下自动使用 NASA MCP 进行与空间相关的查询。
环境变量
可以使用以下环境变量配置服务器:
多变的 | 描述 |
| 您的 NASA API 密钥(从 api.nasa.gov 获取) |
包含 NASA API
该 MCP 服务器集成了以下 NASA API:
NASA开放API (api.nasa.gov):
APOD(每日天文图片)
EPIC(地球多色成像相机)
DONKI(空间天气通知、知识、信息数据库)
洞察号(火星气象服务)
火星探测器照片
NEO(近地天体网络服务)
EONET(地球观测站自然事件追踪器)
TLE(双线元件)
美国宇航局图像和视频库
系外行星档案
NASA 声音 API(测试版)
电力(全球能源资源预测)
JPL太阳系动力学API (ssd-api.jpl.nasa.gov):
SBDB(小体数据库)
SBDB近距离数据
火球数据
侦察 API
地球数据API :
GIBS(全球图像浏览服务)
CMR(通用元数据存储库)——增强了高级搜索功能
EPIC(地球多色成像相机)
FIRMS(资源管理系统火灾信息)
API 方法
每个 NASA API 都通过标准化 MCP 方法公开:
APOD(每日天文图片)
{
"method": "nasa/apod",
"params": {
"date": "2023-01-01", // Optional: YYYY-MM-DD format
"count": 5, // Optional: Return a specified number of random images
"thumbs": true // Optional: Return URL of video thumbnail
}
}火星探测器照片
{
"method": "nasa/mars-rover",
"params": {
"rover": "curiosity", // Required: "curiosity", "opportunity", or "spirit"
"sol": 1000, // Either sol or earth_date is required
"earth_date": "2023-01-01", // YYYY-MM-DD format
"camera": "FHAZ" // Optional: Filter by camera type
}
}近地天体
{
"method": "nasa/neo",
"params": {
"start_date": "2023-01-01", // Required: YYYY-MM-DD format
"end_date": "2023-01-07" // Required: YYYY-MM-DD format (max 7 days from start)
}
}GIBS(全球图像浏览服务)
{
"method": "nasa/gibs",
"params": {
"layer": "MODIS_Terra_CorrectedReflectance_TrueColor", // Required: Layer ID
"date": "2023-01-01", // Required: YYYY-MM-DD format
"format": "png" // Optional: "png" or "jpg"
}
}电力(全球能源资源预测)
{
"method": "nasa/power",
"params": {
"parameters": "T2M,PRECTOTCORR,WS10M", // Required: Comma-separated list
"community": "re", // Required: Community identifier
"latitude": 40.7128, // Required: Latitude
"longitude": -74.0060, // Required: Longitude
"start": "20220101", // Required: Start date (YYYYMMDD)
"end": "20220107" // Required: End date (YYYYMMDD)
}
}有关所有可用方法和参数的完整文档,请参阅/docs目录中的 API 参考。
日志系统
该服务器包括全面的日志记录:
运营状况及进展
性能指标
速率限制跟踪
错误条件
请求验证
日志消息示例:
[INFO] NASA MCP Server initialized successfully
[INFO] Processing APOD request for date: 2023-01-01
[INFO] Fetching Mars Rover data for Curiosity, sol 1000
[WARNING] Rate limit threshold reached (80%)
[ERROR] Invalid parameter: 'date' must be in YYYY-MM-DD format安全注意事项
该 MCP 服务器遵循模型上下文协议规范实现安全最佳实践:
使用 Zod 模式进行输入验证和清理
禁止执行任意代码
防止命令注入
适当的错误处理以防止信息泄露
API 请求的速率限制和超时控制
没有可跨会话利用的持久状态
发展
# Clone the repository
git clone https://github.com/ProgramComputer/NASA-MCP-server.git
# Install dependencies
npm install
# Copy the example environment file and update with your API keys
cp .env.example .env
# Build the TypeScript code
npm run build
# Start the development server
npm run dev
# Run tests
npm test使用 MCP Inspector 进行测试
NASA MCP 服务器包含一个脚本,可帮助您使用 MCP 检查器测试 API:
# Run the provided test script
./scripts/test-with-inspector.sh这将:
构建项目以确保包含最新的更改
在 NASA MCP 服务器运行的情况下启动 MCP 检查器
允许您以交互方式测试所有 NASA API
测试请求示例
该存储库包含每个 API 的示例测试请求,您可以将其复制并粘贴到 MCP 检查器中:
# View the example test requests
cat docs/inspector-test-examples.md有关详细示例,请参阅Inspector 测试示例文档。
MCP 客户端使用
此服务器遵循官方模型上下文协议 (Model Context Protocol)。以下是如何将其与 MCP SDK 配合使用的示例:
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { HttpClientTransport } from "@modelcontextprotocol/sdk/client/http.js";
const transport = new HttpClientTransport({
url: "http://localhost:3000",
});
const client = new Client({
name: "mcp-client",
version: "1.0.0",
});
await client.connect(transport);
// Example: Get today's Astronomy Picture of the Day
const apodResult = await client.request({
method: "nasa/apod",
params: {}
});
// Example: Get Mars Rover photos
const marsRoverResult = await client.request({
method: "nasa/mars-rover",
params: { rover: "curiosity", sol: 1000 }
});
// Example: Search for Near Earth Objects
const neoResults = await client.request({
method: "nasa/neo",
params: {
start_date: '2023-01-01',
end_date: '2023-01-07'
}
});
// Example: Get satellite imagery from GIBS
const satelliteImage = await client.request({
method: "nasa/gibs",
params: {
layer: 'MODIS_Terra_CorrectedReflectance_TrueColor',
date: '2023-01-01'
}
});
// Example: Use the new POWER API
const powerData = await client.request({
method: "nasa/power",
params: {
parameters: "T2M,PRECTOTCORR,WS10M",
community: "re",
latitude: 40.7128,
longitude: -74.0060,
start: "20220101",
end: "20220107"
}
});贡献
分叉存储库
创建你的功能分支
运行测试:
npm test提交拉取请求
执照
ISC 许可证 - 详情请参阅许可证文件
Available Tools
32 toolsjpl_cadJPL close approachesCRead-onlyIdempotent
Asteroid and comet close approaches to the planets, past and future, from the JPL SBDB Close-Approach Data API.
| Name | Required | Description | Default |
|---|---|---|---|
| des | No | Only this object (designation). | |
| neo | No | Limit to NEOs (default true upstream). | |
| spk | No | Only this object (SPK-ID). | |
| body | No | Close-approach body (Earth, Mars, ALL, ...). Default Earth. | |
| sort | No | Sort field, prefix - for descending. Default date. | |
| h_max | No | Maximum absolute magnitude H. | |
| h_min | No | Minimum absolute magnitude H. | |
| limit | No | Maximum number of records (1-1000). | |
| date_max | No | End date (YYYY-MM-DD, now, or +/-days). Default +60. | |
| date_min | No | Start date (YYYY-MM-DD, now, or +/-days). Default now. | |
| dist_max | No | Maximum approach distance, e.g. 0.05 (au) or 10LD. Default 0.05 au. | |
| dist_min | No | Minimum approach distance. | |
| fullname | No | Include full object names. |
jpl_fireballJPL fireball eventsBRead-onlyIdempotent
Fireball (bolide) events reported by US Government sensors, from the JPL Fireball API.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of events (1-1000). | |
| req_alt | No | Only events with an altitude. | |
| req_loc | No | Only events with a location. | |
| req_vel | No | Only events with a velocity. | |
| vel_max | No | Maximum velocity (km/s). | |
| vel_min | No | Minimum velocity (km/s). | |
| date_max | No | Latest event date (YYYY-MM-DD). | |
| date_min | No | Earliest event date (YYYY-MM-DD). | |
| energy_max | No | Maximum total radiated energy (1e10 J). | |
| energy_min | No | Minimum total radiated energy (1e10 J). | |
| impact_e_max | No | Maximum estimated impact energy (kt). | |
| impact_e_min | No | Minimum estimated impact energy (kt). | |
| req_vel_comp | No | Only events with velocity components. |
jpl_horizonsJPL Horizons ephemeridesCRead-onlyIdempotent
Ephemerides and object data for solar-system bodies from the JPL Horizons API (GET).
| Name | Required | Description | Default |
|---|---|---|---|
| CENTER | No | Coordinate center, e.g. '500@399' (geocentric). | |
| format | No | Response format. | json |
| COMMAND | Yes | Target, e.g. '499' (Mars), '1;' (Ceres), 'C/2020 F3'. | |
| OBJ_DATA | No | Include object data. | |
| OUT_UNITS | No | Output units for vector/element tables. | |
| STEP_SIZE | No | Step size, e.g. '1d' or '1h'. | |
| STOP_TIME | No | Stop time, e.g. '2024-01-02'. | |
| EPHEM_TYPE | No | Ephemeris type. | |
| MAKE_EPHEM | No | Generate an ephemeris. | |
| QUANTITIES | No | Observer quantities, e.g. 'A' or '1,2,20,23'. | |
| START_TIME | No | Start time, e.g. '2024-01-01'. |
jpl_horizons_fileJPL Horizons ephemerides (file input)BRead-onlyIdempotent
Same as jpl_horizons, but submits the parameters as a Horizons input file (POST to horizons_file.api).
| Name | Required | Description | Default |
|---|---|---|---|
| CENTER | No | Coordinate center, e.g. '500@399' (geocentric). | |
| format | No | Response format. | json |
| COMMAND | Yes | Target, e.g. '499' (Mars), '1;' (Ceres), 'C/2020 F3'. | |
| OBJ_DATA | No | Include object data. | |
| OUT_UNITS | No | Output units for vector/element tables. | |
| STEP_SIZE | No | Step size, e.g. '1d' or '1h'. | |
| STOP_TIME | No | Stop time, e.g. '2024-01-02'. | |
| EPHEM_TYPE | No | Ephemeris type. | |
| MAKE_EPHEM | No | Generate an ephemeris. | |
| QUANTITIES | No | Observer quantities, e.g. 'A' or '1,2,20,23'. | |
| START_TIME | No | Start time, e.g. '2024-01-01'. |
jpl_jd_calJPL Julian date converterBRead-onlyIdempotent
Convert between Julian dates and calendar dates (UTC) with the JPL JD-Calendar API.
| Name | Required | Description | Default |
|---|---|---|---|
| cd | No | Calendar date (UTC) to convert to a Julian date. | |
| jd | No | Julian date to convert to a calendar date. |
jpl_mission_designJPL small-body mission designARead-onlyIdempotent
Ballistic mission options to asteroids and comets from the JPL Small-Body Mission Design API. Object mode (des, spk or sstr) returns the pre-computed mission options stored for one object (launch and arrival dates, V-infinity, time of flight). List mode returns the most accessible small bodies for the given launch years, ranked by crit, with optional SBDB filters. Porkchop-plot maps (mode M) and mission-extension searches (mode T) are not exposed.
| Name | Required | Description | Default |
|---|---|---|---|
| des | No | Object mode: designation, e.g. 2012 TC4 or 433. | |
| lim | No | List mode: how many accessible objects to return (1-200). | |
| spk | No | Object mode: SPK-ID, e.g. 2000433. | |
| crit | No | List mode: optimality criterion. 1 min departure V-infinity (default), 2 min arrival V-infinity, 3 min total delta-V, 4-6 the same with minimum time of flight first. | |
| sstr | No | Object mode: search string (name, designation or SPK-ID), e.g. apophis. | |
| year | No | List mode: launch year(s), from the current year up to 20 years ahead. JPL defaults to the next five years. | |
| class | No | Object mode: orbit class as a name instead of the three-letter code. | |
| sb_ns | No | List mode: numbered (n) or unnumbered (u) objects only. | |
| sb_sat | No | List mode: only objects with at least one known satellite. | |
| sb_kind | No | List mode: asteroids (a) or comets (c) only. | |
| sb_class | No | List mode: orbit class code(s), e.g. APO or MBA,OMB (case-sensitive). | |
| sb_group | No | List mode: NEOs or PHAs only. | |
| sb_xfrag | No | List mode: exclude comet fragments. |
jpl_nhatsJPL NHATS human-accessible NEOsBRead-onlyIdempotent
Near-Earth objects accessible to human missions (NHATS): a constrained summary list, or one object by des/spk.
| Name | Required | Description | Default |
|---|---|---|---|
| h | No | Maximum absolute magnitude H (16-30). | |
| dv | No | Maximum total delta-V in km/s (4-12). | |
| des | No | Object designation, e.g. 99942 (object mode). | |
| dur | No | Maximum total mission duration in days (60-450). | |
| occ | No | Maximum orbit condition code (0-8). | |
| spk | No | Object SPK-ID (object mode). | |
| plot | No | Include a base64 plot (object mode; large). | |
| stay | No | Minimum stay at the NEO in days (8, 16, 24 or 32). | |
| launch | No | Launch window. |
jpl_periodic_orbitsJPL three-body periodic orbitsCRead-onlyIdempotent
Periodic orbits (halo, DRO, Lyapunov, ...) in three-body systems from the JPL Three-Body Periodic Orbits database.
| Name | Required | Description | Default |
|---|---|---|---|
| sys | Yes | Three-body system, e.g. earth-moon, sun-earth, mars-phobos. | |
| libr | No | Libration point 1-5 (required by some families). | |
| branch | No | Branch (required by some families), e.g. N or S. | |
| family | Yes | Orbit family, e.g. halo, dro, lyapunov, vertical, axial, butterfly. | |
| stabmax | No | Maximum stability index. | |
| stabmin | No | Minimum stability index. | |
| jacobimax | No | Maximum Jacobi constant. | |
| jacobimin | No | Minimum Jacobi constant. | |
| periodmax | No | Maximum period. | |
| periodmin | No | Minimum period. | |
| periodunits | No | Units for periodmin/periodmax. |
jpl_sbdbJPL Small-Body Database lookupBRead-onlyIdempotent
Orbital and physical data for one asteroid or comet from the JPL Small-Body Database (SBDB).
| Name | Required | Description | Default |
|---|---|---|---|
| cad | No | DEPRECATED alias for ca_data. | |
| des | No | Primary designation or IAU number. | |
| sat | No | Include satellite data. | |
| spk | No | SPK-ID of the object. | |
| sstr | No | Search string: name, designation or number (e.g. Ceres, 433, 2019 OK). | |
| ca_body | No | Limit close approaches to this body (e.g. Earth); needs ca_data. | |
| ca_data | No | Include close-approach data. | |
| vi_data | No | Include Sentry virtual-impactor data. | |
| phys_par | No | Include physical parameters. | |
| discovery | No | Include discovery circumstances. | |
| full_prec | No | Full-precision orbital elements. | |
| alt_orbits | No | Include alternate orbits. |
jpl_scoutJPL Scout NEOCP hazard assessmentBRead-onlyIdempotent
JPL Scout trajectory analysis and hazard assessment for unconfirmed objects on the Minor Planet Center NEO Confirmation Page.
| Name | Required | Description | Default |
|---|---|---|---|
| file | No | Object mode: include the observation file as a list or in MPC format. | |
| plot | No | Object mode: base64 plots to include: el (elements), ca (close approach), sr (systematic ranging), colon-separated. | |
| tdes | No | NEOCP temporary designation (object mode). | |
| limit | No | List mode: return at most this many objects. Applied by this server; Scout has no limit parameter. | |
| orbits | No | Object mode: include sampled orbits. | |
| n_orbits | No | Object mode: number of sampled orbits (1-1000). |
jpl_sentryJPL Sentry impact riskBRead-onlyIdempotent
Earth impact risk assessments from JPL Sentry: summary table, one object, virtual impactors, or removed objects.
| Name | Required | Description | Default |
|---|---|---|---|
| all | No | Virtual-impactor mode: all VIs (combine with ip_min/ps_min/h_max to narrow). | |
| des | No | Object mode: designation, e.g. 29075 or 2011 AG5. | |
| spk | No | Object mode: SPK-ID. | |
| h_max | No | Summary/VI mode: maximum absolute magnitude H. | |
| limit | No | Return at most this many records from list modes. Applied by this server: Sentry has no limit parameter. | |
| ip_min | No | Summary/VI mode: minimum impact probability, e.g. 1e-5. | |
| ps_min | No | Summary/VI mode: minimum Palermo Scale value, e.g. -3. | |
| removed | No | List objects removed from Sentry. |
nasa_apodNASA Astronomy Picture of the DayARead-onlyIdempotent
NASA's Astronomy Picture of the Day (APOD) from the NASA Science APOD API (science.nasa.gov): the latest picture, one date (1995-06-16 onward), or a date range of up to 100 days. Returns the title, credit, explanation as plain text, image or video URL and page link, and embeds up to max_images pictures. No API key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date of the picture (YYYY-MM-DD, 1995-06-16 or later). Defaults to the latest published picture. Cannot be combined with start_date/end_date. | |
| end_date | No | End of a date range (YYYY-MM-DD); requires start_date. Defaults to today (UTC) when start_date is given. | |
| max_images | No | How many pictures to embed as image content (0-5). Remaining entries are listed by URL. | |
| start_date | No | Start of a date range (YYYY-MM-DD). |
nasa_cmrNASA Earthdata CMR searchARead-onlyIdempotent
Search NASA's Common Metadata Repository (CMR) for Earth science collections (datasets) or granules (files). Supports identifiers, temporal and spatial filters (bounding_box, point, polygon, line, circle), platform/instrument/project, facets and sorting. Returns a compact normalized envelope by default (response_mode raw for upstream metadata) and a next_cursor for Search After pagination: continue by passing only {"cursor": next_cursor}. Collection matches describe datasets; they do not prove granules exist for a given time or place. No API key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| doi | No | Collections only: DOI, e.g. 10.5067/GHGMR-4FJ04. | |
| bbox | No | Compatibility alias for bounding_box (sent to CMR as bounding_box). | |
| line | No | Line "lon1,lat1,lon2,lat2,...". | |
| page | No | DEPRECATED page-number pagination (CMR page_num). Prefer cursor. Cannot be combined with cursor or offset. | |
| limit | No | Records per page (1-100). | |
| point | No | Point "lon,lat". | |
| circle | No | Circle "lon,lat,radius" with radius in metres (10-6000000). | |
| cursor | No | next_cursor from a previous response. Continue with the cursor alone; omitted filters are restored from it. | |
| fields | No | Compact mode only: normalized fields to return. concept_id is always included. Defaults to all fields except summary. | |
| format | No | Upstream CMR metadata format. json/umm_json support compact output; others are returned raw. dif, dif10, opendata: collections only; stac: granules only. | json |
| offset | No | DEPRECATED offset pagination. Prefer cursor. Cannot be combined with cursor or page. | |
| keyword | No | Collections only: free-text keyword search. | |
| polygon | No | Polygon "lon1,lat1,...,lon1,lat1": closed, counter-clockwise (CMR rejects clockwise rings). | |
| project | No | Project/campaign short name(s). | |
| version | No | Collection version. | |
| platform | No | Platform short name(s), e.g. Terra. | |
| provider | No | Provider ID(s), e.g. POCLOUD, LPCLOUD. | |
| sort_key | No | Sort key(s), "-" prefix for descending. Collections: score, usage_score, entry_title, dataset_id, short_name, entry_id, start_date, end_date, platform, instrument, sensor, provider, revision_date, has_granules, create-data-date, ongoing. Granules: start_date, end_date, producer_granule_id, readable_granule_name, granule_ur, revision_date, cloud_cover, day_night_flag, data_size, provider, platform, instrument, sensor, online_only, browsable, entry_title, short_name, version, campaign, project. | |
| temporal | No | Temporal range "start,end" in ISO 8601 (date or date-time, UTC assumed). Either side may be empty, e.g. "2020-01-01T00:00:00Z,". | |
| browsable | No | Only records with (true) or without (false) browse imagery. | |
| concept_id | No | Concept ID(s). For granule searches a collection concept ID (C...) also selects that collection, as in CMR. | |
| instrument | No | Instrument short name(s), e.g. MODIS. | |
| short_name | No | Collection short name(s). | |
| cloud_cover | No | Granules only: cloud cover range "min,max" in percent. | |
| entry_title | No | Collection entry title. | |
| online_only | No | Only online (true) or offline (false) records. | |
| search_type | No | Search collections (datasets) or granules (files). | collections |
| bounding_box | No | Bounding box west,south,east,north (lon/lat degrees). west > east crosses the antimeridian (supported by CMR). | |
| cloud_hosted | No | Collections only: restrict to cloud-hosted (true) or not (false). | |
| downloadable | No | Only records with (true) or without (false) downloadable data links. | |
| has_granules | No | Collections only: require (true) or exclude (false) collections with granules. | |
| response_mode | No | compact (default for json/umm_json): normalized records. raw: upstream metadata as returned (default for other formats). | |
| day_night_flag | No | Granules only: DAY, NIGHT, BOTH or UNSPECIFIED. | |
| include_facets | No | Include CMR v2 facets (counts by keyword, platform, ...). | |
| granule_data_format | No | Collections only: granule data format(s), e.g. netCDF-4. | |
| processing_level_id | No | Collections only: processing level(s), e.g. 3, L2. | |
| producer_granule_id | No | Granules only: producer granule ID. | |
| collection_concept_id | No | Granules only: collection concept ID(s) to search within. | |
| readable_granule_name | No | Granules only: granule name (supports CMR * and ? wildcards). |
Output Schema
| Name | Required | Description |
|---|---|---|
| raw | No | |
| error | No | |
| facets | No | |
| format | Yes | |
| source | Yes | |
| status | Yes | |
| results | Yes | |
| warnings | Yes | |
| total_hits | Yes | |
| next_cursor | Yes | |
| search_type | Yes | |
| retrieved_at | Yes | |
| response_mode | Yes | |
| returned_count | Yes |
nasa_donkiNASA DONKI space weatherARead-onlyIdempotent
Space Weather Database Of Notifications, Knowledge, Information (DONKI) events by type for up to 30 days at a time, from the NASA CCMC DONKI API (ccmc.gsfc.nasa.gov): solar flares, CMEs and their analyses, geomagnetic storms, interplanetary shocks, SEP, MPC, RBE and HSS events, WSA-ENLIL simulations and notifications. Compact one-line summaries by default; response_mode raw returns the full records. No API key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Event type: cme, cmea, gst, ips, flr, sep, mpc, rbe, hss, wsa, notifications. | |
| limit | No | Return only the most recent N events. Applied by this server; DONKI has no limit parameter. | |
| endDate | No | End date (YYYY-MM-DD), at most 30 days after startDate. Defaults to today. | |
| startDate | No | Start date (YYYY-MM-DD). With only endDate, 30 days before endDate; with neither, the last 30 days. | |
| response_mode | No | compact (default): one line per event with its key fields. raw: the full DONKI records as JSON (large for cme, cmea and wsa). | compact |
nasa_eonetNASA EONET natural eventsBRead-onlyIdempotent
Natural events (wildfires, storms, volcanoes, ice, ...) from the Earth Observatory Natural Event Tracker. Filters are sent exactly as given; no automatic broadening.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Only events active within this many prior days. | |
| limit | No | Maximum number of events (1-500). | |
| source | No | EONET source ID(s), comma-separated, e.g. InciWeb,EO. | |
| status | No | Event status filter. | all |
| category | No | EONET category ID(s), comma-separated: e.g. wildfires, severeStorms, volcanoes, seaLakeIce. |
nasa_epicNASA EPIC Earth imageryBRead-onlyIdempotent
Earth Polychromatic Imaging Camera (DSCOVR) full-disc Earth images for a day: metadata for every image plus a bounded number embedded.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Date of the images (YYYY-MM-DD). Defaults to the most recent available day. | |
| collection | No | Image collection. | natural |
| max_images | No | How many images to embed (0-3, JPEG). All images are listed with PNG and JPEG URLs. |
nasa_exoplanetNASA Exoplanet Archive queryBRead-onlyIdempotent
Query the NASA Exoplanet Archive through its TAP service (ADQL). Tables use current TAP names such as ps, pscomppars, cumulative and toi.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum rows (1-1000). | |
| order | No | ADQL ORDER BY expression, e.g. pl_name. | |
| table | Yes | TAP table, e.g. ps (Planetary Systems), pscomppars, cumulative (Kepler KOI), toi. | |
| where | No | ADQL WHERE condition, e.g. disc_year > 2020 and discoverymethod = 'Transit'. | |
| format | No | Result format. | json |
| select | No | Columns to return (ADQL select list). Defaults to *. |
nasa_firmsNASA FIRMS active fire detectionsARead-onlyIdempotent
Active fire/thermal anomaly detections from NASA FIRMS for a bounding box and 1-5 day window. Requires FIRMS_MAP_KEY (not NASA_API_KEY). The legacy latitude/longitude interface now needs radius_km and is converted to a bbox.
| Name | Required | Description | Default |
|---|---|---|---|
| bbox | No | Area as west,south,east,north in decimal degrees (preferred). Antimeridian-crossing boxes are rejected. | |
| date | No | First day of the window (YYYY-MM-DD); FIRMS returns [date, date + days - 1]. Omit for the most recent data. | |
| days | No | DAY_RANGE: number of days of detections (1-5). | |
| limit | No | Maximum detections returned (1-2000). total_detections reports the full count. | |
| source | No | FIRMS sensor/product. *_NRT is near real-time, *_SP is standard processing. | VIIRS_SNPP_NRT |
| latitude | No | Legacy area center latitude; requires longitude and radius_km. | |
| longitude | No | Legacy area center longitude; requires latitude and radius_km. | |
| radius_km | No | Half-width in kilometres of the box built around latitude/longitude (converted to a bbox before querying). |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | |
| query | Yes | |
| source | Yes | |
| status | Yes | |
| columns | Yes | |
| warnings | Yes | |
| detections | Yes | |
| retrieved_at | Yes | |
| returned_count | Yes | |
| total_detections | Yes |
nasa_gibsNASA GIBS satellite imageryBRead-onlyIdempotent
Render a Global Imagery Browse Services (GIBS) layer for a date and bounding box as an image (WMS GetMap, EPSG:4326).
| Name | Required | Description | Default |
|---|---|---|---|
| bbox | No | Area as west,south,east,north in decimal degrees (EPSG:4326). Defaults to the whole globe. | |
| date | Yes | Imagery date (YYYY-MM-DD). | |
| layer | Yes | GIBS layer identifier, e.g. MODIS_Terra_CorrectedReflectance_TrueColor | |
| format | No | Image format. | png |
| resolution | No | Output resolution in pixels per degree (default 2, i.e. 720x360 for the whole globe). |
nasa_imagesNASA Image and Video Library searchBRead-onlyIdempotent
Search NASA's Image and Video Library. Returns item metadata and URLs, with a bounded number of preview thumbnails embedded.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Free-text search terms. | |
| page | No | Result page (1-based). | |
| year_end | No | Latest year (YYYY). | |
| page_size | No | Results per page (1-100). | |
| max_images | No | How many preview thumbnails to embed (0-5). Every item is listed with its URLs. | |
| media_type | No | Restrict to one media type. | |
| year_start | No | Earliest year (YYYY). |
nasa_insight_weatherNASA InSight Mars weather (historical)ARead-onlyIdempotent
HISTORICAL DATA ONLY: per-sol Mars surface weather (air temperature, pressure, wind) from NASA's InSight lander at Elysium Planitia. The feed is frozen at the last seven sols it reported (sols 675-681, October 2020) and is no longer updated. Requires NASA_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
nasa_mars_roverNASA Mars Rover Photos (retired upstream)ARead-onlyIdempotent
DEPRECATED: the upstream Mars Rover Photos API (api.nasa.gov/mars-photos) has been returning HTTP 404 "No such app" since at least 2026-09-29. Calls still query it and report the upstream status accurately; no photos are fabricated. Requires NASA_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| sol | No | Martian sol of the photos. Provide sol or earth_date. | |
| page | No | Result page (25 photos per page). | |
| rover | Yes | Rover name. | |
| camera | No | Camera abbreviation, e.g. FHAZ, NAVCAM. | |
| earth_date | No | Earth date of the photos (YYYY-MM-DD). Provide sol or earth_date. | |
| max_images | No | How many photos to embed (0-5). |
nasa_neoNASA Near Earth Object Web ServiceARead-onlyIdempotent
Near-Earth asteroid close approaches from NASA NeoWs: a feed for up to 7 days (defaults to today, UTC) or a single asteroid by ID. Requires NASA_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | No | End date (YYYY-MM-DD), at most 7 days after start_date. Defaults to start_date. | |
| start_date | No | Start date for the close-approach feed (YYYY-MM-DD). Defaults to today (UTC). | |
| asteroid_id | No | Look up one asteroid by its NeoWs ID instead of the date feed. |
nasa_osdr_filesNASA OSDR study filesARead-onlyIdempotent
List the data files (with download links) for a NASA Open Science Data Repository (OSDR) study.
| Name | Required | Description | Default |
|---|---|---|---|
| accession_number | Yes | OSD study accession number, e.g. 87 or OSD-87. |
nasa_powerNASA POWER daily point dataBRead-onlyIdempotent
Daily solar and meteorological data for a point from NASA POWER (Prediction Of Worldwide Energy Resources).
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | End date (YYYYMMDD). | |
| start | Yes | Start date (YYYYMMDD). | |
| format | No | Response format. | json |
| latitude | Yes | Latitude in decimal degrees. | |
| community | Yes | User community: RE (renewable energy), SB (sustainable buildings), AG (agroclimatology). | |
| longitude | Yes | Longitude in decimal degrees. | |
| parameters | Yes | Comma-separated POWER parameters, e.g. T2M,PRECTOTCORR,WS10M. | |
| time_standard | No | Time standard for daily values; POWER defaults to LST (local solar time) when omitted. |
nasa_ssc_locationsSatellite Situation Center spacecraft locationsARead-onlyIdempotent
Positions of spacecraft (and the Moon and Sun) over a time range from the NASA Satellite Situation Center (SSCWeb), in geophysical coordinate systems (GEO, GM, GSE, GSM, SM, GEI). Returns a CSV table per observatory: X/Y/Z in km, latitude/longitude in degrees, local time in hours and radial distance in km. The resolution factor is raised automatically to keep the output bounded. No API key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| end_time | Yes | End time (UTC); at most 366 days after start_time. | |
| start_time | Yes | Start time (UTC), e.g. 2026-09-29T06:00:00Z; a bare date such as 2026-09-29 means 00:00 UTC. | |
| observatories | Yes | 1-5 SSC observatory IDs, e.g. ["iss"] or ["mms1", "moon"] (see nasa_ssc_observatories). A comma-separated string also works. | |
| resolution_factor | No | Return every Nth point of each observatory's base resolution (60-720 s). Chosen automatically when omitted to keep the output bounded. | |
| coordinate_systems | No | Coordinate systems (default geo): geo, gm, gse, gsm, sm, geitod, geij2000. A comma-separated string also works. |
nasa_ssc_observatoriesSatellite Situation Center spacecraft listARead-onlyIdempotent
Spacecraft and other observatories whose locations the NASA Satellite Situation Center (SSCWeb) can compute, with their data time ranges and resolution. Use the IDs with nasa_ssc_locations. No API key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| search | No | Case-insensitive text to match in the observatory ID or name, e.g. "mms" or "GOES". | |
| active_on | No | Only observatories with location data on this date (YYYY-MM-DD). |
nasa_techportNASA TechPort technology projectsARead-onlyIdempotent
NASA's technology project inventory (TechPort): search projects by keyword, or fetch one project with its status, dates, program, technology readiness levels (TRL), lead organization, description and benefits. No API key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Search mode: how many projects to return (1-50, default 10). | |
| query | No | Search TechPort technology projects, e.g. "solar sail". Results are ordered by relevance. | |
| project_id | No | Fetch one project by its TechPort ID, e.g. 94703. |
nasa_techtransferNASA Technology Transfer searchARead-onlyIdempotent
Search NASA's Technology Transfer portfolio (technology.nasa.gov): patents available for licensing, issued patents, the NASA Software Catalog, or Spinoff stories about commercial products that use NASA technology. No API key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many results to return (1-50). The service returns every match; the rest are counted but not shown. | |
| query | Yes | Keywords to search for, e.g. "engine" or "solar panel". | |
| collection | No | What to search: patent (licensable patents), patent_issued, software (NASA Software Catalog) or spinoff (Spinoff stories). | patent |
nasa_tleSatellite two-line element setsARead-onlyIdempotent
Two-line element sets (TLE) for Earth-orbiting satellites from the TLE API in the api.nasa.gov catalog (tle.ivanstanojevic.me; CelesTrak data refreshed daily): one satellite by NORAD catalog number, or a paged name search. No API key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Result page (1-based). | |
| sort | No | Sort field for searches (upstream default popularity). | |
| search | No | Search satellite names, e.g. "ISS" or "HUBBLE". Omit to browse all records. | |
| sort_dir | No | Sort direction (upstream default desc). | |
| page_size | No | Records per page (1-100, upstream default 20). | |
| satellite_id | No | NORAD catalog number, e.g. 25544 for the ISS. Cannot be combined with search options. |
nasa_trek_layersNASA Trek map layers (Mars, Moon, Vesta)ARead-onlyIdempotent
Search the map layer catalogs of NASA Mars Trek, Moon Trek and Vesta Trek (trek.nasa.gov): mosaics, colour hillshades and other imagery served as OGC WMTS tiles. Returns layer IDs for nasa_trek_tile, with mission, instrument and WMTS endpoint. No API key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Body: mars, moon or vesta. | |
| limit | No | How many layers to return (1-50). | |
| search | No | Keywords to match, e.g. "olympus", "LRO WAC" or "HiRISE". | |
| projection | No | Map projection: equirectangular (global), north_pole or south_pole (polar stereographic). | equirectangular |
nasa_trek_tileNASA Trek map tile (Mars, Moon, Vesta)ARead-onlyIdempotent
One WMTS map tile image from NASA Mars Trek, Moon Trek or Vesta Trek for a layer from nasa_trek_layers, addressed by zoom/row/col or (equirectangular layers) by latitude/longitude. Reads the layer's WMTS capabilities to validate the tile and pick the format. No API key needed.
| Name | Required | Description | Default |
|---|---|---|---|
| col | No | Tile column (0 at the left). | |
| row | No | Tile row (0 at the top). Provide row and col, or latitude and longitude. | |
| body | Yes | Body: mars, moon or vesta. | |
| zoom | No | Zoom level (WMTS TileMatrix). 0 is the whole layer; each level doubles the resolution. | |
| layer | Yes | Layer ID from nasa_trek_layers, e.g. Mars_MGS_MOLA_ClrShade_merge_global_463m or LRO_WAC_Mosaic_Global_303ppd_v02. | |
| latitude | No | Equirectangular only: pick the tile containing this latitude (degrees). | |
| longitude | No | Equirectangular only: pick the tile containing this longitude (degrees east, -180 to 360). | |
| projection | No | Map projection: equirectangular (global), north_pole or south_pole (polar stereographic). | equirectangular |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
32 tool updates
v1.2.0- Changed
jpl_cad25 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / body / descriptionPrevious value: -"Body to find close approaches to (e.g., Earth, Mars, ALL). Default: Earth"New value: +"Close-approach body (Earth, Mars, ALL, ...). Default Earth." - added
Input schema / properties / body / patternAdded value: +"^[A-Za-z]+$" - changed
Input schema / properties / date_max / descriptionPrevious value: -"End date for search (YYYY-MM-DD). Default: +60 days"New value: +"End date (YYYY-MM-DD, now, or +/-days). Default +60." - added
Input schema / properties / date_max / patternAdded value: +"^(now|[+-]\\d{1,5}|\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2})?)?)$" - changed
Input schema / properties / date_min / descriptionPrevious value: -"Start date for search (YYYY-MM-DD). Default: now"New value: +"Start date (YYYY-MM-DD, now, or +/-days). Default now." - added
Input schema / properties / date_min / patternAdded value: +"^(now|[+-]\\d{1,5}|\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2})?)?)$" - changed
Input schema / properties / des / descriptionPrevious value: -"Object designation (e.g., '2000 SG344' or '433')"New value: +"Only this object (designation)." - added
Input schema / properties / des / maxLengthAdded value: +100 - added
Input schema / properties / des / minLengthAdded value: +1 - changed
Input schema / properties / dist_max / descriptionPrevious value: -"Maximum approach distance (e.g., 0.05, 10LD). Default: 0.05 au"New value: +"Maximum approach distance, e.g. 0.05 (au) or 10LD. Default 0.05 au." - added
Input schema / properties / dist_max / patternAdded value: +"^\\d+(\\.\\d+)?(LD|au|AU)?$" - changed
Input schema / properties / dist_min / descriptionPrevious value: -"Minimum approach distance. Default: none"New value: +"Minimum approach distance." - added
Input schema / properties / dist_min / patternAdded value: +"^\\d+(\\.\\d+)?(LD|au|AU)?$" - changed
Input schema / properties / fullname / descriptionPrevious value: -"Include full object name in result. Default: false"New value: +"Include full object names." - added
Input schema / properties / h_maxAdded value: +{ + "description": "Maximum absolute magnitude H.", + "type": "number" +} - added
Input schema / properties / h_minAdded value: +{ + "description": "Minimum absolute magnitude H.", + "type": "number" +} - added
Input schema / properties / limitAdded value: +{ + "description": "Maximum number of records (1-1000).", + "maximum": 1000, + "minimum": 1, + "type": "integer" +} - changed
Input schema / properties / neo / descriptionPrevious value: -"Limit to NEOs. Default: true"New value: +"Limit to NEOs (default true upstream)." - changed
Input schema / properties / sort / descriptionPrevious value: -"Sort field: date, dist, dist-min, v-inf, v-rel, h, object. Default: date"New value: +"Sort field, prefix - for descending. Default date." - added
Input schema / properties / sort / patternAdded value: +"^-?(date|dist|dist-min|v-inf|v-rel|h|object)$" - changed
Input schema / properties / spk / descriptionPrevious value: -"Object SPK-ID (e.g., '2000433')"New value: +"Only this object (SPK-ID)." - added
Input schema / properties / spk / exclusiveMinimumAdded value: +0 - added
Input schema / properties / spk / maximumAdded value: +9007199254740991 - changed
Input schema / properties / spk / typePrevious value: -"string"New value: +"integer"
- Changed
jpl_fireball20 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / date_max / descriptionPrevious value: -"End date (YYYY-MM-DD)"New value: +"Latest event date (YYYY-MM-DD)." - added
Input schema / properties / date_max / patternAdded value: +"^(now|[+-]\\d{1,5}|\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2})?)?)$" - changed
Input schema / properties / date_min / descriptionPrevious value: -"Start date (YYYY-MM-DD)"New value: +"Earliest event date (YYYY-MM-DD)." - added
Input schema / properties / date_min / patternAdded value: +"^(now|[+-]\\d{1,5}|\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2})?)?)$" - added
Input schema / properties / energy_maxAdded value: +{ + "description": "Maximum total radiated energy (1e10 J).", + "minimum": 0, + "type": "number" +} - added
Input schema / properties / energy_minAdded value: +{ + "description": "Minimum total radiated energy (1e10 J).", + "minimum": 0, + "type": "number" +} - added
Input schema / properties / impact_e_maxAdded value: +{ + "description": "Maximum estimated impact energy (kt).", + "minimum": 0, + "type": "number" +} - added
Input schema / properties / impact_e_minAdded value: +{ + "description": "Minimum estimated impact energy (kt).", + "minimum": 0, + "type": "number" +} - added
Input schema / properties / limit / defaultAdded value: +50 - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results to return"New value: +"Maximum number of events (1-1000)." - added
Input schema / properties / limit / maximumAdded value: +1000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / req_altAdded value: +{ + "description": "Only events with an altitude.", + "type": "boolean" +} - added
Input schema / properties / req_locAdded value: +{ + "description": "Only events with a location.", + "type": "boolean" +} - added
Input schema / properties / req_velAdded value: +{ + "description": "Only events with a velocity.", + "type": "boolean" +} - added
Input schema / properties / req_vel_compAdded value: +{ + "description": "Only events with velocity components.", + "type": "boolean" +} - added
Input schema / properties / vel_maxAdded value: +{ + "description": "Maximum velocity (km/s).", + "minimum": 0, + "type": "number" +} - added
Input schema / properties / vel_minAdded value: +{ + "description": "Minimum velocity (km/s).", + "minimum": 0, + "type": "number" +}
- Changed
jpl_horizons25 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / CENTER / descriptionPrevious value: -"Coordinate center (e.g., '500@399' for Earth)"New value: +"Coordinate center, e.g. '500@399' (geocentric)." - added
Input schema / properties / CENTER / maxLengthAdded value: +200 - added
Input schema / properties / CENTER / minLengthAdded value: +1 - changed
Input schema / properties / COMMAND / descriptionPrevious value: -"Target object identifier (e.g., '499' for Mars, '1' for Ceres, 'C/2020 F3' for Comet NEOWISE)"New value: +"Target, e.g. '499' (Mars), '1;' (Ceres), 'C/2020 F3'." - added
Input schema / properties / COMMAND / maxLengthAdded value: +200 - added
Input schema / properties / COMMAND / minLengthAdded value: +1 - changed
Input schema / properties / EPHEM_TYPE / descriptionPrevious value: -"Type of ephemeris (OBSERVER, VECTORS, ELEMENTS)"New value: +"Ephemeris type." - changed
Input schema / properties / MAKE_EPHEM / descriptionPrevious value: -"Generate ephemeris"New value: +"Generate an ephemeris." - changed
Input schema / properties / OBJ_DATA / descriptionPrevious value: -"Include object data"New value: +"Include object data." - changed
Input schema / properties / OUT_UNITS / descriptionPrevious value: -"Output units for vector tables"New value: +"Output units for vector/element tables." - changed
Input schema / properties / QUANTITIES / descriptionPrevious value: -"Observable quantities to include (e.g., 'A' for all, or '1,2,20,23' for specific ones)"New value: +"Observer quantities, e.g. 'A' or '1,2,20,23'." - added
Input schema / properties / QUANTITIES / maxLengthAdded value: +200 - added
Input schema / properties / QUANTITIES / minLengthAdded value: +1 - changed
Input schema / properties / START_TIME / descriptionPrevious value: -"Start time for ephemeris (e.g., '2023-01-01')"New value: +"Start time, e.g. '2024-01-01'." - added
Input schema / properties / START_TIME / maxLengthAdded value: +200 - added
Input schema / properties / START_TIME / minLengthAdded value: +1 - changed
Input schema / properties / STEP_SIZE / descriptionPrevious value: -"Step size for ephemeris points (e.g., '1d' for daily, '1h' for hourly)"New value: +"Step size, e.g. '1d' or '1h'." - added
Input schema / properties / STEP_SIZE / maxLengthAdded value: +200 - added
Input schema / properties / STEP_SIZE / minLengthAdded value: +1 - changed
Input schema / properties / STOP_TIME / descriptionPrevious value: -"Stop time for ephemeris (e.g., '2023-01-02')"New value: +"Stop time, e.g. '2024-01-02'." - added
Input schema / properties / STOP_TIME / maxLengthAdded value: +200 - added
Input schema / properties / STOP_TIME / minLengthAdded value: +1 - added
Input schema / properties / format / defaultAdded value: +"json" - changed
Input schema / properties / format / descriptionPrevious value: -"Response format (json, text)"New value: +"Response format."
- Changed
jpl_horizons_file25 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / CENTER / descriptionPrevious value: -"Coordinate center (e.g., '500@399' for Earth)"New value: +"Coordinate center, e.g. '500@399' (geocentric)." - added
Input schema / properties / CENTER / maxLengthAdded value: +200 - added
Input schema / properties / CENTER / minLengthAdded value: +1 - changed
Input schema / properties / COMMAND / descriptionPrevious value: -"Target object identifier (e.g., '499' for Mars, '1' for Ceres, 'C/2020 F3' for Comet NEOWISE)"New value: +"Target, e.g. '499' (Mars), '1;' (Ceres), 'C/2020 F3'." - added
Input schema / properties / COMMAND / maxLengthAdded value: +200 - added
Input schema / properties / COMMAND / minLengthAdded value: +1 - changed
Input schema / properties / EPHEM_TYPE / descriptionPrevious value: -"Type of ephemeris (OBSERVER, VECTORS, ELEMENTS)"New value: +"Ephemeris type." - changed
Input schema / properties / MAKE_EPHEM / descriptionPrevious value: -"Generate ephemeris"New value: +"Generate an ephemeris." - changed
Input schema / properties / OBJ_DATA / descriptionPrevious value: -"Include object data"New value: +"Include object data." - changed
Input schema / properties / OUT_UNITS / descriptionPrevious value: -"Output units for vector tables"New value: +"Output units for vector/element tables." - changed
Input schema / properties / QUANTITIES / descriptionPrevious value: -"Observable quantities to include (e.g., 'A' for all, or '1,2,20,23' for specific ones)"New value: +"Observer quantities, e.g. 'A' or '1,2,20,23'." - added
Input schema / properties / QUANTITIES / maxLengthAdded value: +200 - added
Input schema / properties / QUANTITIES / minLengthAdded value: +1 - changed
Input schema / properties / START_TIME / descriptionPrevious value: -"Start time for ephemeris (e.g., '2023-01-01')"New value: +"Start time, e.g. '2024-01-01'." - added
Input schema / properties / START_TIME / maxLengthAdded value: +200 - added
Input schema / properties / START_TIME / minLengthAdded value: +1 - changed
Input schema / properties / STEP_SIZE / descriptionPrevious value: -"Step size for ephemeris points (e.g., '1d' for daily, '1h' for hourly)"New value: +"Step size, e.g. '1d' or '1h'." - added
Input schema / properties / STEP_SIZE / maxLengthAdded value: +200 - added
Input schema / properties / STEP_SIZE / minLengthAdded value: +1 - changed
Input schema / properties / STOP_TIME / descriptionPrevious value: -"Stop time for ephemeris (e.g., '2023-01-02')"New value: +"Stop time, e.g. '2024-01-02'." - added
Input schema / properties / STOP_TIME / maxLengthAdded value: +200 - added
Input schema / properties / STOP_TIME / minLengthAdded value: +1 - added
Input schema / properties / format / defaultAdded value: +"json" - changed
Input schema / properties / format / descriptionPrevious value: -"Response format (json, text)"New value: +"Response format."
- Changed
jpl_jd_cal5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / cd / descriptionPrevious value: -"Calendar date to convert to Julian date (YYYY-MM-DD or YYYY-MM-DDThh:mm:ss format)"New value: +"Calendar date (UTC) to convert to a Julian date." - added
Input schema / properties / cd / patternAdded value: +"^-?\\d{1,4}-\\d{2}-\\d{2}([T_ ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?)?$" - changed
Input schema / properties / jd / descriptionPrevious value: -"Julian date to convert to calendar date"New value: +"Julian date to convert to a calendar date." - added
Input schema / properties / jd / patternAdded value: +"^-?\\d+(\\.\\d+)?$"
- Added
jpl_mission_design - Changed
jpl_nhats30 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / des / descriptionPrevious value: -"Object designation (e.g., '2000 SG344' or '433')"New value: +"Object designation, e.g. 99942 (object mode)." - added
Input schema / properties / des / maxLengthAdded value: +100 - added
Input schema / properties / des / minLengthAdded value: +1 - changed
Input schema / properties / dur / descriptionPrevious value: -"Minimum total mission duration (days). Values: 60-450, default: 450"New value: +"Maximum total mission duration in days (60-450)." - added
Input schema / properties / dur / maximumAdded value: +450 - added
Input schema / properties / dur / minimumAdded value: +60 - changed
Input schema / properties / dur / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / dv / descriptionPrevious value: -"Minimum total delta-V (km/s). Values: 4-12, default: 12"New value: +"Maximum total delta-V in km/s (4-12)." - added
Input schema / properties / dv / maximumAdded value: +12 - added
Input schema / properties / dv / minimumAdded value: +4 - changed
Input schema / properties / dv / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / h / descriptionPrevious value: -"Object's maximum absolute magnitude (mag). Values: 16-30"New value: +"Maximum absolute magnitude H (16-30)." - added
Input schema / properties / h / maximumAdded value: +30 - added
Input schema / properties / h / minimumAdded value: +16 - changed
Input schema / properties / h / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / launch / descriptionPrevious value: -"Launch window (year range). Values: 2020-2025, 2025-2030, 2030-2035, 2035-2040, 2040-2045, 2020-2045, default: 2020-2045"New value: +"Launch window." - added
Input schema / properties / launch / enumAdded value: +[ + "2020-2025", + "2025-2030", + "2030-2035", + "2035-2040", + "2040-2045", + "2020-2045" +] - changed
Input schema / properties / occ / descriptionPrevious value: -"Object's maximum orbit condition code. Values: 0-8"New value: +"Maximum orbit condition code (0-8)." - added
Input schema / properties / occ / maximumAdded value: +8 - added
Input schema / properties / occ / minimumAdded value: +0 - changed
Input schema / properties / occ / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / plot / descriptionPrevious value: -"Include base-64 encoded plot image"New value: +"Include a base64 plot (object mode; large)." - changed
Input schema / properties / spk / descriptionPrevious value: -"Object SPK-ID (e.g., '2000433')"New value: +"Object SPK-ID (object mode)." - added
Input schema / properties / spk / exclusiveMinimumAdded value: +0 - added
Input schema / properties / spk / maximumAdded value: +9007199254740991 - changed
Input schema / properties / spk / typePrevious value: -"string"New value: +"integer" - added
Input schema / properties / stay / anyOfAdded value: +[ + { + "const": 8, + "type": "number" + }, + { + "const": 16, + "type": "number" + }, + { + "const": 24, + "type": "number" + }, + { + "const": 32, + "type": "number" + } +] - changed
Input schema / properties / stay / descriptionPrevious value: -"Minimum stay time (days). Values: 8, 16, 24, 32, default: 8"New value: +"Minimum stay at the NEO in days (8, 16, 24 or 32)." - removed
Input schema / properties / stay / typeRemoved value: -"number"
- Changed
jpl_periodic_orbits17 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / branch / descriptionPrevious value: -"Branch within family (N/S, E/W, etc., required for some families)"New value: +"Branch (required by some families), e.g. N or S." - added
Input schema / properties / branch / patternAdded value: +"^[A-Za-z]{1,3}$" - changed
Input schema / properties / family / descriptionPrevious value: -"Orbit family name (e.g., halo, dro, lyapunov)"New value: +"Orbit family, e.g. halo, dro, lyapunov, vertical, axial, butterfly." - added
Input schema / properties / family / patternAdded value: +"^[a-z_]+$" - changed
Input schema / properties / jacobimax / descriptionPrevious value: -"Maximum Jacobi constant"New value: +"Maximum Jacobi constant." - changed
Input schema / properties / jacobimin / descriptionPrevious value: -"Minimum Jacobi constant"New value: +"Minimum Jacobi constant." - changed
Input schema / properties / libr / descriptionPrevious value: -"Libration point (1-5, required for some families)"New value: +"Libration point 1-5 (required by some families)." - added
Input schema / properties / libr / maximumAdded value: +5 - added
Input schema / properties / libr / minimumAdded value: +1 - changed
Input schema / properties / periodmax / descriptionPrevious value: -"Maximum period"New value: +"Maximum period." - changed
Input schema / properties / periodmin / descriptionPrevious value: -"Minimum period"New value: +"Minimum period." - changed
Input schema / properties / periodunits / descriptionPrevious value: -"Units for period (s, h, d, TU)"New value: +"Units for periodmin/periodmax." - changed
Input schema / properties / stabmax / descriptionPrevious value: -"Maximum stability index"New value: +"Maximum stability index." - changed
Input schema / properties / stabmin / descriptionPrevious value: -"Minimum stability index"New value: +"Minimum stability index." - changed
Input schema / properties / sys / descriptionPrevious value: -"Three-body system (e.g., earth-moon, sun-earth)"New value: +"Three-body system, e.g. earth-moon, sun-earth, mars-phobos." - added
Input schema / properties / sys / patternAdded value: +"^[a-z]+-[a-z]+$"
- Changed
jpl_sbdb16 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / alt_orbitsAdded value: +{ + "description": "Include alternate orbits.", + "type": "boolean" +} - added
Input schema / properties / ca_bodyAdded value: +{ + "description": "Limit close approaches to this body (e.g. Earth); needs ca_data.", + "maxLength": 40, + "minLength": 1, + "type": "string" +} - added
Input schema / properties / ca_dataAdded value: +{ + "description": "Include close-approach data.", + "type": "boolean" +} - changed
Input schema / properties / cad / descriptionPrevious value: -"Include close approach data"New value: +"DEPRECATED alias for ca_data." - added
Input schema / properties / desAdded value: +{ + "description": "Primary designation or IAU number.", + "maxLength": 100, + "minLength": 1, + "type": "string" +} - added
Input schema / properties / discoveryAdded value: +{ + "description": "Include discovery circumstances.", + "type": "boolean" +} - added
Input schema / properties / full_precAdded value: +{ + "description": "Full-precision orbital elements.", + "type": "boolean" +} - added
Input schema / properties / phys_parAdded value: +{ + "description": "Include physical parameters.", + "type": "boolean" +} - added
Input schema / properties / satAdded value: +{ + "description": "Include satellite data.", + "type": "boolean" +} - added
Input schema / properties / spkAdded value: +{ + "description": "SPK-ID of the object.", + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" +} - changed
Input schema / properties / sstr / descriptionPrevious value: -"Search string (e.g., asteroid name, number, or designation)"New value: +"Search string: name, designation or number (e.g. Ceres, 433, 2019 OK)." - added
Input schema / properties / sstr / maxLengthAdded value: +200 - added
Input schema / properties / sstr / minLengthAdded value: +1 - added
Input schema / properties / vi_dataAdded value: +{ + "description": "Include Sentry virtual-impactor data.", + "type": "boolean" +} - removed
Input schema / requiredRemoved value: -[ - "sstr" -]
- Changed
jpl_scout16 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / file / descriptionPrevious value: -"Type of data file to return (summary, ephem, obs, crit, all)"New value: +"Object mode: include the observation file as a list or in MPC format." - changed
Input schema / properties / file / enumPrevious value: -[ - "summary", - "ephem", - "obs", - "crit", - "all" -]New value: +[ + "list", + "mpc" +] - changed
Input schema / properties / limit / descriptionPrevious value: -"Limit number of results"New value: +"List mode: return at most this many objects. Applied by this server; Scout has no limit parameter." - added
Input schema / properties / limit / maximumAdded value: +1000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / n_orbitsAdded value: +{ + "description": "Object mode: number of sampled orbits (1-1000).", + "maximum": 1000, + "minimum": 1, + "type": "integer" +} - removed
Input schema / properties / orbit_idRemoved value: -{ - "description": "Scout internal orbit ID", - "type": "string" -} - added
Input schema / properties / orbitsAdded value: +{ + "description": "Object mode: include sampled orbits.", + "type": "boolean" +} - changed
Input schema / properties / plot / descriptionPrevious value: -"Include plots in the response"New value: +"Object mode: base64 plots to include: el (elements), ca (close approach), sr (systematic ranging), colon-separated." - added
Input schema / properties / plot / patternAdded value: +"^(el|ca|sr)(:(el|ca|sr))*$" - changed
Input schema / properties / plot / typePrevious value: -"boolean"New value: +"string" - removed
Input schema / properties / summaryRemoved value: -{ - "description": "Include summary data in the response", - "type": "boolean" -} - changed
Input schema / properties / tdes / descriptionPrevious value: -"Object temporary designation (e.g., P21Eolo)"New value: +"NEOCP temporary designation (object mode)." - added
Input schema / properties / tdes / patternAdded value: +"^[A-Za-z0-9]{1,16}$"
- Changed
jpl_sentry23 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / all / descriptionPrevious value: -"Get all virtual impactors data"New value: +"Virtual-impactor mode: all VIs (combine with ip_min/ps_min/h_max to narrow)." - removed
Input schema / properties / date_maxRemoved value: -{ - "description": "End date (YYYY-MM-DD)", - "type": "string" -} - removed
Input schema / properties / date_minRemoved value: -{ - "description": "Start date (YYYY-MM-DD)", - "type": "string" -} - changed
Input schema / properties / des / descriptionPrevious value: -"Object designation (e.g., '2011 AG5' or '29075')"New value: +"Object mode: designation, e.g. 29075 or 2011 AG5." - added
Input schema / properties / des / maxLengthAdded value: +100 - added
Input schema / properties / des / minLengthAdded value: +1 - changed
Input schema / properties / h_max / descriptionPrevious value: -"Maximum absolute magnitude (size filter)"New value: +"Summary/VI mode: maximum absolute magnitude H." - changed
Input schema / properties / ip_min / descriptionPrevious value: -"Minimum impact probability"New value: +"Summary/VI mode: minimum impact probability, e.g. 1e-5." - added
Input schema / properties / ip_min / exclusiveMinimumAdded value: +0 - added
Input schema / properties / ip_min / maximumAdded value: +1 - changed
Input schema / properties / ip_min / typePrevious value: -"string"New value: +"number" - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results to return"New value: +"Return at most this many records from list modes. Applied by this server: Sentry has no limit parameter." - added
Input schema / properties / limit / maximumAdded value: +1000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / ps_min / descriptionPrevious value: -"Minimum Palermo Scale value"New value: +"Summary/VI mode: minimum Palermo Scale value, e.g. -3." - changed
Input schema / properties / ps_min / typePrevious value: -"string"New value: +"number" - changed
Input schema / properties / removed / descriptionPrevious value: -"Get objects removed from Sentry monitoring"New value: +"List objects removed from Sentry." - changed
Input schema / properties / spk / descriptionPrevious value: -"Object SPK-ID"New value: +"Object mode: SPK-ID." - added
Input schema / properties / spk / exclusiveMinimumAdded value: +0 - added
Input schema / properties / spk / maximumAdded value: +9007199254740991 - changed
Input schema / properties / spk / typePrevious value: -"string"New value: +"integer"
- Changed
nasa_apod8 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / countRemoved value: -{ - "description": "Count of random APODs to retrieve", - "type": "number" -} - changed
Input schema / properties / date / descriptionPrevious value: -"The date of the APOD image to retrieve (YYYY-MM-DD)"New value: +"Date of the picture (YYYY-MM-DD, 1995-06-16 or later). Defaults to the latest published picture. Cannot be combined with start_date/end_date." - changed
Input schema / properties / end_date / descriptionPrevious value: -"End date for date range search (YYYY-MM-DD)"New value: +"End of a date range (YYYY-MM-DD); requires start_date. Defaults to today (UTC) when start_date is given." - added
Input schema / properties / max_imagesAdded value: +{ + "default": 1, + "description": "How many pictures to embed as image content (0-5). Remaining entries are listed by URL.", + "maximum": 5, + "minimum": 0, + "type": "integer" +} - changed
Input schema / properties / start_date / descriptionPrevious value: -"Start date for date range search (YYYY-MM-DD)"New value: +"Start of a date range (YYYY-MM-DD)." - removed
Input schema / properties / thumbsRemoved value: -{ - "description": "Return URL of thumbnail for video content", - "type": "boolean" -} - removed
Input schema / requiredRemoved value: -[ - "date" -]
- Changed
nasa_cmr54 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / bboxAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "type": "number" + }, + "maxItems": 4, + "minItems": 4, + "type": "array" + } + ], + "description": "Compatibility alias for bounding_box (sent to CMR as bounding_box)." +} - added
Input schema / properties / bounding_boxAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "type": "number" + }, + "maxItems": 4, + "minItems": 4, + "type": "array" + } + ], + "description": "Bounding box west,south,east,north (lon/lat degrees). west > east crosses the antimeridian (supported by CMR)." +} - added
Input schema / properties / browsableAdded value: +{ + "description": "Only records with (true) or without (false) browse imagery.", + "type": "boolean" +} - added
Input schema / properties / circleAdded value: +{ + "description": "Circle \"lon,lat,radius\" with radius in metres (10-6000000).", + "type": "string" +} - added
Input schema / properties / cloud_coverAdded value: +{ + "description": "Granules only: cloud cover range \"min,max\" in percent.", + "pattern": "^(\\d+(\\.\\d+)?)?,(\\d+(\\.\\d+)?)?$", + "type": "string" +} - added
Input schema / properties / cloud_hostedAdded value: +{ + "description": "Collections only: restrict to cloud-hosted (true) or not (false).", + "type": "boolean" +} - added
Input schema / properties / collection_concept_idAdded value: +{ + "anyOf": [ + { + "pattern": "^[A-Z]{1,4}\\d+-[A-Za-z0-9_]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[A-Z]{1,4}\\d+-[A-Za-z0-9_]+$", + "type": "string" + }, + "maxItems": 100, + "minItems": 1, + "type": "array" + } + ], + "description": "Granules only: collection concept ID(s) to search within." +} - added
Input schema / properties / concept_idAdded value: +{ + "anyOf": [ + { + "pattern": "^[A-Z]{1,4}\\d+-[A-Za-z0-9_]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[A-Z]{1,4}\\d+-[A-Za-z0-9_]+$", + "type": "string" + }, + "maxItems": 100, + "minItems": 1, + "type": "array" + } + ], + "description": "Concept ID(s). For granule searches a collection concept ID (C...) also selects that collection, as in CMR." +} - added
Input schema / properties / cursorAdded value: +{ + "description": "next_cursor from a previous response. Continue with the cursor alone; omitted filters are restored from it.", + "maxLength": 8192, + "minLength": 1, + "type": "string" +} - added
Input schema / properties / day_night_flagAdded value: +{ + "description": "Granules only: DAY, NIGHT, BOTH or UNSPECIFIED.", + "enum": [ + "DAY", + "NIGHT", + "BOTH", + "UNSPECIFIED" + ], + "type": "string" +} - added
Input schema / properties / doiAdded value: +{ + "description": "Collections only: DOI, e.g. 10.5067/GHGMR-4FJ04.", + "maxLength": 200, + "minLength": 1, + "type": "string" +} - added
Input schema / properties / downloadableAdded value: +{ + "description": "Only records with (true) or without (false) downloadable data links.", + "type": "boolean" +} - added
Input schema / properties / entry_titleAdded value: +{ + "description": "Collection entry title.", + "maxLength": 1000, + "minLength": 1, + "type": "string" +} - added
Input schema / properties / fieldsAdded value: +{ + "description": "Compact mode only: normalized fields to return. concept_id is always included. Defaults to all fields except summary.", + "items": { + "enum": [ + "concept_id", + "title", + "short_name", + "version", + "provider", + "time_start", + "time_end", + "platforms", + "instruments", + "processing_level", + "doi", + "cloud_hosted", + "online_access", + "links", + "summary", + "collection_concept_id", + "producer_granule_id", + "day_night_flag", + "cloud_cover", + "browse_available" + ], + "type": "string" + }, + "maxItems": 20, + "minItems": 1, + "type": "array" +} - changed
Input schema / properties / format / descriptionPrevious value: -"Response format"New value: +"Upstream CMR metadata format. json/umm_json support compact output; others are returned raw. dif, dif10, opendata: collections only; stac: granules only." - changed
Input schema / properties / format / enumPrevious value: -[ - "json", - "umm_json", - "atom", - "echo10", - "iso19115", - "iso_smap", - "kml" -]New value: +[ + "json", + "umm_json", + "atom", + "echo10", + "iso19115", + "kml", + "csv", + "xml", + "native", + "dif", + "dif10", + "opendata", + "stac" +] - added
Input schema / properties / granule_data_formatAdded value: +{ + "anyOf": [ + { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "maxItems": 20, + "minItems": 1, + "type": "array" + } + ], + "description": "Collections only: granule data format(s), e.g. netCDF-4." +} - added
Input schema / properties / has_granulesAdded value: +{ + "description": "Collections only: require (true) or exclude (false) collections with granules.", + "type": "boolean" +} - added
Input schema / properties / include_facetsAdded value: +{ + "description": "Include CMR v2 facets (counts by keyword, platform, ...).", + "type": "boolean" +} - added
Input schema / properties / instrumentAdded value: +{ + "anyOf": [ + { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "maxItems": 20, + "minItems": 1, + "type": "array" + } + ], + "description": "Instrument short name(s), e.g. MODIS." +} - changed
Input schema / properties / keyword / descriptionPrevious value: -"Search keyword"New value: +"Collections only: free-text keyword search." - added
Input schema / properties / keyword / maxLengthAdded value: +1000 - added
Input schema / properties / keyword / minLengthAdded value: +1 - added
Input schema / properties / limit / defaultAdded value: +10 - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results to return"New value: +"Records per page (1-100)." - added
Input schema / properties / limit / maximumAdded value: +100 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / lineAdded value: +{ + "description": "Line \"lon1,lat1,lon2,lat2,...\".", + "maxLength": 8000, + "type": "string" +} - added
Input schema / properties / offsetAdded value: +{ + "description": "DEPRECATED offset pagination. Prefer cursor. Cannot be combined with cursor or page.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +} - added
Input schema / properties / online_onlyAdded value: +{ + "description": "Only online (true) or offline (false) records.", + "type": "boolean" +} - changed
Input schema / properties / page / descriptionPrevious value: -"Page number for pagination"New value: +"DEPRECATED page-number pagination (CMR page_num). Prefer cursor. Cannot be combined with cursor or offset." - added
Input schema / properties / page / maximumAdded value: +9007199254740991 - added
Input schema / properties / page / minimumAdded value: +1 - changed
Input schema / properties / page / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / platformAdded value: +{ + "anyOf": [ + { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "maxItems": 20, + "minItems": 1, + "type": "array" + } + ], + "description": "Platform short name(s), e.g. Terra." +} - added
Input schema / properties / pointAdded value: +{ + "description": "Point \"lon,lat\".", + "maxLength": 8000, + "type": "string" +} - added
Input schema / properties / polygonAdded value: +{ + "description": "Polygon \"lon1,lat1,...,lon1,lat1\": closed, counter-clockwise (CMR rejects clockwise rings).", + "maxLength": 8000, + "type": "string" +} - added
Input schema / properties / processing_level_idAdded value: +{ + "anyOf": [ + { + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + { + "items": { + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "maxItems": 20, + "minItems": 1, + "type": "array" + } + ], + "description": "Collections only: processing level(s), e.g. 3, L2." +} - added
Input schema / properties / producer_granule_idAdded value: +{ + "description": "Granules only: producer granule ID.", + "maxLength": 1000, + "minLength": 1, + "type": "string" +} - added
Input schema / properties / projectAdded value: +{ + "anyOf": [ + { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "maxItems": 20, + "minItems": 1, + "type": "array" + } + ], + "description": "Project/campaign short name(s)." +} - added
Input schema / properties / providerAdded value: +{ + "anyOf": [ + { + "maxLength": 80, + "minLength": 1, + "type": "string" + }, + { + "items": { + "maxLength": 80, + "minLength": 1, + "type": "string" + }, + "maxItems": 20, + "minItems": 1, + "type": "array" + } + ], + "description": "Provider ID(s), e.g. POCLOUD, LPCLOUD." +} - added
Input schema / properties / readable_granule_nameAdded value: +{ + "description": "Granules only: granule name (supports CMR * and ? wildcards).", + "maxLength": 1000, + "minLength": 1, + "type": "string" +} - added
Input schema / properties / response_modeAdded value: +{ + "description": "compact (default for json/umm_json): normalized records. raw: upstream metadata as returned (default for other formats).", + "enum": [ + "compact", + "raw" + ], + "type": "string" +} - changed
Input schema / properties / search_type / descriptionPrevious value: -"Search type (collections or granules)"New value: +"Search collections (datasets) or granules (files)." - added
Input schema / properties / short_nameAdded value: +{ + "anyOf": [ + { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "maxItems": 20, + "minItems": 1, + "type": "array" + } + ], + "description": "Collection short name(s)." +} - added
Input schema / properties / sort_key / anyOfAdded value: +[ + { + "pattern": "^[+-]?[a-z_-]+$", + "type": "string" + }, + { + "items": { + "pattern": "^[+-]?[a-z_-]+$", + "type": "string" + }, + "maxItems": 3, + "minItems": 1, + "type": "array" + } +] - changed
Input schema / properties / sort_key / descriptionPrevious value: -"Field to sort results by"New value: +"Sort key(s), \"-\" prefix for descending. Collections: score, usage_score, entry_title, dataset_id, short_name, entry_id, start_date, end_date, platform, instrument, sensor, provider, revision_date, has_granules, create-data-date, ongoing. Granules: start_date, end_date, producer_granule_id, readable_granule_name, granule_ur, revision_date, cloud_cover, day_night_flag, data_size, provider, platform, instrument, sensor, online_only, browsable, entry_title, short_name, version, campaign, project." - removed
Input schema / properties / sort_key / typeRemoved value: -"string" - added
Input schema / properties / temporalAdded value: +{ + "description": "Temporal range \"start,end\" in ISO 8601 (date or date-time, UTC assumed). Either side may be empty, e.g. \"2020-01-01T00:00:00Z,\".", + "type": "string" +} - added
Input schema / properties / versionAdded value: +{ + "description": "Collection version.", + "maxLength": 80, + "minLength": 1, + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "keyword", - "search_type", - "format" -] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "error": { + "additionalProperties": false, + "properties": { + "http_status": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "kind": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "kind", + "message", + "http_status" + ], + "type": "object" + }, + "facets": { + "items": { + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "values": { + "items": { + "additionalProperties": false, + "properties": { + "count": { + "type": [ + "number", + "null" + ] + }, + "title": { + "type": "string" + } + }, + "required": [ + "title", + "count" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "name", + "values" + ], + "type": "object" + }, + "type": "array" + }, + "format": { + "enum": [ + "json", + "umm_json", + "atom", + "echo10", + "iso19115", + "kml", + "csv", + "xml", + "native", + "dif", + "dif10", + "opendata", + "stac" + ], + "type": "string" + }, + "next_cursor": { + "type": [ + "string", + "null" + ] + }, + "raw": {}, + "response_mode": { + "enum": [ + "compact", + "raw" + ], + "type": "string" + }, + "results": { + "items": { + "additionalProperties": false, + "properties": { + "browse_available": { + "type": [ + "boolean", + "null" + ] + }, + "cloud_cover": { + "type": [ + "number", + "null" + ] + }, + "cloud_hosted": { + "type": [ + "boolean", + "null" + ] + }, + "collection_concept_id": { + "type": [ + "string", + "null" + ] + }, + "concept_id": { + "type": "string" + }, + "day_night_flag": { + "type": [ + "string", + "null" + ] + }, + "doi": { + "type": [ + "string", + "null" + ] + }, + "instruments": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "links": { + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "title": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "url", + "type", + "title" + ], + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "online_access": { + "type": [ + "boolean", + "null" + ] + }, + "platforms": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "processing_level": { + "type": [ + "string", + "null" + ] + }, + "producer_granule_id": { + "type": [ + "string", + "null" + ] + }, + "provider": { + "type": [ + "string", + "null" + ] + }, + "short_name": { + "type": [ + "string", + "null" + ] + }, + "summary": { + "type": [ + "string", + "null" + ] + }, + "time_end": { + "type": [ + "string", + "null" + ] + }, + "time_start": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + }, + "version": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "concept_id" + ], + "type": "object" + }, + "type": "array" + }, + "retrieved_at": { + "type": "string" + }, + "returned_count": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "search_type": { + "enum": [ + "collections", + "granules" + ], + "type": "string" + }, + "source": { + "additionalProperties": false, + "properties": { + "request_id": { + "type": [ + "string", + "null" + ] + }, + "retrieved_at": { + "type": "string" + }, + "service": { + "type": "string" + }, + "took_ms": { + "type": [ + "number", + "null" + ] + }, + "url": { + "type": "string" + } + }, + "required": [ + "service", + "url", + "request_id", + "took_ms", + "retrieved_at" + ], + "type": "object" + }, + "status": { + "enum": [ + "success", + "no_results", + "error" + ], + "type": "string" + }, + "total_hits": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "warnings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "status", + "search_type", + "format", + "response_mode", + "results", + "returned_count", + "total_hits", + "next_cursor", + "source", + "retrieved_at", + "warnings" + ], + "type": "object" +}
- Changed
nasa_donki7 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / endDate / descriptionPrevious value: -"End date (YYYY-MM-DD)"New value: +"End date (YYYY-MM-DD), at most 30 days after startDate. Defaults to today." - added
Input schema / properties / limitAdded value: +{ + "description": "Return only the most recent N events. Applied by this server; DONKI has no limit parameter.", + "maximum": 1000, + "minimum": 1, + "type": "integer" +} - added
Input schema / properties / response_modeAdded value: +{ + "default": "compact", + "description": "compact (default): one line per event with its key fields. raw: the full DONKI records as JSON (large for cme, cmea and wsa).", + "enum": [ + "compact", + "raw" + ], + "type": "string" +} - changed
Input schema / properties / startDate / descriptionPrevious value: -"Start date (YYYY-MM-DD)"New value: +"Start date (YYYY-MM-DD). With only endDate, 30 days before endDate; with neither, the last 30 days." - changed
Input schema / properties / type / descriptionPrevious value: -"Type of space weather event"New value: +"Event type: cme, cmea, gst, ips, flr, sep, mpc, rbe, hss, wsa, notifications." - added
Input schema / properties / type / enumAdded value: +[ + "cme", + "cmea", + "gst", + "ips", + "flr", + "sep", + "mpc", + "rbe", + "hss", + "wsa", + "notifications" +]
- Changed
nasa_eonet18 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / category / descriptionPrevious value: -"Event category (wildfires, volcanoes, etc.)"New value: +"EONET category ID(s), comma-separated: e.g. wildfires, severeStorms, volcanoes, seaLakeIce." - added
Input schema / properties / category / patternAdded value: +"^[A-Za-z]+(,[A-Za-z]+)*$" - added
Input schema / properties / days / defaultAdded value: +60 - changed
Input schema / properties / days / descriptionPrevious value: -"Number of days to look back"New value: +"Only events active within this many prior days." - added
Input schema / properties / days / maximumAdded value: +3650 - added
Input schema / properties / days / minimumAdded value: +1 - changed
Input schema / properties / days / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / limit / defaultAdded value: +50 - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of events to return"New value: +"Maximum number of events (1-500)." - added
Input schema / properties / limit / maximumAdded value: +500 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / source / descriptionPrevious value: -"Data source"New value: +"EONET source ID(s), comma-separated, e.g. InciWeb,EO." - added
Input schema / properties / source / patternAdded value: +"^[A-Za-z0-9_]+(,[A-Za-z0-9_]+)*$" - added
Input schema / properties / status / defaultAdded value: +"all" - changed
Input schema / properties / status / descriptionPrevious value: -"Event status (open, closed)"New value: +"Event status filter." - added
Input schema / properties / status / enumAdded value: +[ + "open", + "closed", + "all" +]
- Changed
nasa_epic6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / collection / defaultAdded value: +"natural" - changed
Input schema / properties / collection / descriptionPrevious value: -"Image collection (natural or enhanced)"New value: +"Image collection." - added
Input schema / properties / collection / enumAdded value: +[ + "natural", + "enhanced" +] - changed
Input schema / properties / date / descriptionPrevious value: -"Date of the image (YYYY-MM-DD)"New value: +"Date of the images (YYYY-MM-DD). Defaults to the most recent available day." - added
Input schema / properties / max_imagesAdded value: +{ + "default": 1, + "description": "How many images to embed (0-3, JPEG). All images are listed with PNG and JPEG URLs.", + "maximum": 3, + "minimum": 0, + "type": "integer" +}
- Changed
nasa_exoplanet15 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / formatAdded value: +{ + "default": "json", + "description": "Result format.", + "enum": [ + "json", + "csv" + ], + "type": "string" +} - added
Input schema / properties / limit / defaultAdded value: +100 - changed
Input schema / properties / limit / descriptionPrevious value: -"Maximum number of results"New value: +"Maximum rows (1-1000)." - added
Input schema / properties / limit / maximumAdded value: +1000 - added
Input schema / properties / limit / minimumAdded value: +1 - changed
Input schema / properties / limit / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / order / descriptionPrevious value: -"Ordering of results"New value: +"ADQL ORDER BY expression, e.g. pl_name." - added
Input schema / properties / order / minLengthAdded value: +1 - changed
Input schema / properties / select / descriptionPrevious value: -"Columns to return"New value: +"Columns to return (ADQL select list). Defaults to *." - added
Input schema / properties / select / minLengthAdded value: +1 - changed
Input schema / properties / table / descriptionPrevious value: -"Database table to query"New value: +"TAP table, e.g. ps (Planetary Systems), pscomppars, cumulative (Kepler KOI), toi." - added
Input schema / properties / table / patternAdded value: +"^[A-Za-z_][A-Za-z0-9_]*$" - changed
Input schema / properties / where / descriptionPrevious value: -"Filter conditions"New value: +"ADQL WHERE condition, e.g. disc_year > 2020 and discoverymethod = 'Transit'." - added
Input schema / properties / where / minLengthAdded value: +1
- Changed
nasa_firms19 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / bboxAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "type": "number" + }, + "maxItems": 4, + "minItems": 4, + "type": "array" + } + ], + "description": "Area as west,south,east,north in decimal degrees (preferred). Antimeridian-crossing boxes are rejected." +} - added
Input schema / properties / dateAdded value: +{ + "description": "First day of the window (YYYY-MM-DD); FIRMS returns [date, date + days - 1]. Omit for the most recent data.", + "type": "string" +} - added
Input schema / properties / days / defaultAdded value: +1 - changed
Input schema / properties / days / descriptionPrevious value: -"Number of days of data to retrieve"New value: +"DAY_RANGE: number of days of detections (1-5)." - added
Input schema / properties / days / maximumAdded value: +5 - added
Input schema / properties / days / minimumAdded value: +1 - changed
Input schema / properties / days / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / latitude / descriptionPrevious value: -"Latitude coordinate"New value: +"Legacy area center latitude; requires longitude and radius_km." - added
Input schema / properties / latitude / maximumAdded value: +90 - added
Input schema / properties / latitude / minimumAdded value: +-90 - added
Input schema / properties / limitAdded value: +{ + "default": 100, + "description": "Maximum detections returned (1-2000). total_detections reports the full count.", + "maximum": 2000, + "minimum": 1, + "type": "integer" +} - changed
Input schema / properties / longitude / descriptionPrevious value: -"Longitude coordinate"New value: +"Legacy area center longitude; requires latitude and radius_km." - added
Input schema / properties / longitude / maximumAdded value: +180 - added
Input schema / properties / longitude / minimumAdded value: +-180 - added
Input schema / properties / radius_kmAdded value: +{ + "description": "Half-width in kilometres of the box built around latitude/longitude (converted to a bbox before querying).", + "exclusiveMinimum": 0, + "maximum": 500, + "type": "number" +} - added
Input schema / properties / sourceAdded value: +{ + "default": "VIIRS_SNPP_NRT", + "description": "FIRMS sensor/product. *_NRT is near real-time, *_SP is standard processing.", + "enum": [ + "LANDSAT_NRT", + "MODIS_NRT", + "MODIS_SP", + "VIIRS_NOAA20_NRT", + "VIIRS_NOAA20_SP", + "VIIRS_NOAA21_NRT", + "VIIRS_SNPP_NRT", + "VIIRS_SNPP_SP" + ], + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "latitude", - "longitude" -] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "additionalProperties": false, + "properties": { + "columns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "detections": { + "items": { + "additionalProperties": { + "type": [ + "string", + "number", + "null" + ] + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": false, + "properties": { + "http_status": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "kind": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "kind", + "message", + "http_status" + ], + "type": "object" + }, + "query": { + "additionalProperties": false, + "properties": { + "bbox": { + "items": { + "type": "number" + }, + "maxItems": 4, + "minItems": 4, + "type": "array" + }, + "date": { + "type": [ + "string", + "null" + ] + }, + "day_range": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "derived_from": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "latitude": { + "type": "number" + }, + "longitude": { + "type": "number" + }, + "radius_km": { + "type": "number" + } + }, + "required": [ + "latitude", + "longitude", + "radius_km" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "source": { + "type": "string" + } + }, + "required": [ + "source", + "bbox", + "day_range", + "date", + "derived_from" + ], + "type": "object" + }, + "retrieved_at": { + "type": "string" + }, + "returned_count": { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "source": { + "additionalProperties": false, + "properties": { + "retrieved_at": { + "type": "string" + }, + "service": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "service", + "url", + "retrieved_at" + ], + "type": "object" + }, + "status": { + "enum": [ + "success", + "no_results", + "error" + ], + "type": "string" + }, + "total_detections": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "warnings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "status", + "query", + "total_detections", + "returned_count", + "columns", + "detections", + "source", + "retrieved_at", + "warnings" + ], + "type": "object" +}
- Changed
nasa_gibs12 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / bboxAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "items": { + "type": "number" + }, + "maxItems": 4, + "minItems": 4, + "type": "array" + } + ], + "description": "Area as west,south,east,north in decimal degrees (EPSG:4326). Defaults to the whole globe." +} - changed
Input schema / properties / date / descriptionPrevious value: -"Date of imagery (YYYY-MM-DD)"New value: +"Imagery date (YYYY-MM-DD)." - added
Input schema / properties / format / defaultAdded value: +"png" - changed
Input schema / properties / format / descriptionPrevious value: -"Image format (png, jpg, jpeg)"New value: +"Image format." - added
Input schema / properties / format / enumAdded value: +[ + "png", + "jpg", + "jpeg" +] - changed
Input schema / properties / layer / descriptionPrevious value: -"Layer name (e.g., MODIS_Terra_CorrectedReflectance_TrueColor)"New value: +"GIBS layer identifier, e.g. MODIS_Terra_CorrectedReflectance_TrueColor" - added
Input schema / properties / layer / patternAdded value: +"^[A-Za-z0-9_.-]+$" - added
Input schema / properties / resolution / defaultAdded value: +2 - changed
Input schema / properties / resolution / descriptionPrevious value: -"Resolution in pixels per degree"New value: +"Output resolution in pixels per degree (default 2, i.e. 720x360 for the whole globe)." - added
Input schema / properties / resolution / exclusiveMinimumAdded value: +0 - added
Input schema / properties / resolution / maximumAdded value: +40
- Changed
nasa_images16 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / max_imagesAdded value: +{ + "default": 3, + "description": "How many preview thumbnails to embed (0-5). Every item is listed with its URLs.", + "maximum": 5, + "minimum": 0, + "type": "integer" +} - changed
Input schema / properties / media_type / descriptionPrevious value: -"Media type (image, video, audio)"New value: +"Restrict to one media type." - added
Input schema / properties / media_type / enumAdded value: +[ + "image", + "video", + "audio" +] - added
Input schema / properties / page / defaultAdded value: +1 - changed
Input schema / properties / page / descriptionPrevious value: -"Page number for pagination"New value: +"Result page (1-based)." - added
Input schema / properties / page / maximumAdded value: +100 - added
Input schema / properties / page / minimumAdded value: +1 - changed
Input schema / properties / page / typePrevious value: -"number"New value: +"integer" - added
Input schema / properties / page_sizeAdded value: +{ + "default": 10, + "description": "Results per page (1-100).", + "maximum": 100, + "minimum": 1, + "type": "integer" +} - changed
Input schema / properties / q / descriptionPrevious value: -"Search query"New value: +"Free-text search terms." - added
Input schema / properties / q / minLengthAdded value: +1 - changed
Input schema / properties / year_end / descriptionPrevious value: -"End year for results"New value: +"Latest year (YYYY)." - added
Input schema / properties / year_end / patternAdded value: +"^\\d{4}$" - changed
Input schema / properties / year_start / descriptionPrevious value: -"Start year for results"New value: +"Earliest year (YYYY)." - added
Input schema / properties / year_start / patternAdded value: +"^\\d{4}$"
- Added
nasa_insight_weather - Changed
nasa_mars_rover15 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / camera / descriptionPrevious value: -"Camera name"New value: +"Camera abbreviation, e.g. FHAZ, NAVCAM." - added
Input schema / properties / camera / patternAdded value: +"^[A-Za-z_]+$" - changed
Input schema / properties / earth_date / descriptionPrevious value: -"Earth date of the photos (YYYY-MM-DD)"New value: +"Earth date of the photos (YYYY-MM-DD). Provide sol or earth_date." - added
Input schema / properties / max_imagesAdded value: +{ + "default": 3, + "description": "How many photos to embed (0-5).", + "maximum": 5, + "minimum": 0, + "type": "integer" +} - changed
Input schema / properties / page / descriptionPrevious value: -"Page number for pagination"New value: +"Result page (25 photos per page)." - added
Input schema / properties / page / maximumAdded value: +9007199254740991 - added
Input schema / properties / page / minimumAdded value: +1 - changed
Input schema / properties / page / typePrevious value: -"number"New value: +"integer" - changed
Input schema / properties / rover / descriptionPrevious value: -"Name of the rover (curiosity, opportunity, spirit, perseverance)"New value: +"Rover name." - added
Input schema / properties / rover / enumAdded value: +[ + "curiosity", + "opportunity", + "perseverance", + "spirit" +] - changed
Input schema / properties / sol / descriptionPrevious value: -"Martian sol (day) of the photos"New value: +"Martian sol of the photos. Provide sol or earth_date." - added
Input schema / properties / sol / maximumAdded value: +9007199254740991 - added
Input schema / properties / sol / minimumAdded value: +0 - changed
Input schema / properties / sol / typePrevious value: -"number"New value: +"integer"
- Changed
nasa_neo6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / asteroid_id / descriptionPrevious value: -"ID of a specific asteroid"New value: +"Look up one asteroid by its NeoWs ID instead of the date feed." - added
Input schema / properties / asteroid_id / patternAdded value: +"^\\d+$" - changed
Input schema / properties / end_date / descriptionPrevious value: -"End date for asteroid search (YYYY-MM-DD)"New value: +"End date (YYYY-MM-DD), at most 7 days after start_date. Defaults to start_date." - changed
Input schema / properties / start_date / descriptionPrevious value: -"Start date for asteroid search (YYYY-MM-DD)"New value: +"Start date for the close-approach feed (YYYY-MM-DD). Defaults to today (UTC)." - removed
Input schema / requiredRemoved value: -[ - "start_date", - "end_date" -]
- Changed
nasa_osdr_files3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / accession_number / descriptionPrevious value: -"OSD study accession number (e.g., '87')"New value: +"OSD study accession number, e.g. 87 or OSD-87." - added
Input schema / properties / accession_number / patternAdded value: +"^(OSD-)?\\d+$"
- Changed
nasa_power18 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / community / descriptionPrevious value: -"User community (RE, SB, AG, etc.)"New value: +"User community: RE (renewable energy), SB (sustainable buildings), AG (agroclimatology)." - added
Input schema / properties / community / enumAdded value: +[ + "RE", + "SB", + "AG" +] - changed
Input schema / properties / end / descriptionPrevious value: -"End date (YYYYMMDD)"New value: +"End date (YYYYMMDD)." - added
Input schema / properties / format / defaultAdded value: +"json" - changed
Input schema / properties / format / descriptionPrevious value: -"Response format (json, csv, etc.)"New value: +"Response format." - added
Input schema / properties / format / enumAdded value: +[ + "json", + "csv" +] - changed
Input schema / properties / latitude / descriptionPrevious value: -"Latitude coordinate"New value: +"Latitude in decimal degrees." - added
Input schema / properties / latitude / maximumAdded value: +90 - added
Input schema / properties / latitude / minimumAdded value: +-90 - changed
Input schema / properties / longitude / descriptionPrevious value: -"Longitude coordinate"New value: +"Longitude in decimal degrees." - added
Input schema / properties / longitude / maximumAdded value: +180 - added
Input schema / properties / longitude / minimumAdded value: +-180 - changed
Input schema / properties / parameters / descriptionPrevious value: -"Comma-separated data parameters"New value: +"Comma-separated POWER parameters, e.g. T2M,PRECTOTCORR,WS10M." - added
Input schema / properties / parameters / patternAdded value: +"^[A-Za-z0-9_]+(,[A-Za-z0-9_]+)*$" - changed
Input schema / properties / start / descriptionPrevious value: -"Start date (YYYYMMDD)"New value: +"Start date (YYYYMMDD)." - added
Input schema / properties / time_standardAdded value: +{ + "description": "Time standard for daily values; POWER defaults to LST (local solar time) when omitted.", + "enum": [ + "utc", + "lst" + ], + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "parameters", - "community", - "longitude", - "latitude", - "start", - "end" -]New value: +[ + "parameters", + "community", + "latitude", + "longitude", + "start", + "end" +]
- Added
nasa_ssc_locations - Added
nasa_ssc_observatories - Added
nasa_techport - Added
nasa_techtransfer - Added
nasa_tle - Added
nasa_trek_layers - Added
nasa_trek_tile
2 tool updates
v1.0.0- Changed
nasa_cmr3 fields changed- added
Input schema / properties / formatAdded value: +{ + "default": "json", + "description": "Response format", + "enum": [ + "json", + "umm_json", + "atom", + "echo10", + "iso19115", + "iso_smap", + "kml" + ], + "type": "string" +} - added
Input schema / properties / search_typeAdded value: +{ + "default": "collections", + "description": "Search type (collections or granules)", + "enum": [ + "collections", + "granules" + ], + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "keyword" -]New value: +[ + "keyword", + "search_type", + "format" +]
- Removed
nasa_earth
24 tool updates
- First observed
jpl_cad - First observed
jpl_fireball - First observed
jpl_horizons - First observed
jpl_horizons_file - First observed
jpl_jd_cal - First observed
jpl_nhats - First observed
jpl_periodic_orbits - First observed
jpl_sbdb - First observed
jpl_scout - First observed
jpl_sentry - First observed
nasa_apod - First observed
nasa_cmr - First observed
nasa_donki - First observed
nasa_earth - First observed
nasa_eonet - First observed
nasa_epic - First observed
nasa_exoplanet - First observed
nasa_firms - First observed
nasa_gibs - First observed
nasa_images - First observed
nasa_mars_rover - First observed
nasa_neo - First observed
nasa_osdr_files - First observed
nasa_power
TDQS
Scored across 32 tools
Most tools target distinct NASA data sources, but several pairs overlap: nasa_neo and jpl_cad both handle close approaches, jpl_sentry and jpl_scout both assess impact risk, and jpl_horizons and jpl_horizons_file offer the same data via different HTTP methods. Descriptions help distinguish these, but an agent could still misselect.
All tool names use consistent snake_case with a clear provider prefix (nasa_ or jpl_) and service-oriented nouns. The pattern is predictable throughout, with only minor abbreviations like jpl_jd_cal that still fit the convention.
32 tools is well above the recommended 3–15 range and feels heavy even for a broad NASA data server. While each tool maps to a distinct API, the set would be more manageable if split into focused sub-servers.
The surface covers many NASA APIs but misses major ones like NTRS, ADS, PDS, and HEASARC. Additionally, some included tools are deprecated or frozen (nasa_mars_rover, nasa_insight_weather), creating dead ends that limit reliable coverage.
Maintenance
Related MCP Connectors
Real-time planetary signal engine and Model Context Protocol (MCP) server for autonomous AI agents.
NASA MCP — wraps NASA Open APIs (api.nasa.gov)
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
An MCP server for Perigee, the open-source 3D viewer of the artificial objects orbiting the Earth, the Moon and Mars and of the spacecraft crossing the solar system. It lets an AI assistant (a teaching assistant, for example) answer questions such as “how far is Mars from the Earth on 1 December 2026?”, “where is the ISS now?” or “what is Lucy's mission?”, and hand the student a live 3D view, with how each number was obtained, from which data, how fresh and how accurate.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that enables LLMs to query data from various NASA APIs, allowing access to astronomical data, space weather information, Earth imagery, and exoplanet information directly from compatible AI clients.216MIT
- FlicenseNot gradedqualityDmaintenanceMulti-Agent Conversation Protocol server for accessing NASA's Astronomy Picture of the Day (APOD) API, allowing users to retrieve space imagery and related information through natural language interactions.-
- AlicenseAqualityDmaintenanceMCP server providing AI agents with access to NASA and space/astronomy data including APOD, Mars rover photos, near-Earth asteroids, exoplanets, Earth imagery, natural events, and space weather.1113 PyPIMIT
- AlicenseCqualityDmaintenanceA Model Context Protocol (MCP) server that provides access to NASA's Astronomy Picture of the Day (APOD) API.2ISC