Skip to main content
Glama
AiAgentKarl

space-mcp-server

by AiAgentKarl

Space MCP Server

MCP server giving AI agents access to NASA and space/astronomy data — APOD, Mars rover photos, near-Earth asteroids, exoplanets, Earth imagery, natural events, and space weather.

Features (10 Tools)

Tool

Description

get_astronomy_picture

NASA's Astronomy Picture of the Day (APOD)

search_nasa_images

Search NASA's 140,000+ image/video library

get_exoplanets

Query 5,000+ confirmed exoplanets

get_space_weather

Solar flares, CMEs, geomagnetic storms (DONKI)

get_mars_rover_photos

Real photos from Curiosity, Perseverance, Opportunity, Spirit

get_mars_rover_info

Rover mission status, cameras, photo counts

get_near_earth_objects

Track asteroids approaching Earth (NeoWs)

get_asteroid_details

Orbital data and close approaches for specific asteroids

get_earth_imagery

Full-Earth photos from DSCOVR satellite (EPIC)

get_natural_events

Active wildfires, volcanoes, storms worldwide (EONET)

Related MCP server: NASA-MCP

Quick Start

Install from source

git clone https://github.com/AiAgentKarl/space-mcp-server.git
cd space-mcp-server
python -m venv .venv
.venv/Scripts/activate  # Windows
# source .venv/bin/activate  # Linux/Mac
pip install -e .

Configure

cp .env.example .env
# Edit .env and add your NASA API key (optional, DEMO_KEY works out of the box)

Get a free API key at https://api.nasa.gov/ for higher rate limits.

Run

space-mcp
# or
python -m src.server

Claude Code Integration

Add to your .mcp.json:

{
  "mcpServers": {
    "space": {
      "type": "stdio",
      "command": "path/to/.venv/Scripts/python.exe",
      "args": ["-m", "src.server"],
      "env": {
        "NASA_API_KEY": "your-api-key-here"
      }
    }
  }
}

API Sources

API

Key Required

Rate Limit

NASA API (APOD, Mars, NeoWs, DONKI)

Yes (DEMO_KEY works)

30/hour (DEMO), 1000/hour (registered)

EPIC

No

No limit

EONET

No

No limit

NASA Image Library

No

No limit

Exoplanet Archive

No

No limit

Architecture

src/
├── server.py          # FastMCP server entry point
├── config.py          # Settings & environment variables
├── analytics.py       # Usage tracking
├── clients/
│   ├── nasa.py        # NASA API (APOD, Mars, NeoWs, DONKI)
│   ├── epic.py        # EPIC Earth imagery
│   ├── eonet.py       # EONET natural events
│   ├── nasa_images.py # NASA Image Library
│   └── exoplanet.py   # Exoplanet Archive
└── tools/
    ├── astronomy.py   # APOD, image search, exoplanets, space weather
    ├── mars.py        # Mars rover photos & info
    ├── asteroids.py   # Near-Earth objects & asteroid details
    └── earth.py       # EPIC imagery & natural events

More MCP Servers by AiAgentKarl

Category

Servers

🔗 Blockchain

Solana

🌍 Data

Weather · Germany · Agriculture · Space · Aviation · EU Companies

🔒 Security

Cybersecurity · Policy Gateway · Audit Trail

🤖 Agent Infra

Memory · Directory · Hub · Reputation

🔬 Research

Academic · LLM Benchmark · Legal

→ Full catalog (40+ servers)

License

MIT

Available Tools

11 tools
get_asteroid_detailsA

Detaillierte Informationen zu einem bestimmten Asteroiden.

Zeigt Orbitalparameter, alle nahen Vorbeiflüge und physische Daten.

Args: asteroid_id: NEO-Referenz-ID (z.B. "3542519" für Bennu)

ParametersJSON Schema
NameRequiredDescriptionDefault
asteroid_idYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description describes the output but lacks details on rate limits, auth requirements, or side effects. For a read-only tool, it is adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus args, front-loaded with purpose. No wasted words. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 param, no output schema), description is complete enough. It tells what it does, what it returns, and the parameter meaning. Could mention output format but not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, but the description explains the parameter 'asteroid_id' as NEO reference ID with an example, adding meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states 'Detailed information about a specific asteroid' and lists what it shows (orbital parameters, close approaches, physical data). Differentiated from siblings like 'get_near_earth_objects' which lists NEOs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage for a single asteroid's details, but no explicit when-to-use or alternatives mentioned. Could be improved by stating not to use for list queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_astronomy_pictureA

