Skip to main content
Glama

solar-mcp

PyPI MCP Registry

MCP server for space weather and HF propagation conditions — live solar flux, Kp index, DSCOVR solar wind, X-ray flux, alerts, 27-day forecast, and band-by-band outlook through any MCP-compatible AI assistant.

Part of the qso-graph project. No authentication required — all data from NOAA SWPC public endpoints.

Version drift? If the PyPI and MCP Registry badges show different versions, the Registry is catching up to the latest PyPI release on this server's next tag. Forward-only sync — we don't tag content-free releases just to sync. See qso-graph/.github TEMPLATES.md for the sync mechanism.

Install

pip install solar-mcp

Related MCP server: io.github.qso-graph/ionis-mcp

Tools

Tool

Description

solar_conditions

Current SFI, Kp, and NOAA R/S/G space weather scales

solar_forecast

27-day SFI and Kp forecast from NOAA

solar_alerts

Active space weather alerts and warnings

solar_wind

Real-time DSCOVR L1 solar wind (Bz, speed, density)

solar_xray

GOES X-ray flux and solar flare classification

solar_band_outlook

HF band-by-band propagation assessment (160m-6m)

get_version_info

Service version + upstream spec version (fleet identity attestation)

Quick Start

No credentials needed — just install and configure your MCP client.

Configure your MCP client

Claude Desktop

Add to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):

{
  "mcpServers": {
    "solar": {
      "command": "solar-mcp"
    }
  }
}

Claude Code

Add to .claude/settings.json:

{
  "mcpServers": {
    "solar": {
      "command": "solar-mcp"
    }
  }
}

ChatGPT Desktop

{
  "mcpServers": {
    "solar": {
      "command": "solar-mcp"
    }
  }
}

Cursor

Add to .cursor/mcp.json (project-level) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "solar": {
      "command": "solar-mcp"
    }
  }
}

VS Code / GitHub Copilot

Add to .vscode/mcp.json in your workspace:

{
  "servers": {
    "solar": {
      "command": "solar-mcp"
    }
  }
}

Gemini CLI

Add to ~/.gemini/settings.json (global) or .gemini/settings.json (project):

{
  "mcpServers": {
    "solar": {
      "command": "solar-mcp"
    }
  }
}

Ask questions

"What are the current solar conditions?"

"Is the solar wind causing any geomagnetic disturbance?"

"What's the 27-day solar forecast look like?"

"Are any bands open right now on HF?"

"Are there any active space weather alerts?"

"What class solar flare is happening?"

Testing Without Network

SOLAR_MCP_MOCK=1 solar-mcp

MCP Inspector

solar-mcp --transport streamable-http --port 8008

Development

git clone https://github.com/qso-graph/solar-mcp.git
cd solar-mcp
pip install -e .

License

GPL-3.0-or-later

Available Tools

7 tools
get_version_infoA

Get solar-mcp service version and upstream spec version.

Returns the running PyPI version of solar-mcp and the NOAA SWPC endpoint set revision currently in use. Use this to confirm fleet alignment across MCP deployments — agents can compare service_version and spec_version across servers to detect drift without going outside the MCP protocol.

Returns: service_name, service_version (PyPI), and spec_version (NOAA SWPC endpoint set).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description fully discloses it is a read-only operation returning version info, with details on return fields and source.

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?

Concise and front-loaded, though the returns section could be slightly more compact.

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 simplicity and output schema, the description covers purpose, usage, and return values completely.

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?

No parameters exist, but the description adds value by explaining the returned fields beyond the empty 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 returns solar-mcp service version and upstream spec version, distinct from sibling tools that provide solar data.

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

Usage Guidelines5/5

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

Explicitly describes usage for confirming fleet alignment across MCP deployments by comparing versions, providing clear context.

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

solar_alertsA

Get active NOAA space weather alerts and warnings.

Shows current solar flare alerts, geomagnetic storm warnings, radiation storm alerts, and other SWPC bulletins.

