NOAA Space Weather MCP Server

NOAA Space Weather MCP Server

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.

Category
访问服务器

README

NOAA Space Weather MCP Server

License: MIT

アマチュア無線家向けのNOAA宇宙気象データMCPサーバーです。太陽活動データを分析し、HF(短波)のDX伝搬状況を予測するためのツールを提供します。

特徴

  • 🌞 太陽活動データ: 太陽フレア(X線フラックス)、Kp指数、太陽風データをリアルタイムで取得
  • 📡 伝搬分析: 現在の宇宙気象に基づいたHF伝搬状況の分析と推奨バンドの提案
  • 💾 スマートキャッシュ: NOAAサーバーへの負荷を軽減するキャッシュ機構
  • 🔍 クエリ機能: 大きなJSONデータから必要な情報のみを抽出してコンテキストを節約
  • 🐳 Docker対応: コンテナでの簡単なデプロイ

インストール

前提条件

  • Bun 1.1以上
  • Docker(コンテナ利用時)

ローカル開発

# リポジトリをクローン
git clone https://github.com/numa08/noaa-space-weather-mcp.git
cd noaa-space-weather-mcp

# 依存関係のインストール
bun install

# 開発サーバー起動(STDIO)
bun run dev

# HTTP サーバーとして起動
bun run dev:http

Docker

# HTTPモード用イメージのビルド(Bun)
docker build -t numa08/noaa-space-weather-mcp:http .

# STDIOモード用イメージのビルド(Node.js)
docker build -f Dockerfile.stdio -t numa08/noaa-space-weather-mcp:stdio .

# コンテナの起動(HTTPモード)
docker run -p 3000:3000 numa08/noaa-space-weather-mcp:http

# コンテナの起動(STDIOモード)
docker run -i numa08/noaa-space-weather-mcp:stdio

Docker Hubからの利用

# HTTPモード
docker pull numa08/noaa-space-weather-mcp:http
docker run -p 3000:3000 numa08/noaa-space-weather-mcp:http

# STDIOモード
docker pull numa08/noaa-space-weather-mcp:stdio
docker run -i numa08/noaa-space-weather-mcp:stdio

Note: STDIOモードではNode.jsランタイムを使用しています。 これはBunのstdoutバッファリング問題(oven-sh/bun#15893)を 回避するためです。HTTPモードではBunを使用し、高速な起動とレスポンスを実現しています。

MCPサーバーのセットアップ

方法1: STDIOトランスポート(ローカル実行)

ローカル環境でClaude DesktopやClaude Codeと連携する場合に推奨される方法です。

Claude Desktop

claude_desktop_config.json に以下を追加:

{
  "mcpServers": {
    "noaa-space-weather": {
      "command": "bun",
      "args": ["run", "/path/to/noaa-space-weather-mcp/src/index.ts"]
    }
  }
}

Claude Code

# ローカルソースから(Bun使用)
claude mcp add noaa-space-weather -- bun run /path/to/noaa-space-weather-mcp/src/index.ts

# 設定の確認
claude mcp list

方法2: STDIOトランスポート(Docker)

Dockerコンテナを使用してSTDIOモードで接続する方法です。

Claude Desktop

claude_desktop_config.json に以下を追加:

{
  "mcpServers": {
    "noaa-space-weather": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "numa08/noaa-space-weather-mcp:stdio"]
    }
  }
}

Claude Code

# Docker Hub から(Node.js STDIOイメージ)
claude mcp add noaa-space-weather -- docker run -i --rm numa08/noaa-space-weather-mcp:stdio

# 設定の確認
claude mcp list

方法3: HTTPトランスポート(リモート/Docker)

サーバーレス環境やDockerコンテナでの運用に推奨される方法です。 Streamable HTTPトランスポート(ステートレスモード)を使用します。

サーバーの起動

# ローカルで起動
bun run start:http --port 3000

# Dockerで起動
docker run -p 3000:3000 numa08/noaa-space-weather-mcp:http

エンドポイント

エンドポイント メソッド 説明
/mcp POST/GET/DELETE MCP Streamable HTTPエンドポイント
/health GET ヘルスチェック
/stats GET キャッシュ統計

Claude Code(HTTP接続)

# HTTPトランスポートで接続
claude mcp add noaa-space-weather --transport http http://localhost:3000/mcp

# 設定の確認
claude mcp list

動作確認

# ヘルスチェック
curl http://localhost:3000/health

# MCP初期化リクエスト(Streamable HTTP)
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}},"id":1}'

# ツール一覧の取得
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":2}'

利用可能なツール

ツール名 説明
get_space_weather_summary 現在の宇宙気象サマリーを取得
get_xray_flux 太陽フレア(X線フラックス)データを取得
get_kp_index 地磁気活動(Kp指数)データを取得
get_solar_wind 太陽風データを取得
analyze_propagation HF伝搬状況を分析
get_cache_stats キャッシュ統計を表示
clear_cache キャッシュをクリア

クエリの例

# 過去24時間のKp指数を取得(最新10件)
get_kp_index: { "hours": 24, "limit": 10 }

# 特定期間のX線フラックスを取得
get_xray_flux: { "query": "startTime=2024-01-01&endTime=2024-01-07&limit=20" }

# 20mバンドの伝搬分析
analyze_propagation: { "targetBand": "20m" }

アマチュア無線と宇宙気象

Kp指数の解釈

Kp値 状態 HF伝搬への影響
0-2 静穏 良好な伝搬条件
3-4 不安定 軽微な乱れの可能性
5+ 磁気嵐 高緯度で伝搬悪化

太陽フレアの分類

クラス 強度 短波通信への影響
A, B 背景レベル 影響なし
C 小規模 軽微な影響
M 中規模 昼側でフェードアウト
X 大規模 大規模ブラックアウト

開発

# テストの実行
bun run test

# 静的解析
bun run lint

# 型チェック
bun run typecheck

# すべてのチェックを実行
bun run check

ライセンス

MIT License

参考リンク

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选