Astronomy Picture of the Day (APOD) abrufen.

NASAs berühmtes tägliches Astronomiebild mit Erklärung. Ohne Parameter: heutiges Bild. Mit Datum: bestimmter Tag. Mit count: mehrere zufällige Bilder.

Args: date: Bestimmtes Datum im Format YYYY-MM-DD (optional) count: Anzahl zufälliger Bilder (1-100, optional)

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
countNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description adequately discloses that the tool returns the APOD image and explanation, and that behaviors change based on parameters. No mention of destructive actions or permissions, which is acceptable for a read-only tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear structure: brief intro, parameterless behavior, then optional parameters. Every sentence is informative and no redundant wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description covers purpose and parameters, it lacks details about the return value structure (e.g., fields like URL, title, explanation). Given no output schema, this omission leaves the agent uncertain about what data to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only provides types and titles (0% coverage), but the description adds critical meaning: date format YYYY-MM-DD and count range 1-100. This fully compensates for the schema gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Astronomy Picture of the Day (APOD) abrufen' and explains three distinct usage modes (no param, date, count), distinguishing it from sibling tools like get_asteroid_details or get_mars_rover_photos.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly outlines when to use each parameter (today, specific day, random images), but does not provide guidance on when not to use this tool or compare with alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_earth_imageryA

Echte Fotos der Erde von NASAs DSCOVR-Satellit (EPIC-Kamera).

Liefert Bilder der ganzen Erde aus 1,5 Millionen km Entfernung am Lagrange-Punkt L1. Zeigt Wolken, Kontinente und Ozeane.

Args: date: Bestimmtes Datum YYYY-MM-DD (optional, Standard: neueste) limit: Maximale Anzahl Bilder (Standard: 5, Maximum: 20)

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNo
limitNo

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses the satellite, distance, and content. It does not mention rate limits, authentication, or potential errors, but for a simple image retrieval tool, the level is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two short paragraphs plus an Args section. Every sentence adds value, and the essential information is front-loaded. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains the tool returns images but does not specify the response format (e.g., URLs vs binary). It fully documents input parameters but lacks output structure details, which is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema coverage, the description adds full meaning for both parameters: date (format YYYY-MM-DD, optional, default latest) and limit (type integer, default 5, max 20). This compensates completely for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves real Earth photos from NASA's DSCOVR satellite (EPIC camera), specifying the satellite, location (L1), and content (clouds, continents, oceans). This distinguishes it from sibling tools like get_exoplanets or get_mars_rover_photos.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context about the tool's unique source and output, implying when to use it (for Earth imagery from DSCOVR). It does not explicitly state when not to use it or mention alternatives, but the specificity makes it sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_exoplanetsB

Bestätigte Exoplaneten aus NASAs Exoplanet Archive suchen.

Durchsucht die Datenbank mit über 5.000 bestätigten Exoplaneten.

Args: discovery_year: Entdeckungsjahr filtern (z.B. 2024) discovery_method: Entdeckungsmethode (z.B. "Transit", "Radial Velocity") min_mass: Mindestmasse in Jupitermassen (optional) max_mass: Maximalmasse in Jupitermassen (optional) limit: Maximale Anzahl Ergebnisse (Standard: 20, Maximum: 50)

ParametersJSON Schema
NameRequiredDescriptionDefault
discovery_yearNo
discovery_methodNo
min_massNo
max_massNo
limitNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden. It mentions that it searches a database of over 5,000 confirmed exoplanets and lists parameters with defaults (e.g., limit default 20, max 50). However, it does not explicitly state that the operation is read-only or disclose any rate limits or side effects. The read-only nature is implied but not confirmed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: one introductory sentence and a bullet-like list of parameters. However, the parameter descriptions are on separate lines without bullets, making it slightly less structured than ideal. Still, it is efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description is incomplete. It does not describe the return format (e.g., fields of an exoplanet record) or pagination behavior beyond the limit parameter. The agent lacks information on what data the tool returns, which is critical for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description completely compensates. It describes each parameter with units (Jupitermassen for masses), examples (e.g., 2024 for year, 'Transit' for method), and optionality. However, it does not enumerate all possible values for discovery_method, which would improve semantics slightly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that this tool searches for confirmed exoplanets from NASA's Exoplanet Archive, mentioning a database of over 5,000 exoplanets. The verb 'suchen' (search) and resource 'Exoplaneten' are specific. However, it does not explicitly state that it returns a list of exoplanet records, which would further clarify the output.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of when not to use it or which sibling tools might be more appropriate for related queries (e.g., asteroid details, Mars rover). The description only states what the tool does, not the context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mars_rover_infoA

