← Back to search

io.github.qso-graph/ionis-mcp

qso-graph Scanned 28d ago

HF propagation analytics. 175M WSPR/RBN signatures, band openings, solar correlation.

D
59.8 / 100

Versions

1.2.7latest
first seen Jun 5, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 12

get_version_info
annotations: none low

Get ionis-mcp service version and upstream dataset version. Returns the running PyPI version of ionis-mcp and the IONIS SourceForge dataset bundle revision 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 (dataset bundle).

list_datasets
annotations: none low

Show available IONIS datasets and their statistics. Lists all datasets found in the configured data directory with row counts, file sizes, and descriptions. Use this to see what data is available for querying.

query_signatures
annotations: none low

Query propagation signatures with filters. Searches across WSPR, RBN, Contest, DXpedition, and PSKR signature tables. All signature tables share the same 13-column schema. Args: source: "wspr", "rbn", "contest", "dxpedition", "pskr", or "all" band: ADIF band ID (102=160m, 103=80m, 104=60m, 105=40m, 106=30m, 107=20m, 108=17m, 109=15m, 110=12m, 111=10m) tx_grid: TX grid square (4-char like "DN13" or 2-char field like "DN") rx_grid: RX grid square (4-char or 2-char) hour: UTC hour (0-23) month: Month (1-12) min_spots: Minimum spot count filter (default: 5) limit: Max rows returned (default: 100, max: 1000) Returns: Matching signatures with all columns plus source label.

band string hour string limit int month string source str rx_grid string tx_grid string min_spots int
band_openings
annotations: none low

When does a specific band open between two grid squares? Shows propagation hour-by-hour (0-23z) for a grid pair on a given band. Includes spot-count-weighted SNR, reliability, SFI, and solar elevation at both endpoints. Args: tx_grid: Transmitter 4-char Maidenhead grid (e.g., "DN13") rx_grid: Receiver 4-char Maidenhead grid (e.g., "JO51") band: ADIF band ID (102-111) Returns: 24-row hourly profile with SNR, spots, reliability, solar geometry.

band int source str rx_grid str tx_grid str
path_analysis
annotations: none low

Complete analysis of a propagation path across all bands and hours. Provides distance/azimuth, best band/hour combinations ranked by reliability, seasonal patterns, solar geometry, and total observation counts from all available data sources. Args: tx_grid: Transmitter 4-char Maidenhead grid rx_grid: Receiver 4-char Maidenhead grid source: Dataset source or "all"

source str rx_grid str tx_grid str
solar_correlation
annotations: none low

How does solar flux (SFI) affect propagation on a specific band? Groups signatures by SFI bracket and shows spot counts, average SNR, and reliability for each bracket. Higher SFI generally helps HF bands above 30m (F-layer ionization) but hurts bands below 30m (D-layer absorption). Args: band: ADIF band ID (102-111) tx_grid: Optional TX grid to filter (omit for global) rx_grid: Optional RX grid to filter (omit for global) source: Dataset source (default: "wspr")

band int source str rx_grid string tx_grid string
grid_info
annotations: none low

Decode a Maidenhead grid to lat/lon and compute solar elevation. Converts a 4-char or 6-char Maidenhead grid square to geographic coordinates. If hour is provided, computes solar elevation angle with day/twilight/night classification. Args: grid: Maidenhead grid (4-char like "DN13" or 6-char like "DN13la") hour: UTC hour (0-23) for solar elevation calculation month: Month (1-12) for solar elevation (used if day_of_year not given) day_of_year: Day of year (1-366) for precise solar elevation

grid str hour string month string day_of_year string
compare_sources
annotations: none low

Cross-dataset comparison for a path/band. Shows side-by-side data from all available sources (WSPR, RBN, Contest, DXpedition, PSKR) for the same path. Useful for validating observations across independent measurement systems. Args: tx_grid: Transmitter 4-char grid rx_grid: Receiver 4-char grid band: ADIF band ID (102-111) hour: Specific UTC hour (omit for all hours)

band int hour string rx_grid str tx_grid str
dark_hour_analysis
annotations: none low

Classify propagation paths by solar geometry — both-day, cross-terminator, or both-dark. For a given band and hour, retrieves paths and classifies each by the solar elevation at both endpoints. Useful for identifying physically anomalous paths (e.g., 10m both-dark propagation). Args: band: ADIF band ID (102-111) hour: UTC hour (0-23) month: Month (1-12) for solar geometry (default: all months aggregated) source: Dataset source (default: "pskr" for most recent data) min_spots: Minimum spot count filter (default: 10)

