Skip to main content
Glama

Версия НПМ

MCP-сервер НАСА

Сервер Model Context Protocol (MCP) для API NASA, предоставляющий стандартизированный интерфейс для взаимодействия моделей ИИ с обширным массивом источников данных NASA. Этот сервер реализует официальную спецификацию Model Context Protocol.

Большое спасибо сообществу MCP за поддержку и руководство!

Функции

  • Доступ к более чем 20 источникам данных NASA через единый, согласованный интерфейс

  • Стандартизированные форматы данных, оптимизированные для использования ИИ

  • Автоматическая проверка параметров и обработка ошибок

  • Управление ограничением скорости для ключей API NASA

  • Подробная документация и примеры

  • Поддержка различных форматов изображений NASA

  • Преобразование и форматирование данных для совместимости с LLM

  • Кроссплатформенная поддержка (Windows, macOS, Linux)

Related MCP server: MCP Server For Local

Отказ от ответственности

Этот проект не связан, не одобрен и не связан с NASA (Национальное управление по аэронавтике и исследованию космического пространства) или любой из его дочерних компаний или филиалов. Это независимая реализация, которая получает доступ к общедоступным API NASA. Все используемые данные 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

Работает на курсоре

Настройка курсора 🖥️ Примечание: требуется версия курсора 0.45.6+

Чтобы настроить сервер 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 на ваш ключ API NASA с https://api.nasa.gov/ .

После добавления конфигурации перезапустите Cursor, чтобы увидеть новые инструменты NASA. Composer Agent будет автоматически использовать NASA MCP, когда это уместно для запросов, связанных с космосом.

Переменные среды

Сервер можно настроить с помощью следующих переменных среды:

Переменная

Описание

NASA_API_KEY

Ваш ключ API NASA (получить на api.nasa.gov)

Включены API NASA

Этот сервер MCP интегрирует следующие API NASA:

  1. Открытый API НАСА (api.nasa.gov):

    • APOD (Астрономическая картинка дня)

    • EPIC (камера полихроматической съемки Земли)

    • DONKI (База данных космической погоды с уведомлениями, знаниями и информацией)

    • Insight (Марсианская метеорологическая служба)

    • Фотографии марсохода

    • NEO (веб-сервис околоземных объектов)

    • EONET (система отслеживания природных событий Обсерватории Земли)

    • TLE (двухстрочный элемент)

    • Библиотека изображений и видео NASA

    • Архив экзопланет

    • API звуков NASA (бета)

    • POWER (Прогноз мировых энергетических ресурсов)

  2. API динамики солнечной системы JPL (ssd-api.jpl.nasa.gov):

    • SBDB (База данных малых тел)

    • Данные SBDB о близком сближении

    • Данные огненного шара

    • API-интерфейс разведчика

  3. API данных о Земле :

    • GIBS (Глобальные службы просмотра изображений)

    • CMR (Общий репозиторий метаданных) — улучшенные возможности расширенного поиска

    • EPIC (камера полихроматической съемки Земли)

    • FIRMS (Информация о пожаре для системы управления ресурсами)

Методы API

Каждый API NASA предоставляется посредством стандартизированных методов 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" } }

POWER (Прогноз мировых энергетических ресурсов)

{ "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) } }

Полную документацию по всем доступным методам и параметрам см. в справочнике API в каталоге /docs .

Система регистрации

Сервер включает в себя комплексное ведение журнала:

  • Статус и ход операции

  • Показатели производительности

  • Отслеживание лимита скорости

  • Ошибочные состояния

  • Запросить проверку

Примеры сообщений журнала:

[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 реализует лучшие практики безопасности в соответствии со спецификациями Model Context Protocol:

  • Проверка и очистка входных данных с использованием схем 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 входит скрипт, который поможет вам протестировать API с помощью MCP Inspector:

# Run the provided test script ./scripts/test-with-inspector.sh

Это позволит:

  1. Создайте проект, чтобы убедиться, что в него включены последние изменения.

  2. Запустите MCP Inspector с запущенным сервером NASA MCP

  3. Позволяет интерактивно тестировать все API NASA.

Примеры тестовых запросов

Репозиторий содержит примеры тестовых запросов для каждого API, которые можно скопировать и вставить в MCP Inspector:

# View the example test requests cat docs/inspector-test-examples.md

Подробные примеры см. в документе «Примеры тестов инспектора» .

Использование клиента 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" } });

Внося вклад

  1. Форк репозитория

  2. Создайте свою ветку функций

  3. Запуск тестов: npm test

  4. Отправить запрос на извлечение

Лицензия

Лицензия ISC — подробности см. в файле ЛИЦЕНЗИЯ

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