Missionsinformationen eines Mars-Rovers abrufen.

Zeigt Status, Landedatum, Gesamtanzahl Fotos und Kamera-Liste.

Args: rover: Rover-Name — "curiosity", "perseverance", "opportunity" oder "spirit"

ParametersJSON Schema
NameRequiredDescriptionDefault
roverNocuriosity

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries the full burden. It discloses that the tool returns status, landing date, total photos, and camera list, which is sufficient understanding for a read-only info retrieval tool. However, it does not explicitly state that it is read-only or describe any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (three lines) and front-loaded with the main purpose. Every sentence adds value, and the argument specification is clearly separated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains what information is returned (status, landing date, total photos, camera list). It also documents the allowed parameter values. This is sufficient for an agent to decide whether to use the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has a single parameter with a default but no description. The tool's description adds full meaning: it lists the allowed rover names ('curiosity', 'perseverance', 'opportunity', 'spirit') and clarifies that it is the rover name. This compensates for the 0% schema description coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves mission information (status, landing date, total photos, camera list) for a Mars rover. It also mentions specific rover names, and the sibling tool get_mars_rover_photos indicates differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus related alternatives like get_mars_rover_photos. The description does not specify prerequisites or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mars_rover_photosA

Fotos von Mars-Rovern abrufen.

Zeigt echte Fotos von der Marsoberfläche. Ohne sol/earth_date: neueste verfügbare Fotos.

Args: rover: Rover-Name — "curiosity", "perseverance", "opportunity" oder "spirit" sol: Mars-Sol (Marstag seit Landung, z.B. 1000) earth_date: Erddatum im Format YYYY-MM-DD (alternativ zu sol) camera: Kamera-Kürzel (z.B. "FHAZ", "RHAZ", "MAST", "NAVCAM", "CHEMCAM") limit: Maximale Anzahl Fotos (Standard: 10, Maximum: 25)

ParametersJSON Schema
NameRequiredDescriptionDefault
roverNocuriosity
solNo
earth_dateNo
cameraNo
limitNo

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must bear full burden. It mentions the tool returns real photos and default behavior, but does not disclose rate limits, pagination, or error handling for conflicting parameters (e.g., both sol and earth_date).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with a clear structure: a one-line summary, a note on default behavior, and a list of arguments. No waste, though could be slightly more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, no output schema, and no annotations, the description adequately explains parameters but omits return format and potential error conditions. It is complete enough for basic use but leaves some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description lists all parameters with meaningful explanations (e.g., rover names, sol definition, earth_date format, camera examples, limit with default and max). This adds significant value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves photos from Mars rovers, and the sibling tools (e.g., get_mars_rover_info, get_asteroid_details) are distinct, so the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains fallback behavior when no sol/earth_date is given, but does not explicitly mention when to use this tool over alternatives (though sibling names make it obvious).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_natural_eventsA

Aktuelle Naturereignisse weltweit abrufen (EONET).

Zeigt aktive Waldbrände, Vulkanausbrüche, Stürme, Überschwemmungen und andere Naturkatastrophen mit Koordinaten und Zeitstempel.