Returns: List of active alerts with product ID, issue time, and message text.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description alone conveys the tool's read-only nature (no side effects). It lists the types of alerts and the return structure, which is sufficient for a simple retrieval tool but does not disclose any potential rate limits or freshness of data.

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 three concise sentences: the first states the main purpose, the second lists examples, and the third describes the return value. No redundant information, and it is well-structured.

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 (no parameters) and the existence of an output schema (which defines return values), the description is complete enough. It specifies the output fields (product ID, issue time, message text). Could add details on data freshness or pagination, but not necessary for this straightforward tool.

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 tool has no parameters (0 params), so the baseline is 4. The description appropriately focuses on the purpose and output, requiring no additional parameter clarification.

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 function: 'Get active NOAA space weather alerts and warnings.' It uses a specific verb ('Get') and resource ('active NOAA space weather alerts'), and lists examples of alert types, distinguishing it from siblings like solar_conditions and solar_forecast.

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 implies usage for retrieving current alerts and warnings, but does not explicitly state when to use this tool over alternatives or provide any exclusions. It is clear for its intended use but lacks comparative guidance.

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

solar_band_outlookA

Get HF band-by-band propagation outlook based on current conditions.

Derives a propagation assessment for each HF band (160m through 6m) from the current SFI and Kp values. Useful for deciding which band to operate on right now.

Returns: Per-band condition rating (Poor/Fair/Good/Excellent) with explanation, plus current SFI and Kp values.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 the full burden. It explains the derivation from SFI/Kp and the return values (per-band rating, explanation, current SFI/Kp), implying a read-only computation. No contradictory or missing behavioral traits are apparent.

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 two paragraphs, front-loading the main action in the first sentence. Every sentence adds value: purpose, derivation context, usage guidance, and return structure. No fluff.

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 parameters and an existing output schema, the description covers all necessary context: it explains the input (current SFI/Kp implicitly from system), the per-band output (rating and explanation), and the additional SFI/Kp values. It is complete for a simple read-only tool.

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 tool has zero parameters, so the baseline is 4. The description does not need to add parameter semantics, and it correctly implies no inputs are required.

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 a specific verb 'Get' and resource 'HF band-by-band propagation outlook', clearly indicating the tool's purpose. It distinguishes itself from sibling tools like solar_alerts or solar_forecast by focusing on current propagation per HF band (160m-6m) using SFI and Kp values.

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 advises 'Useful for deciding which band to operate on right now', providing clear context for immediate use. It does not explicitly exclude alternative tools or state when not to use, but the reference to 'current conditions' implicitly sets boundaries.

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

solar_conditionsA

Get current solar conditions — SFI, Kp, and NOAA space weather scales.

Returns the latest 10.7 cm solar flux index (SFI), planetary Kp index, and NOAA R/S/G scales (radio blackout, solar radiation, geomagnetic storm). Includes an HF band outlook derived from current indices.

Returns: Current SFI, Kp, NOAA scales, and band-by-band propagation outlook.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, description fully discloses that it returns current conditions and specifies the data fields. No behavioral traits beyond read-only are needed; description 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?

Two short paragraphs front-loaded with purpose, no fluff. Every sentence adds value.

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?

For a simple, parameterless tool with an output schema, description covers all relevant return values and purpose sufficiently.

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?

Zero parameters with empty schema; description adds full meaning by listing exactly what is returned, exceeding the baseline of 4 by providing rich context.

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?

Clearly states verb 'Get', resource 'solar conditions', and enumerates specific indices (SFI, Kp, NOAA scales, HF band outlook). Differentiates from siblings that focus on alerts, forecasts, or specific data types.

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?

Implies usage for current conditions overview without explicit when-not-to-use or alternatives. Context from sibling names provides differentiation, but description lacks direct guidance.

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

solar_forecastA

Get the NOAA 27-day solar flux and geomagnetic forecast.

Shows predicted SFI and Kp values for the next 27 days, useful for planning DX operations, contests, and POTA/SOTA activations.

Returns: Day-by-day forecast with predicted SFI and Kp values.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/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 full burden. It explains the return value (day-by-day forecast with SFI and Kp), which is helpful. It does not discuss authentication, rate limits, or data freshness, but given the simple read operation, it 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 and well-structured: a one-line purpose, a contextual sentence, and a return description. 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?

For a zero-parameter tool with an output schema, the description is fairly complete. It covers purpose, use cases, and return content. It could optionally mention units or granularity, but this is likely covered by the output schema.

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?

There are no parameters, so parameter semantics are not needed. The description correctly adds no parameter information. Baseline of 4 is appropriate.

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 provides a 27-day solar flux and geomagnetic forecast from NOAA, specifying the data (SFI and Kp values) and intended uses like DX operations. It distinguishes from siblings like solar_alerts and solar_conditions by focusing on the forecast aspect.

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 mentions it is useful for planning activities, providing clear context. However, it does not explicitly state when not to use it or compare with alternatives, leaving some ambiguity among the sibling solar tools.

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

