Skip to main content
Glama
rajkksns

Space Explorer MCP Server

by rajkksns
README.md
# 🚀 Space Explorer MCP Server

A custom MCP server that connects Kiro to live space data — NASA APIs and real-time ISS tracking. Ask Kiro about astronauts in space, the ISS position, today's asteroid flyby, or NASA's picture of the day.

## One-Sentence Summary

A custom MCP server that gives Kiro real-time access to NASA's Astronomy Picture of the Day, live ISS tracking coordinates, crew currently in space, near-Earth asteroid data, and ISS visibility predictions.

## What It Connects To

| API | Data | Free? |
|-----|------|-------|
| [Open Notify - People in Space](http://api.open-notify.org/astros.json) | Astronauts currently in orbit | ✅ No key needed |
| [Open Notify - ISS Location](http://api.open-notify.org/iss-now.json) | Real-time ISS lat/lon | ✅ No key needed |
| [NASA APOD](https://api.nasa.gov/) | Astronomy Picture of the Day | ✅ Free DEMO_KEY |
| [NASA NeoWs](https://api.nasa.gov/) | Near-Earth asteroids today | ✅ Free DEMO_KEY |

## Tools Provided

| Tool | Description |
|------|-------------|
| `get_people_in_space` | Who's in space right now? Names + spacecraft |
| `get_iss_location` | Real-time ISS coordinates + Google Maps link |
| `get_astronomy_picture` | NASA APOD — title, explanation, image URL |
| `get_near_earth_objects` | Asteroids passing near Earth today |
| `get_iss_passes` | When ISS is visible from your location |

## Quick Start

```bash
# Clone
git clone https://github.com/rajkksns/space-explorer-mcp.git
cd space-explorer-mcp

# Install
npm install

# Test (runs the server in stdio mode)
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}' | node server.js
```

## Configure in Kiro

Add to your Kiro MCP settings (`.kiro/settings.json` or user MCP config):

```json
{
  "mcpServers": {
    "space-explorer": {
      "command": "node",
      "args": ["/absolute/path/to/space-explorer-mcp/server.js"],
      "env": {
        "NASA_API_KEY": "DEMO_KEY"
      }
    }
  }
}
```

Then in Kiro chat, ask:
- "Who is currently in space?"
- "Where is the ISS right now?"
- "Show me today's astronomy picture"
- "Are there any asteroids near Earth today?"
- "Can I see the ISS from Coimbatore tonight?"

## Environment Variables

```
NASA_API_KEY=DEMO_KEY    # Optional. Get a free key at https://api.nasa.gov/
```

The server works with `DEMO_KEY` (rate limited to 30 requests/hour). For unlimited access, register for a free NASA API key.

## What This Enables

Without this MCP server, Kiro has no access to:
- Live astronaut crew data that changes with every mission
- Real-time ISS position (updates every second)
- Daily rotating NASA imagery with scientific explanations
- Live asteroid tracking data

With this server, Kiro becomes a space-aware assistant that can answer questions about what's happening in space *right now* — not from training data, but from live APIs.

## Demo

[Video Demo](YOUR_VIDEO_URL)

## Project Built With This Integration

Using the MCP tools, I asked Kiro to generate a "Space Status Dashboard" — a single HTML page that shows:
1. Astronauts currently in space (from `get_people_in_space`)
2. ISS live position on a map (from `get_iss_location`)
3. Today's APOD image (from `get_astronomy_picture`)
4. Nearby asteroids (from `get_near_earth_objects`)

This dashboard could only be built because the MCP server provides Kiro with live data it doesn't have access to otherwise.

## Tech Stack

- **Runtime:** Node.js
- **Protocol:** MCP SDK (`@modelcontextprotocol/sdk`)
- **Transport:** stdio (local MCP server)
- **APIs:** NASA Open APIs + Open Notify
- **Auth:** NASA DEMO_KEY (free, no signup needed)

#BuildWithKiro #TeamKiro