Args: category: Kategorie — "wildfires", "volcanoes", "severeStorms", "seaLakeIce", "earthquakes", "floods", "landslides" (optional) status: "open" (aktive Events) oder "closed" (beendete) days: Events der letzten N Tage (optional) limit: Maximale Anzahl Events (Standard: 20, Maximum: 50)

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo
statusNoopen
daysNo
limitNo

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that the tool retrieves event data (read operation), explains the meaning of status (open/closed), and mentions coordinate and timestamp output. It does not mention auth, rate limits, or side effects, but as a read-only tool, this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured. It starts with a clear one-line purpose, followed by a bullet list of parameters with explanations. Every sentence adds value with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 4 optional parameters and no output schema, the description covers all input semantics and mentions return format (coordinates and timestamps). It is complete for the tool's complexity, though an explicit output schema or example would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate entirely. It provides full semantics for all 4 parameters: category values list, status options, days as time range, and limit with default and maximum. This far exceeds the schema's minimal type info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves current natural events worldwide using EONET, with specific categories like wildfires, volcanoes, storms, etc. It is a specific verb+resource combination and clearly distinguishes from sibling tools (space/NASA topics).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains parameter usage (category, status, days, limit) and provides default values and constraints. It implies the tool is for retrieving natural events but does not explicitly exclude alternatives or mention when not to use it. Since sibling tools are unrelated, this is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_near_earth_objectsA

Erdnahe Asteroiden in einem Zeitraum abrufen (NeoWs).

Zeigt Asteroiden die der Erde nahe kommen, mit Größe, Geschwindigkeit, Entfernung und Gefahrenbewertung.

Args: start_date: Startdatum im Format YYYY-MM-DD end_date: Enddatum im Format YYYY-MM-DD (optional, max. 7 Tage Spanne)

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateYes
end_dateNo

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states that the tool returns size, speed, distance, and hazard assessment for asteroids. However, it does not disclose authentication, rate limits, pagination, or response format. For a simple data retrieval tool, this is adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short, front-loaded with purpose, and uses a clear structure with an 'Args' section. Every sentence adds value: the first states the purpose, the second lists return fields, and the third specifies parameter details. No unnecessary text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description lists key return fields (size, speed, distance, hazard) but does not mention response structure, array vs single object, or error handling. For a tool with 2 simple parameters and no nested objects, the description provides a basic understanding but lacks full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema only provides parameter names and types with 0% description coverage. The description adds significant meaning by specifying date format (YYYY-MM-DD), that end_date is optional with a max 7-day span from start_date, and that start_date is required. This clarifies usage beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Erdnahe Asteroiden in einem Zeitraum abrufen (NeoWs).' This clearly identifies the specific verb (abrufen) and resource (Erdnahe Asteroiden) and distinguishes it from siblings like get_asteroid_details by focusing on a date range search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the date range constraint (max 7 days) and that start_date is required, but it does not provide explicit guidance on when to use this tool versus siblings like get_asteroid_details or search_nasa_images. Usage context is implied but not elaborated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_space_weatherA

Aktuelle Weltraumwetter-Daten von NASAs DONKI abrufen.

Zeigt Sonneneruptionen, koronale Massenauswürfe (CME) und geomagnetische Stürme. Wichtig für Satellitenoperationen und Polarlicht-Vorhersagen.

Args: start_date: Startdatum YYYY-MM-DD (Standard: letzte 7 Tage) end_date: Enddatum YYYY-MM-DD (optional) event_type: "all", "cme" (Massenauswürfe), "flare" (Eruptionen) oder "storm" (geomagnetische Stürme)

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateNo
end_dateNo
event_typeNoall

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions default behavior for start_date (last 7 days) but lacks details on rate limits, data freshness, pagination, error handling, or whether the tool is read-only. Safety implications are not addressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: a one-line summary, a list of event types, and a clear args section. Every sentence adds value, though it is slightly verbose for the args format.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should explain return values. It lists the types of data shown (flares, CMEs, storms) but not the format, structure, or any error handling. It is adequate but lacks detail on the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds significant meaning: it explains start_date default (last 7 days), end_date as optional, and event_type enumerated values (all, cme, flare, storm). This clarifies usage beyond the schema's property names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves current space weather data from NASA's DONKI, listing specific data types (solar flares, CMEs, geomagnetic storms) and context (satellite operations, aurora forecasts). This distinguishes it from sibling tools like get_asteroid_details or get_earth_imagery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides usage context (important for satellite operations and aurora forecasts) but does not explicitly state when not to use this tool or compare it with alternatives. The guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_usage_statsA

Nutzungsstatistiken des MCP-Servers abrufen.

