Skip to main content
Glama

jpl_fireball

Retrieve NASA JPL fireball data to track atmospheric impact events by date range, enabling analysis of meteoroid entries and energy releases.

Instructions

Fireball data - atmospheric impact events

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return
date_minNoStart date (YYYY-MM-DD)
date_maxNoEnd date (YYYY-MM-DD)

Implementation Reference

  • Core handler function that executes the jpl_fireball tool logic: transforms params, calls JPL Fireball API, formats response.
    export async function jplFireballHandler(params: FireballParams) { try { // Construct the Fireball API URL const url = 'https://ssd-api.jpl.nasa.gov/fireball.api'; // Transform parameter names from underscore to hyphenated format const transformedParams = transformParamsToHyphenated(params); // Make the request to the Fireball API const response = await axios.get(url, { params: transformedParams }); return { content: [ { type: "text", text: `Retrieved ${response.data.count || 0} fireball events.` }, { type: "text", text: JSON.stringify(response.data, null, 2) } ], isError: false }; } catch (error: any) { console.error('Error in JPL Fireball handler:', error); return { isError: true, content: [{ type: "text", text: `Error: ${error.message || 'An unexpected error occurred'}` }] }; } }
  • Zod schema for validating input parameters to the jpl_fireball tool.
    export const fireballParamsSchema = z.object({ date_min: z.string().optional(), date_max: z.string().optional(), energy_min: z.number().optional(), energy_max: z.number().optional(), impact_e_min: z.number().optional(), impact_e_max: z.number().optional(), vel_min: z.number().optional(), vel_max: z.number().optional(), alt_min: z.number().optional(), alt_max: z.number().optional(), req_loc: z.boolean().optional().default(false), req_alt: z.boolean().optional().default(false), req_vel: z.boolean().optional().default(false), req_vel_comp: z.boolean().optional().default(false), req_impact_e: z.boolean().optional().default(false), req_energy: z.boolean().optional().default(false), limit: z.number().optional().default(50) });
  • src/index.ts:508-511 (registration)
    Tool registration in tools/manifest response, declaring the jpl_fireball tool.
    name: "jpl_fireball", id: "jpl/fireball", description: "Fireball atmospheric impact data reported by US Government sensors" },
  • src/index.ts:1050-1069 (registration)
    Detailed tool registration including input schema in tools/list response.
    name: "jpl_fireball", description: "Fireball data - atmospheric impact events", inputSchema: { type: "object", properties: { limit: { type: "number", description: "Maximum number of results to return" }, "date_min": { type: "string", description: "Start date (YYYY-MM-DD)" }, "date_max": { type: "string", description: "End date (YYYY-MM-DD)" } } } },
  • Import of helper utility used to transform underscore params to hyphenated for API compatibility.
    import { transformParamsToHyphenated } from '../../utils/param-transformer'; // Schema for validating JPL Fireball request parameters export const fireballParamsSchema = z.object({ date_min: z.string().optional(), date_max: z.string().optional(), energy_min: z.number().optional(), energy_max: z.number().optional(), impact_e_min: z.number().optional(), impact_e_max: z.number().optional(), vel_min: z.number().optional(), vel_max: z.number().optional(), alt_min: z.number().optional(), alt_max: z.number().optional(), req_loc: z.boolean().optional().default(false), req_alt: z.boolean().optional().default(false), req_vel: z.boolean().optional().default(false), req_vel_comp: z.boolean().optional().default(false), req_impact_e: z.boolean().optional().default(false), req_energy: z.boolean().optional().default(false), limit: z.number().optional().default(50)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ProgramComputer/NASA-MCP-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server