Skip to main content
Glama
seoh0711

NASA API Desktop Extension

by seoh0711

get_neo_feed

Retrieve Near Earth Object (NEO) data for specific date ranges using the NASA API Desktop Extension. Input start and end dates to access up-to-date astronomical information.

Instructions

근지구 천체(Near Earth Objects) 정보를 가져옵니다

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
end_dateNo종료 날짜 (YYYY-MM-DD)
start_dateNo시작 날짜 (YYYY-MM-DD)

Implementation Reference

  • The main handler function that fetches Near Earth Object (NEO) feed data from NASA's API based on provided date range, processes the asteroids data, and returns a formatted text response listing up to 10 NEOs with details like name, size, hazard status, and approach data.
    async getNEOFeed(args) { const { start_date, end_date } = args || {}; const params = new URLSearchParams({ api_key: this.apiKey, }); if (start_date) params.append('start_date', start_date); if (end_date) params.append('end_date', end_date); const response = await fetch(`${this.baseUrl}/neo/rest/v1/feed?${params}`); const data = await response.json(); if (!response.ok) { throw new Error(`NASA API 오류: ${data.error?.message || '알 수 없는 오류'}`); } const totalCount = data.element_count; const dates = Object.keys(data.near_earth_objects); let neoList = []; dates.forEach(date => { data.near_earth_objects[date].forEach(neo => { neoList.push({ date, name: neo.name, id: neo.id, diameter: neo.estimated_diameter.kilometers, hazardous: neo.is_potentially_hazardous_asteroid, close_approach: neo.close_approach_data[0], }); }); }); return { content: [ { type: 'text', text: `**근지구 천체 정보** (${start_date || '오늘'} ~ ${end_date || '7일 후'}) 총 ${totalCount}개의 근지구 천체가 발견되었습니다: ${neoList.slice(0, 10).map((neo, index) => ` ${index + 1}. **${neo.name}** - **ID**: ${neo.id} - **날짜**: ${neo.date} - **지름**: ${neo.diameter.estimated_diameter_min.toFixed(3)} - ${neo.diameter.estimated_diameter_max.toFixed(3)} km - **위험 여부**: ${neo.hazardous ? '위험' : '안전'} - **최근접 거리**: ${parseFloat(neo.close_approach.miss_distance.kilometers).toLocaleString()} km - **속도**: ${parseFloat(neo.close_approach.relative_velocity.kilometers_per_hour).toLocaleString()} km/h `).join('')}`, }, ], }; }
  • Input schema definition for the get_neo_feed tool, specifying optional start_date and end_date parameters as strings in YYYY-MM-DD format.
    inputSchema: { type: 'object', properties: { start_date: { type: 'string', description: '시작 날짜 (YYYY-MM-DD)', }, end_date: { type: 'string', description: '종료 날짜 (YYYY-MM-DD)', }, }, },
  • server/index.js:85-101 (registration)
    Tool registration entry in the listTools response, including name 'get_neo_feed', Korean description, and input schema.
    { name: 'get_neo_feed', description: '근지구 천체(Near Earth Objects) 정보를 가져옵니다', inputSchema: { type: 'object', properties: { start_date: { type: 'string', description: '시작 날짜 (YYYY-MM-DD)', }, end_date: { type: 'string', description: '종료 날짜 (YYYY-MM-DD)', }, }, }, },
  • Switch case in the CallToolRequest handler that routes 'get_neo_feed' tool calls to the getNEOFeed method.
    case 'get_neo_feed': return await this.getNEOFeed(args);

Other Tools

Related Tools

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/seoh0711/dxt_nasa'

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