Skip to main content
Glama
sandraschi

SDR MCP Server

SDR MCPサーバー

Model Context Protocolを介したソフトウェア無線(SDR)の会話型AI制御。

自然な対話を通じてRTL-SDRハードウェアを制御します。スペクトルの照会、周波数のチューニング、放送局データベースの閲覧、リアルタイムのウォーターフォール表示が可能です。Claude Desktop、任意のMCPクライアント、または付属のWebダッシュボードで動作します。


クイックスタート

# Install
pip install sdr-mcp

# Check hardware
sdr-mcp check

# Start server (STDIO mode for Claude Desktop)
sdr-mcp serve

Webダッシュボードの場合:

cd web_sota
npm install
npm run dev

ドキュメント

ドキュメント

内容

INSTALL.md

完全なセットアップ、ドライバー、設定

ARCHITECTURE.md

システム設計、データフロー、トランスポート

MCP_SERVER.md

17個のMCPツールと使用例

SDR_TECHNOLOGY.md

初心者向けの無線基礎知識

RTL_SDR_V4.md

推奨ハードウェア仕様


機能

ハードウェア制御

  • RTL-SDRデバイスの自動検出、初期化、設定

  • 周波数(24 MHz — 1.766 GHz)、ゲイン(自動または手動)の設定

  • リアルタイムのIQサンプルキャプチャとスペクトル処理

スペクトル解析

  • ハミング窓を使用した2048ポイントFFT

  • ピーク検出と信号強度解析

  • 時間変化する信号のためのウォーターフォール履歴(100行)

周波数データベース

  • LW/MW/SW/VHF帯域にわたる11のプリロード済み放送局

  • 現在再生中の情報を含む番組スケジュール

  • radio-browser.infoを介したオンライン検索(25,000局以上)

WebSocketストリーミング

  • Webクライアントへのリアルタイムスペクトルブロードキャスト

  • WebSocketコマンドによるリモート周波数/ゲイン制御

  • Canvasベースのスペクトルおよびウォーターフォール可視化

Webダッシュボード

  • スペクトラムアナライザー — 周波数/ゲイン制御付きのライブFFTプロット

  • ウォーターフォール表示 — 色分けされた時間周波数可視化

  • 放送局ブラウザ — 検索、お気に入り、帯域フィルター

  • オンラインDB — 名前/国/ジャンルによるradio-browser.infoの照会

  • 信号ID — SigID Wikiでの信号タイプの検索


ハードウェア

推奨: RTL-SDR Blog v4(約35ドル)

  • 24 MHz — 1.766 GHzの連続カバレッジ

  • 周波数安定性のための0.5 ppm TCXO

  • SMAコネクタ、アルミニウム筐体、バイアスティー

RTL2832UベースのSDR(R820T2チューナー搭載)であれば動作します。詳細な仕様についてはRTL_SDR_V4.mdを参照してください。


プロジェクト構造

sdr-mcp/
├── README.md              # This file
├── docs/                  # Documentation
│   ├── INSTALL.md         # Setup guide
│   ├── ARCHITECTURE.md    # System design
│   ├── MCP_SERVER.md      # Tool reference
│   ├── SDR_TECHNOLOGY.md  # Radio primer
│   └── RTL_SDR_V4.md      # Hardware specs
├── pyproject.toml         # Python package config
├── justfile               # Lint, fix, security recipes
├── start.ps1              # Launch backend + webapp
├── src/sdr_mcp/           # Python backend
│   ├── server.py          # FastMCP server, 17 tools
│   ├── capture.py         # RTL-SDR hardware interface
│   ├── processor.py       # FFT / spectrum processing
│   ├── frequency_db.py    # Station database
│   ├── online_db.py       # radio-browser.info API
│   ├── websocket_server.py # Real-time WebSocket stream
│   ├── transport.py       # STDIO / HTTP transport
│   └── cli.py             # Command-line interface
├── web_sota/              # React/TypeScript webapp
│   └── src/
│       ├── pages/         # Spectrum, Waterfall, Stations, etc.
│       └── components/    # Layout, UI components
└── tests/                 # Pytest test suite

技術スタック

レイヤー

技術

プロトコル

FastMCP 3.2, MCP 2.14+

バックエンド

Python 3.12, asyncio

ハードウェア

pyrtlsdr, RtlSdr

信号処理

numpy, scipy (FFT)

ストリーミング

websockets (RFC 6455)

フロントエンド

React 19, TypeScript, Vite

UI

Tailwind CSS, Radix UI, Lucide icons

標準

Fleet SOTA, ruff, Biome, just


ライセンス

MIT

F
license - not found
-
quality - not tested
C
maintenance

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/sandraschi/sdr-mcp'

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