propagation-mcp
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., "@propagation-mcpAre the HF bands open right now?"
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.
propagation-mcp
An MCP server exposing HF band-condition and space-weather tools backed by NOAA/SWPC's public JSON feeds. Runs over stdio, so any MCP-compatible client (Claude Desktop, Claude Code, etc.) can launch it as a subprocess.
Installation
npx @rmp/propagation-mcpRelated MCP server: io.github.qso-graph/ionis-mcp
Tools
get_band_conditions
No input. Fetches the current 10.7cm Solar Flux Index (SFI), planetary K-index, planetary A-index, and NOAA's current G-scale reading, then runs them through the classic ham-radio SFI/K/A heuristic to produce a per-band (160m/80m/40m/20m/17m/15m/12m/10m) good/fair/poor call with plain-English notes, plus an overall status. Day/night bias in the per-band notes is based on the server's local time (the tool takes no location input).
Example use: "Are the bands open right now?" / "What's a good band for HF right now?"
Returns text like:
Good conditions overall (SFI 145, K 2, A 8, daytime) — high bands should be open, low bands usable.
Per-band:
- 160m: FAIR — 160m is D-layer absorbed during the day...
- ...
- 10m: GOOD — SFI 145 supports good daylight openings on 10m.
Raw inputs: SFI=145 sfu (as of 2026-08-15T20:00:00 UTC), K=2 (as of 2026-08-16T09:00:00 UTC), A=8, NOAA G-scale=0 (none).plus a structuredContent object with the same data machine-readable.
Deliberately stops at 10m — no 6m. 6m (50MHz) is mostly opened by mechanisms this tool has no data for: sporadic E (jet-stream/season driven, essentially uncorrelated with SFI), meteor scatter, TEP, and aurora (which tracks K-index in the opposite direction from HF — high K opens auroral backscatter rather than blacking the band out). True F2-layer openings on 6m do exist but are rare even at high SFI. Extending the existing SFI/K/A heuristic with just a higher SFI threshold for 6m would produce a confidently-wrong answer on the far more common case of Es being wide open while SFI/K say "poor" — worse than not answering at all. A correct 6m tool would need its own data source (e.g. sporadic-E cluster-spot aggregation or foEs ionosonde data, neither of which NOAA/SWPC's feeds used here provide), so it's left out rather than faked.
get_solar_indices
No input. Returns the latest raw SFI, Kp, and A-index values with their NOAA observation timestamps (UTC). Use this when you want the raw numbers rather than an interpreted band-by-band call.
get_kindex_forecast
No input. Returns NOAA's 3-day-ahead planetary K-index forecast table (one row per 3-hour period), each with UTC time, predicted Kp, and NOAA G-scale (when a storm threshold is predicted to be reached).
get_space_weather_alerts
Optional input { limit?: number } (default 5). Returns the N most recent
active NOAA/SWPC alerts/watches/warnings (geomagnetic K-index warnings, radio
blackout alerts, proton flux alerts, etc.), most-recent-first, each with its
product code, UTC issue time, and a short plain-English extract of the
bulletin (not the full raw text dump).
get_solar_wind
No input. Returns the current real-time solar wind reading: interplanetary magnetic field strength (Bt) and its north-south GSM component (Bz — a sustained southward/negative Bz is what actually couples energy into the magnetosphere and tends to precede a Kp rise by 30-60 minutes), plus proton speed, density, and temperature. Bt/Bz come from NOAA's pre-resolved "current" summary endpoints; density/temperature come from the fuller multi-spacecraft feed, filtered to whichever source NOAA currently flags as authoritative (that feed carries several spacecraft — ACE, SOLAR1, IMAP as of writing — at each timestamp, sorted newest-first, so picking the right row takes a touch more care than the other endpoints here).
get_xray_flux
No input. Returns the latest GOES X-ray flux in both channels (long,
0.1-0.8nm; short, 0.05-0.4nm) plus NOAA's own current flare classification
(e.g. "C1.5", standard A/B/C/M/X logarithmic scale) and the most recent
classified flare event's begin/peak/end times and classes. The flare class
is passed through verbatim from NOAA rather than re-derived from raw flux
here — NOAA already computes and publishes it, so re-implementing the
threshold table ourselves would just be a second place for that logic to
drift out of sync with theirs.
Development
npm install
npm run build
npm testTests use Node's built-in test runner (node:test) and stub globalThis.fetch
with real sample NOAA payloads — no network access required.
Using with Claude Desktop / Claude Code
The published package needs no clone or build — point your client straight at it:
{
"mcpServers": {
"propagation": {
"command": "npx",
"args": ["@rmp/propagation-mcp"]
}
}
}To run from a local checkout instead, build first (npm run build) and point
at the built entry point:
{
"mcpServers": {
"propagation": {
"command": "node",
"args": ["/Users/rmp/dev/mcp/propagation-mcp/dist/index.js"]
}
}
}Adjust the path to match where you've cloned this repo. For Claude Desktop
this goes in claude_desktop_config.json; for Claude Code, in your MCP
server configuration (e.g. via claude mcp add or the project's
.mcp.json).
Standalone binaries (no Node, no node_modules)
For deploying to a Raspberry Pi or any other box you don't want carrying a Node install and this whole source tree, the server is also shipped as a single self-contained executable per architecture — the Bun runtime is embedded in the binary, so nothing else needs to be installed on the target.
Every tagged release attaches them, alongside a SHA256SUMS.txt:
gh release download v0.1.0 --pattern 'propagation-mcp-linux-arm64' --pattern 'SHA256SUMS.txt'
sha256sum --check --ignore-missing SHA256SUMS.txt
chmod +x propagation-mcp-linux-arm64To build them yourself, build:standalone compiles straight from
src/index.ts with Bun — one x86-64 machine cross-compiles
all three:
curl -fsSL https://bun.sh/install | bash # one-time, only needed on the build machine
npm run build:standaloneEither way you get:
propagation-mcp-linux-amd64— most Linux boxes / generic x86-64 servers (~91MB)propagation-mcp-linux-arm64— Raspberry Pi 4/5 (64-bit Raspberry Pi OS) and other arm64/aarch64 Linux (~90MB)propagation-mcp-darwin-arm64— Apple Silicon macOS (~62MB)
The size is the embedded Bun runtime, not this package's own code. The macOS
binary is unsigned and unnotarized, so a downloaded copy needs
xattr -d com.apple.quarantine propagation-mcp-darwin-arm64 before Gatekeeper
will run it. Each binary runs with no arguments needed — copy it to the target
and point your MCP client's command straight at it instead of
node .../dist/index.js:
{
"mcpServers": {
"propagation": {
"command": "/home/pi/propagation-mcp-linux-arm64"
}
}
}Both architectures were verified by actually running the compiled binary
under Docker (--platform linux/amd64 / --platform linux/arm64) and
exercising a real MCP handshake, tools/list, and a live get_solar_indices
call against the real NOAA API — not just checking that the binary exists.
Available Tools
6 toolsget_band_conditionsGet HF band conditionsA
Gives a plain-English 'is the radio open' read on HF band conditions right now, per band (160m/80m/40m/20m/17m/15m/12m/10m), derived from NOAA/SWPC's current 10.7cm Solar Flux Index (SFI), planetary K-index, and planetary A-index using the standard ham-radio SFI/K/A heuristic. Use this when asked things like 'are bands open', 'how's propagation', 'what band should I use', or 'is 10m open today' — it returns both a concise summary and the raw SFI/K/A numbers it was derived from. Day/night bias in the per-band notes is based on this server's local time, not the asker's location, since this tool takes no location input — treat that part as approximate for other locations/timezones. This is a coarse heuristic, not a substitute for real MUF/VOACAP modeling of a specific path.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes on the full burden. It discloses key behaviors: returns both a summary and raw SFI/K/A numbers, uses a heuristic formula, and relies on server local time for day/night bias (not the user's location). It also clearly states the approximation caveat. It could be more explicit about output formatting but the core transparency is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact yet information-dense. Each sentence earns its place: functionality, use cases, return contents, and caveats. It is front-loaded with the core purpose and remains readable without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description does a good job of setting expectations: it explains the data sources, the per-band coverage, the day/night bias limitation, and the heuristic nature. It could be slightly more explicit about the output structure (e.g., text vs. structured), but it's sufficient for an agent to understand what it will receive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty schema. Per the baseline for 0 params, a score of 4 is appropriate. The description adds no parameter-related meaning because there are none, and it correctly focuses on what the tool derives and returns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Gives a plain-English read on HF band conditions') and resource (HF bands per frequency), and clearly distinguishes itself from the lower-level sibling tools by focusing on an interpreted 'is the radio open' conclusion. It also lists the specific bands covered, making its scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides when-to-use scenarios ('are bands open', 'how's propagation', 'what band should I use') and a when-not (not a substitute for real MUF/VOACAP modeling). However, it does not name alternative sibling tools explicitly, so agents might not know that get_solar_indices is for raw indices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_kindex_forecastGet 3-day planetary K-index forecastA
Returns NOAA/SWPC's 3-day-ahead planetary K-index (Kp) forecast table, one row per 3-hour period, each with its UTC time, predicted Kp, and NOAA G-scale (if a geomagnetic storm threshold is predicted to be reached). Use this when asked about 'upcoming geomagnetic activity', 'will there be a storm this week', or 'Kp forecast for the next few days' — as opposed to get_solar_indices, which is current conditions only.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the output format (one row per 3-hour period, UTC time, predicted Kp, NOAA G-scale if threshold) which is the key behavioral trait. It does not mention data update frequency or read-only nature explicitly, but those are less critical for a forecast retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, highly efficient. The first sentence front-loads the return content and format; the second provides usage context and sibling differentiation. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, no output schema), the description provides a complete picture: source, forecast horizon, row granularity, columns, and usage cues. Nothing essential is missing for an agent to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds no parameter information because there are none; there is nothing more to explain. The schema is already empty and fully covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifically states the tool returns NOAA/SWPC's 3-day-ahead planetary K-index (Kp) forecast table, with explicit mention of row structure and columns. It also distinguishes itself from sibling get_solar_indices, making the purpose clear and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit when-to-use guidance with example queries ('upcoming geomagnetic activity', 'will there be a storm this week') and explicitly contrasts with get_solar_indices, which is current conditions only. This tells the agent exactly when to select this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_solar_indicesGet latest solar/geomagnetic indicesA
Returns the latest raw space-weather indices used for HF propagation assessment: the 10.7cm Solar Flux Index (SFI, in sfu), the planetary K-index (Kp), and the planetary A-index (running 24h average), each with its NOAA observation timestamp (UTC). Use this when asked for 'the solar flux number', 'current Kp', 'today's A-index', or when you need the raw numbers rather than a band-by-band interpretation (for that, use get_band_conditions instead).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 clearly communicates a read-only retrieval (verb 'Returns'), lists what is returned (SFI, Kp, A-index) and includes provenance (NOAA timestamps). It could further disclose data freshness/availability, but for a simple getter it is adequately transparent. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first front-loads the purpose and output; the second provides usage triggers and a definitive alternative. Every word earns its place, and there is no redundancy with schema or sibling titles.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema and no annotations, the description fully covers what the agent needs to select and invoke it: it defines the return content, units, timestamps, and clarifies the use case versus the sibling tool. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is an empty object. The schema_description_coverage is effectively complete, so the baseline is 4. The description adds no parameter detail because none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Returns the latest raw space-weather indices used for HF propagation assessment' and enumerates the exact indices (SFI, Kp, A-index) with units and timestamps. This is a specific verb+resource, and it clearly distinguishes from sibling get_band_conditions by positioning this tool as raw numbers vs interpretation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use: 'Use this when asked for ''the solar flux number'', ''current Kp'', ''today''s A-index'', or when you need the raw numbers rather than a band-by-band interpretation' and names the alternative tool: 'for that, use get_band_conditions instead'. This is exemplary when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_solar_windGet real-time solar wind conditionsA
Returns the current real-time solar wind reading at L1: interplanetary magnetic field strength (Bt) and its north-south GSM component (Bz, in nT — a sustained strongly negative/southward Bz is what actually couples solar wind energy into the magnetosphere and precedes geomagnetic storms), plus proton speed (km/s), density (protons/cm^3), and temperature (K). Use this when asked 'what's the solar wind doing', 'is Bz south', or when a get_band_conditions/get_kindex_forecast answer needs the upstream driver data explaining why Kp is doing what it's doing — solar wind changes typically precede a Kp response by 30-60 minutes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 the data source (L1), units, physical significance of Bz, and the lag relationship to Kp. It doesn't discuss error states or rate limits, but for a zero-parameter read-only tool this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence followed by a usage sentence. Every clause adds value: the Bz explanation is important for understanding why this data matters. Slightly long, but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description enumerates the return fields fully. It also provides scientific context, units, and usage scenarios, making it self-contained for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 per the rubric. The description focuses on output semantics, which is appropriate since there are no inputs to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') with a clear resource ('current real-time solar wind reading at L1') and enumerates the exact measurements (Bt, Bz, speed, density, temperature). It also differentiates from sibling tools by explaining its role as upstream driver data for Kp forecasts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use scenarios: when asked 'what's the solar wind doing' or 'is Bz south', and when get_band_conditions/get_kindex_forecast answers need upstream driver data. It also adds the 30-60 minute lead time context, which helps an agent reason about temporal relationships.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_space_weather_alertsGet recent space weather alertsA
Returns the N most recent active NOAA/SWPC space-weather alerts, watches, and warnings (e.g. geomagnetic K-index warnings, radio blackout/Type II radio emission alerts, proton flux alerts), most recent first. Each result includes the alert type code, UTC issue time, and a short plain-English extract of the bulletin (not the full raw text). Use this when asked 'any space weather warnings right now', 'is there a solar storm alert', or 'what's the latest SWPC bulletin'.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of most-recent alerts to return. Defaults to 5. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses ordering ('most recent first'), response contents (type code, UTC issue time, short extract not full text), and scoping ('active'). However, it doesn't define 'active' or mention any read-only status explicitly, though it's implied by 'Returns'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, purpose-led, with examples and usage notes. Every word earns its place; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with no output schema, the description covers purpose, return format, ordering, and usage context. The missing default is covered by the schema. Adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with the 'limit' parameter clearly documented (maximum 75, default 5). The description references 'N' but adds no new semantic detail about the parameter beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it returns the N most recent active NOAA/SWPC space-weather alerts, watches, and warnings, with specific examples (geomagnetic K-index warnings, radio blackout alerts). This distinguishes it from sibling tools that provide forecasts, indices, or flux readings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides trigger phrases: 'Use this when asked 'any space weather warnings right now', 'is there a solar storm alert', or 'what's the latest SWPC bulletin'. This gives clear guidance on when to select this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_xray_fluxGet GOES X-ray flux and current flare classA
Returns the latest GOES X-ray flux in both channels (long, 0.1-0.8nm, and short, 0.05-0.4nm, in W/m^2) plus NOAA's own current solar flare classification (e.g. 'C1.5', 'M2.0', 'X1.1' — the standard A/B/C/M/X logarithmic scale, computed by NOAA from the long channel, not re-derived here) and details of the most recent classified flare event (begin/peak/end time and class). X-ray flares cause sudden ionospheric disturbances (SID) — sudden HF absorption/blackout on the sunlit side, distinct from and faster-onset than geomagnetic-storm degradation. Use this when asked 'any solar flares', 'what class is the current flare', or 'is there an X-ray event happening'.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 flare class is NOAA's own computation, not re-derived, and explains the physical context (SID, HF absorption). It doesn't mention latency or error handling, but for a simple 0-parameter read tool, the behavioral context is rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the primary function and every sentence adds value: output specification, physical significance, and use-case triggers. No filler or repetition; three dense but purposeful sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (0 params, no output schema), and the description covers the key aspects: data channels, units, flare classification scale, event details, and use cases. It might omit exact field names or null handling, but for typical use it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so there is no parameter semantics to clarify. The description adds meaning to the output data (channels, units, flare scale), which indirectly helps infer what the tool provides. Baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') and clearly identifies the resource (GOES X-ray flux in both channels, flare classification, and recent flare event details). It distinguishes itself from sibling tools like get_kindex_forecast or get_solar_wind by specifying X-ray flux and flare class.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit use cases are given: 'Use this when asked 'any solar flares', 'what class is the current flare', or 'is there an X-ray event happening''. It also differentiates from geomagnetic-storm degradation, clarifying 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
6 tool updates
v0.1.2- First observed
get_band_conditions - First observed
get_kindex_forecast - First observed
get_solar_indices - First observed
get_solar_wind - First observed
get_space_weather_alerts - First observed
get_xray_flux
TDQS
Each tool targets a distinct aspect of space weather and HF propagation: forecast vs current indices, raw data vs interpretation, and separate tools for solar wind, X-ray flux, and alerts. The descriptions explicitly cross-reference each other to disambiguate purposes (e.g., get_band_conditions vs get_solar_indices), leaving no ambiguity about which to use.
All tool names follow a uniform get_<noun_phrase> pattern (get_kindex_forecast, get_band_conditions, etc.), using snake_case consistently. This makes the set predictable and easy to scan.
Six tools is a well-scoped size for a propagation-focused server. Each tool covers a major data category (forecast, current indices, band interpretation, alerts, solar wind, X-ray events) without redundancy or unnecessary bloat.
The server covers the key data sources needed for HF propagation assessment: solar flux, Kp/A indices, Kp forecast, solar wind drivers, X-ray flare activity, and space weather alerts. The band conditions tool nicely synthesizes the raw inputs into actionable HF guidance. No significant gaps for the stated domain.
Maintenance
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
Hosted MCP server for Xweather weather data: conditions, forecasts, alerts, and more.
1Amateur radio MCP server with band plans, EIRP, cable loss, antenna gains, and more
MCP server for aerospace calculations: orbital mechanics, ephemeris, DSN operations, ...
MCP server exposing live Helldivers 2 galactic war data.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides 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
- AlicenseAqualityDmaintenanceAn MCP server for HF radio propagation analytics using the IONIS dataset collection, enabling natural language queries about band conditions, propagation paths, and solar correlations.12GPL 3.0
- AlicenseAqualityDmaintenanceMCP 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.72GPL 3.0
- AlicenseAqualityCmaintenanceA Model Context Protocol server for space weather and geomagnetic conditions, enabling AI agents to answer queries about solar flares, solar wind, geomagnetic storms, aurora forecasts, and more from authoritative data.15MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/rmp/propagation-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server