band int hour int month string source str min_spots int
solar_history
annotations: none low

Query historical solar indices (SFI, SSN, Kp, Ap) for a date range. Returns solar flux, sunspot number, and geomagnetic indices from the IONIS dataset (GFZ Potsdam and NOAA SWPC, 2000-2026). For live current conditions, use solar-mcp's solar_conditions tool instead. Args: start_date: Start date (YYYY-MM-DD) end_date: End date (YYYY-MM-DD) resolution: "daily" (default) or "3hour" for Kp resolution

end_date str resolution str start_date str
band_summary
annotations: none low

Overview of a band across all hours and available sources. Shows total signatures and spots, hour distribution, top grid pairs, SFI range observed, and distance distribution. Args: band: ADIF band ID (102-111) source: Dataset source or "all"

band int source str
current_conditions
annotations: none low

Live space weather and band conditions — like a morning propagation forecast. Fetches real-time solar flux (SFI), Kp index, solar wind data, and active alerts from NOAA SWPC. Generates an operator-friendly band outlook based on current conditions and historical propagation patterns. Perfect for: "What bands should I use today?" or "Is it worth setting up for POTA/SOTA on 10m?" Args: qth_grid: Your 4-char Maidenhead grid (e.g., "DN13") for solar elevation context. Optional but recommended.

qth_grid string

Permissions 5

database medium
Server uses database capabilities via: sqlite3
env_vars low
Server uses env_vars capabilities via: os.environ
network medium
Server uses network capabilities via: urllib
filesystem low
Server uses filesystem capabilities via: open(), os, pathlib, tempfile
shell high
Server uses shell capabilities via: os.popen(), os.system()

Scan Findings 43

low
Tool 'get_version_info' has no annotations annotation_checker · 100%
low
Tool 'list_datasets' has no annotations annotation_checker · 100%
low
Tool 'query_signatures' has no annotations annotation_checker · 100%
low
Tool 'band_openings' has no annotations annotation_checker · 100%
low
Tool 'path_analysis' has no annotations annotation_checker · 100%
low
Tool 'solar_correlation' has no annotations annotation_checker · 100%
low
Tool 'grid_info' has no annotations annotation_checker · 100%
low
Tool 'compare_sources' has no annotations annotation_checker · 100%
low
Tool 'dark_hour_analysis' has no annotations annotation_checker · 100%
low
Tool 'solar_history' has no annotations annotation_checker · 100%
low
Tool 'band_summary' has no annotations annotation_checker · 100%
low
Tool 'current_conditions' has no annotations annotation_checker · 100%
high
Remote transport without authentication auth_checker · 70%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Vulnerable dependency: fastmcp@3.0 (GHSA-m8x7-r2rg-vh5g) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.0 (GHSA-rww4-4w9c-7733) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.0 (GHSA-vv7q-7jx5-f767) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.0 (PYSEC-2026-2475) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.0 (PYSEC-2026-2476) dependency_analyzer · 95%
medium
Vulnerable dependency: fastmcp@3.0 (PYSEC-2026-338) dependency_analyzer · 95%
info
pyproject.toml metadata manifest_parser · 100%
info
Tool: get_version_info manifest_parser · 90%
info
Tool: list_datasets manifest_parser · 90%
info
Tool: query_signatures manifest_parser · 90%
info
Tool: band_openings manifest_parser · 90%
info
Tool: path_analysis manifest_parser · 90%
info
Tool: solar_correlation manifest_parser · 90%
info
Tool: grid_info manifest_parser · 90%
info
Tool: compare_sources manifest_parser · 90%
info
Tool: dark_hour_analysis manifest_parser · 90%
info
Tool: solar_history manifest_parser · 90%
info
Tool: band_summary manifest_parser · 90%
info
Tool: current_conditions manifest_parser · 90%
info
Transport: streamable-http manifest_parser · 80%
info
Required env vars (2) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 80%
low
Permission: filesystem access detected permission_analyzer · 80%
high
Permission: shell access detected permission_analyzer · 95%
medium
Permission: database access detected permission_analyzer · 90%
low
Permission: env_vars access detected permission_analyzer · 90%
info
No dependency files found for SBOM generation sbom_generator · 100%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%