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);

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

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