solar_windA

Get real-time DSCOVR L1 solar wind data.

Shows interplanetary magnetic field (Bz component), solar wind speed, and proton density from the DSCOVR satellite at L1 (~1.5M km sunward). Southward Bz (negative) drives geomagnetic storms.

Returns: Bz (nT), Bt (nT), wind speed (km/s), density (p/cm³), and geomagnetic storm assessment.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations exist, so the description carries full burden. It states the source (DSCOVR at L1), data fields, and a scientific context. However, it omits details on update frequency, latency, or whether data is cached. As a read-only data fetch, the behavior is adequately outlined.

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: a summary line, one key explanatory note, and a bulleted return list. No superfluous words; essential information is front-loaded.

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 an existing output schema, the description provides the key data fields, source, and a scientific note. It is largely complete but could mention data update frequency or real-time latency for 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?

There are zero parameters, so schema coverage is 100%. The description adds value by explaining the output fields and their scientific relevance, which is the primary context needed beyond the empty 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 'real-time DSCOVR L1 solar wind data' and lists specific fields (Bz, Bt, wind speed, density, storm assessment). This verb+resource combination distinguishes it from sibling tools like solar_forecast or solar_xray.

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 use for monitoring geomagnetic storms via the Bz component note, but lacks explicit guidance on when to use this tool over siblings or when not to use it. No alternatives or exclusion criteria are mentioned.

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

solar_xrayA

Get GOES X-ray flux and solar flare status.

Shows the current X-ray classification (A, B, C, M, X) from GOES satellite data. M and X class flares can cause HF radio blackouts.

Returns: Current flare class, X-ray flux, and HF impact assessment.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/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 explains the output includes current flare class, X-ray flux, and HF impact assessment, and provides context on the classification scale and effects. However, it does not mention whether the data is from a specific satellite or update frequency.

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 two short paragraphs. The first sentence front-loads the main action, and the rest adds necessary context without unnecessary words.

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 parameters and an output schema (exists), the description sufficiently explains the return values, including the classification and HF impact. It is complete for a simple data retrieval 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?

There are no parameters, so the description adds all meaning beyond the empty schema. It clearly explains what the tool returns and the significance of the X-ray classification.

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 GOES X-ray flux and solar flare status, specifying the X-ray classification (A, B, C, M, X) and the impact of M/X flares on HF radio blackouts. This distinguishes it from sibling tools like solar_alerts or solar_forecast.

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 the tool is for current solar flare status but does not explicitly state when to use it over alternatives like solar_alerts or solar_conditions. No when-not-to-use guidance is provided.

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

TDQS

A4.3/5.0
Disambiguation5/5

Each tool covers a distinct aspect of solar and space weather data—alerts, current conditions, forecasts, wind, X-ray flux, propagation outlook, and version info. There is minor overlap between solar_band_outlook and solar_conditions (both include HF outlook), but descriptions and primary outputs clearly differentiate them.

Naming Consistency4/5

Six of seven tools follow a consistent 'solar_<noun>' pattern (solar_alerts, solar_conditions, etc.). The outlier is 'get_version_info', which uses a verb_noun style and breaks the prefix convention. This small inconsistency prevents a perfect score.

Tool Count5/5

With 7 tools covering alerts, current conditions, forecasts, wind, X-ray flux, and propagation outlook, the set is well-scoped for the domain. No tool feels extraneous, and the count is typical for a focused data-providing MCP server.

Completeness4/5

The tool surface covers the core needs of an agent interested in HF propagation: current indices, alerts, forecast, solar wind, and X-ray data. Minor gaps exist, such as the lack of sunspot number or solar imagery, but these are not essential for the server's stated purpose.

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
    Not graded
    quality
    D
    maintenance
    Provides real-time NOAA space weather data (solar flares, Kp index, solar wind) and analyzes HF radio propagation conditions for amateur radio operators to determine optimal frequency bands.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for HamQTH.com — callsign lookup, DX cluster spots, Reverse Beacon Network, DXCC resolution, and more through any MCP-compatible AI assistant.
    8
    GPL 3.0
  • A
    license
    A
    quality
    F
    maintenance
    MCP server for QRZ.com — callsign lookups, DXCC entity resolution, and logbook queries through any MCP-compatible AI assistant.
    6
    2
    GPL 3.0

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/qso-graph/solar-mcp'

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