Zeigt: Gesamtanzahl Tool-Aufrufe, Aufrufe pro Tool, erster und letzter Aufruf.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It correctly identifies the tool as retrieving statistics, implying a read-only operation. However, it does not explicitly state that it is non-destructive or describe any side effects, but the nature is clear from the context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: two short sentences, front-loaded with the action, with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description provides adequate information about what is displayed. It could mention whether the statistics are cumulative or reset, but overall it is sufficient for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is empty (no parameters), so schema description coverage is 100% trivially. The description adds value by explaining what the tool returns, going beyond the schema which offers no information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Nutzungsstatistiken des MCP-Servers abrufen' (retrieve usage statistics of the MCP server) and lists the specific metrics shown (total calls, per tool, first and last call). This distinguishes it from sibling tools which all deal with NASA data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives is provided. However, the description implies its use case (retrieving server usage stats), and since all siblings are unrelated NASA tools, the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_nasa_imagesA

NASAs Bild- und Video-Bibliothek durchsuchen (140.000+ Medien).

Findet Bilder, Videos und Audiodateien aus NASAs gesamtem Archiv.

Args: query: Suchbegriff (z.B. "apollo 11", "mars landing", "hubble nebula") media_type: Medientyp — "image", "video" oder "audio" (optional) year_start: Ergebnisse ab diesem Jahr (optional) year_end: Ergebnisse bis zu diesem Jahr (optional) page_size: Anzahl Ergebnisse (Standard: 10, Maximum: 100)

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
media_typeNo
year_startNo
year_endNo
page_sizeNo

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It mentions page_size maximum of 100 but lacks details on pagination, rate limits, or how results are returned. This is insufficient for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear opening sentence, a brief note about coverage, and a bulleted list of arguments. It is front-loaded and efficient, though the arg list could be more tightly integrated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, and the description does not explain the return format or pagination behavior. For a search tool with 5 parameters, it should be more complete to guide the agent on what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 5 parameters are described with meaning beyond the schema: query with examples, media_type with allowed values, year_start/end for date filtering, page_size with default and max. Since schema description coverage is 0%, the description adds significant value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: searching NASA's image and video library with over 140,000 media. It explicitly mentions 'Bild- und Video-Bibliothek' and differentiates from sibling tools like get_asteroid_details or get_mars_rover_info, which are more specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for general NASA media search but does not explicitly state when to use this tool over siblings or when not to use it. No alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 11 tool updatesv0.1.0
    • First observedget_asteroid_details
    • First observedget_astronomy_picture
    • First observedget_earth_imagery
    • First observedget_exoplanets
    • First observedget_mars_rover_info
    • First observedget_mars_rover_photos
    • First observedget_natural_events
    • First observedget_near_earth_objects
    • First observedget_space_weather
    • First observedget_usage_stats
    • First observedsearch_nasa_images

TDQS

A3.9/5.0
Disambiguation5/5

Each tool targets a distinct space-related domain (asteroids, APOD, Earth imagery, exoplanets, Mars rovers, natural events, NEO, space weather, usage stats, NASA image search). No two tools have overlapping purposes.

Naming Consistency4/5

All tools follow a consistent verb_noun pattern in snake_case, with most using 'get_'. The exception is 'search_nasa_images' which uses 'search_' instead of 'get_', a minor deviation.

Tool Count5/5

With 11 tools, the server covers a broad range of space data without being overwhelming. Each tool serves a clear, non-redundant purpose, making the count appropriate for the scope.

Completeness4/5

The tool set covers major NASA data sources (APOD, Mars photos, NEO, space weather, natural events, image search) but lacks coverage of satellite tracking, deep space missions, or planetary facts. Minor gaps but functional for common tasks.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    A Model Context Protocol server that provides a standardized interface for AI models to interact with NASA's vast array of data sources including APOD, Mars Rover photos, satellite imagery, and space weather data.
    23
    52
    92
    ISC
  • A
    license
    B
    quality
    C
    maintenance
    An MCP server that enables LLMs to query data from various NASA APIs, allowing access to astronomical data, space weather information, Earth imagery, and exoplanet information directly from compatible AI clients.
    21
    6
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Multi-Agent Conversation Protocol server for accessing NASA's Astronomy Picture of the Day (APOD) API, allowing users to retrieve space imagery and related information through natural language interactions.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that fetches NASA's Astronomy Picture of the Day (APOD) for a given date, returning title, explanation, and image URLs.
    -

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/AiAgentKarl/space-mcp-server'

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