mcp-nasa
Provides access to NASA's Astronomy Picture of the Day (APOD) API, allowing retrieval of APOD data including date, title, explanation, image URLs, and copyright information.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-nasaget APOD for 2024-12-25"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
NASA APOD FastAPI + MCP Demo
Production-style mini project with three parts:
FastAPI backend that proxies NASA APOD.
MCP stdio server exposing
nasa_apod_get.Minimal responsive UI served by FastAPI.
Project Structure
app/
api/
models/
services/
static/
mcp_server/
tests/Related MCP server: NASA-MCP
Prerequisites
Python 3.11+
Install
python3 -m venv .venv
source .venv/bin/activate
pip install -U pip
pip install -r requirements.txt
cp .env.example .envSet NASA_API_KEY in .env for production. DEMO_KEY is fallback for local development only.
Run API
make run-api
# or
python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000Health check:
curl http://127.0.0.1:8000/healthAPOD:
curl "http://127.0.0.1:8000/api/nasa/apod?date=2026-03-25"UI:
Open
http://127.0.0.1:8000/
Run MCP Server (stdio)
make run-mcp
# or
python -m mcp_server.serverConnect MCP in OpenCode
Use this snippet in OpenCode MCP config:
{
"mcpServers": {
"nasa-apod": {
"command": "python",
"args": ["-m", "mcp_server.server"],
"cwd": "/absolute/path/to/nasa-mcp-demo",
"env": {
"NASA_API_KEY": "DEMO_KEY"
}
}
}
}Then invoke tool:
nasa_apod_get(date="2026-03-25")Expected output format:
{
"date": "2026-03-25",
"title": "...",
"explanation": "...",
"url": "...",
"hdurl": "...",
"media_type": "image",
"copyright": "..."
}Testing
make test
# or
pytest -qIncludes:
Unit tests for date validation, normalization, and error mapping.
API integration tests for health and APOD success/failure paths.
MCP tests for tool registration and call behavior.
Optional Live NASA Test
Current tests use httpx.MockTransport for stability. Add live tests guarded by env flag if needed.
Troubleshooting
ModuleNotFoundError: ensure virtual environment is active and dependencies installed.502from/api/nasa/apod: verifyNASA_API_KEY, network, and NASA API status.504from/api/nasa/apod: upstream timeout; retry later or increaseNASA_TIMEOUT_SECONDS.MCP tool not discoverable: confirm command runs in project root and MCP config
cwdis correct.
mcp-nasa
mcp-nasa
mcp-nasa
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/varun257/mcp-nasa'
If you have feedback or need assistance with the MCP directory API, please join our Discord server