mcpField
W
Waveguardclient

Waveguardclient

ローカル
github.com/gpartinデータ・分析428 週間前に更新

Waveguardclient について

Waveguardclientは、WaveGuardのステートレスな異常検知APIを利用するPython SDKです。学習パイプラインを管理せずに多様なデータを調べたいアプリケーション向けで、サーバー側の波動物理計算により異常スコア、信頼度、特徴量の説明を返します。

主な機能

  1. 01多様なデータを一度の呼び出しでスキャン
  2. 02異常スコアと信頼度の取得
  3. 03特徴量ごとのアラート説明
  4. 04API状態と利用プランの確認

活用シーン

  1. 01サーバーメトリクスの異常検知
  2. 02金融取引の異常判定
  3. 03ログの逸脱確認

MCP 対応

パッケージにはMCPサーバーが含まれ、汎用異常スキャン、時系列スキャン、API状態確認のツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

PyPI v3.3.0 GPU-powered API MCP Smithery

WaveGuard Python SDK

波動物理学を活用した異常検知。機械学習ではありません。
API 呼び出しは 1 回。完全にステートレス。あらゆるデータ型に対応します。

ベンチマーク • クイックスタート • ユースケース • 例 • MCP / Claude • API リファレンス


WaveGuard とは?

WaveGuard は、汎用的な異常検知 API です。サーバーメトリクス、金融取引、ログファイル、センサーの測定値、時系列など、あらゆるデータを送信すると、異常スコア、信頼度、アラートの原因となった特徴量の説明が返されます。

トレーニングパイプラインは不要です。モデル管理も状態管理も不要です。API 呼び出しは 1 回です。

Your data  →  WaveGuard API (GPU)  →  Anomaly scores + explanations

内部では、機械学習の代わりに GPU 加速による波動物理学を使用しています。物理学について知る必要も、気にする必要もありません。すべてサーバー側で処理されます。

Modal のダッシュボードと API エンドポイント

Modal を見ると、デプロイ済みの関数(たとえば fastapi_app、gpu_scan、gpu_fingerprint)が表示されます。 これらはコンピューティング/ランタイムの単位であり、HTTP ルートの一覧ではありません。

稼働中の API エンドポイントをすべて確認するには、次を使用してください。

  • OpenAPI ドキュメント:https://gpartin--waveguard-api-fastapi-app.modal.run/docs
  • OpenAPI JSON:https://gpartin--waveguard-api-fastapi-app.modal.run/openapi.json
実際にはどのように動作しますか?

データは 64³ 格子にエンコードされ、GPU 上で連成波動方程式シミュレーションにかけられます。正常なデータは安定した波動パターンを生成し、異常なデータは発散するパターンを生成します。52 次元の統計的フィンガープリントを、トレーニングデータとテストデータの間で比較します。呼び出しごとにすべてが破棄され、データは保存されません。

機械学習と比べた主な利点は、トレーニングデータの要件がないこと(2 サンプル以上で十分)、モデルドリフトがないこと、再トレーニングが不要なこと、ハイパーパラメーターの調整が不要なことです。同じ API 呼び出しで、構造化データ、テキスト、数値、時系列を扱えます。

ベンチマーク(v2.2)

実世界の 6 つのシナリオでのWaveGuard v2.2 と scikit-learn の比較(各シナリオでトレーニングサンプル 10 件、テストサンプル 10 件)。

要約:WaveGuard v2.2 は6 シナリオ中 4 シナリオで優位で、F1 の平均は 0.76 です。sklearn の手法に匹敵し、機械学習の専門知識は一切必要ありません。

F1 スコア(適合率と再現率のバランス)
シナリオWaveGuardIsolationForestLOFOneClassSVM
サーバーメトリクス(IT 運用)0.870.710.870.62
金融詐欺0.830.740.770.77
IoT センサー(産業用)0.870.690.690.65
ネットワークトラフィック(セキュリティ)0.820.610.770.61
時系列(モニタリング)0.460.770.800.67
疎な特徴量(ログ)0.720.900.820.78
平均0.760.740.790.68
v2.2 の新機能

マルチ解像度スコアリングでは、全体的なフィンガープリント距離に加えて、各特徴量の局所格子エネルギーを追跡します。これにより、v2.1 の全体平均では見逃されていた、微妙な特徴量ごとの異常(IoT センサー 10 台中 3 台のドリフトなど)を検出できます。IoT の F1 は 0.30 から 0.87 に向上しました。

sklearn ではなく WaveGuard を選ぶ場合
WaveGuard を選ぶ場合…sklearn を選ぶ場合…
誤検知のコストが高い場合(アラート疲れ、SRE へのページ通知)あらゆる異常を漏れなく検出する必要がある場合
チームに ML の専門知識がない場合モデルを調整できるデータサイエンティストがいる場合
設定不要の API 呼び出しが必要な場合モデルのライフサイクル(学習/保存/読み込み)を管理できる場合
データスキーマが頻繁に変わる場合特徴量エンジニアリングが安定している場合
AI エージェントに異常検知が必要な場合(MCP)すべてがローカルで実行され、API 呼び出しがない場合
これらのベンチマークを再現する
pip install WaveGuardClient scikit-learn
python benchmarks/benchmark_vs_sklearn.py

結果は benchmarks/benchmark_results.json に保存されます。ベンチマークでは、再現性を確保するために決定論的な乱数シードを使用します。

ベンチマークの拡張版:WaveGuard は、公開ベンチマークデータセット12件すべてで F1 スコア第1位です。HuggingFace で比較結果の全容をご覧ください。

実環境での検証:暗号資産の暴落検知

WaveGuard は、暗号資産リスクスキャナーの CryptoGuard を支えています。過去の暴落7件(LUNA、FTX、Celsius、3AC、UST、SOL/FTX、TITAN)を対象にバックテストを実施しました。

手法再現率平均リードタイム偽陽性率
WaveGuard100% (7/7)27.4日6.1%
Z スコアのベースライン100% (7/7)28.4日29.9%
移動ボラティリティ86% (6/7)15.5日4.0%

WaveGuard は2022年10月16日に FTT(FTX トークン)を「注意」と判定しました。これは94%の暴落の23日前です。一方、Z スコア分析では異常は見られませんでした。

再現率を維持しながら、統計的なベースラインより誤検知を5分の1に削減します。結果の全容:CryptoGuard バックテスト。

インストール

pip install WaveGuardClient

これで完了です。依存関係は requests のみです。物理演算はすべて GPU 上のサーバー側で実行されます。

RapidAPI で無料の API キーを取得 →

クイックスタート

同じ scan() 呼び出しを、あらゆる種類のデータに使用できます。以下は異なる3つの業界の例です。API は同じです。

侵害されたサーバーを検出する
from waveguard import WaveGuard

wg = WaveGuard(api_key="YOUR_KEY")

result = wg.scan(
    training=[
        {"cpu": 45, "memory": 62, "disk_io": 120, "errors": 0},
        {"cpu": 48, "memory": 63, "disk_io": 115, "errors": 0},
        {"cpu": 42, "memory": 61, "disk_io": 125, "errors": 1},
    ],
    test=[
        {"cpu": 46, "memory": 62, "disk_io": 119, "errors": 0},    # ✅ normal
        {"cpu": 99, "memory": 95, "disk_io": 800, "errors": 150},   # 🚨 anomaly
    ],
)

for r in result.results:
    print(f"{'🚨' if r.is_anomaly else '✅'}  score={r.score:.1f}  confidence={r.confidence:.0%}")
不正な取引を検知する
result = wg.scan(
    training=[
        {"amount": 74.50, "items": 3, "session_sec": 340, "returning": 1},
        {"amount": 52.00, "items": 2, "session_sec": 280, "returning": 1},
        {"amount": 89.99, "items": 4, "session_sec": 410, "returning": 0},
    ],
    test=[
        {"amount": 68.00, "items": 2, "session_sec": 300, "returning": 1},     # ✅ normal
        {"amount": 4200.00, "items": 25, "session_sec": 8, "returning": 0},     # 🚨 fraud
    ],
)
ログ内のセキュリティイベントを検出する
result = wg.scan(
    training=[
        "2026-02-24 10:15:03 INFO  Request processed in 45ms [200 OK]",
        "2026-02-24 10:15:04 INFO  Request processed in 52ms [200 OK]",
        "2026-02-24 10:15:05 INFO  Cache hit ratio=0.94 ttl=300s",
    ],
    test=[
        "2026-02-24 10:20:03 INFO  Request processed in 48ms [200 OK]",                  # ✅ normal
        "2026-02-24 10:20:04 CRIT  xmrig consuming 98% CPU, port 45678 open",             # 🚨 crypto miner
        "2026-02-24 10:20:05 WARN  GET /api/users?id=1;DROP TABLE users-- from 185.x.x",  # 🚨 SQL injection
    ],
    encoder_type="text",
)

同じクライアント。同じ scan() 呼び出し。あらゆるデータに対応します。

ユースケース

WaveGuard はあらゆる構造化データ、数値データ、テキストデータに対応します。「正常」を定義できれば、そこからの逸脱を検出できます。

業界スキャン対象検出するもの
DevOpsサーバーメトリクス(CPU、メモリ、レイテンシ)メモリリーク、DDoS 攻撃、暴走プロセス
フィンテック取引(金額、頻度、場所)不正、マネーロンダリング、アカウント乗っ取り
セキュリティログファイル、アクセスイベントSQL インジェクション、暗号資産マイナー、権限昇格
IoT/製造センサーの測定値(温度、圧力、振動)機器の故障、校正ドリフト
E コマースユーザー行動(セッション時間、カート、クリック)ボットトラフィック、大量購入詐欺、スクレイピング
ヘルスケア検査結果、バイタルサイン、バイオマーカー異常値、データ入力エラー
時系列データメトリクスのウィンドウ(レイテンシ、スループット)スパイク、フラットライン、季節性の崩れ

API はユーザーのドメインを把握しません。「正常」の状態(トレーニングデータ)を把握し、そこから逸脱するものを検知するだけです。そのため汎用的に使えます。状況の説明はユーザーが行い、検知は API が担います。

対応データ型

データの形状からすべて自動判定されます。設定は不要です。

型例用途
JSON オブジェクト{"cpu": 45, "memory": 62}名前付きフィールドを持つ構造化レコード
数値配列[1.0, 1.2, 5.8, 1.1]特徴ベクトル、埋め込み
テキスト文字列"ERROR segfault at 0x0"ログ、メッセージ、自由記述テキスト
時系列データ[100, 102, 98, 105, 99]メトリクスのウィンドウ、連続する測定値

使用例

すべての使用例は、ライブ API にアクセスする実行可能な Python スクリプトです。

#使用例業界内容
🏭IoT 予知保全製造業センサーデータからベアリングの故障、漏れ、過負荷を検出します
🔒ネットワーク侵入検知サイバーセキュリティポートスキャン、C2 ビーコン、DDoS、データの流出を検知します
🤖MCP エージェントのデモAI/エージェントClaude が MCP 経由で WaveGuard を呼び出します — ML の知識は不要です
01クイックスタート一般10 行で実行できる最小限のスキャン
02サーバー監視DevOpsメモリリークと DDoS の検出
03ログ分析セキュリティSQL インジェクションと暗号資産マイナーの検出
04時系列監視レイテンシの急上昇とフラットラインの検出
06一括スキャンE コマース20 件のトランザクションと不正フラグの検出
07エラー処理本番環境リトライロジックと指数バックオフ
pip install WaveGuardClient
python examples/iot_predictive_maintenance.py

MCP サーバー(Claude Desktop)

MCP ツールとして利用できる、初の物理学ベースの異常検知ツールです。 ML の知識がなくても、あらゆる AI エージェントが異常を検知できるようになります。

クイックセットアップ
{
  "mcpServers": {
    "waveguard": {
      "command": "uvx",
      "args": ["--from", "WaveGuardClient", "waveguard-mcp"]
    }
  }
}

その後、Claude に 「これらのセンサー読み取り値に異常はありますか?」 と尋ねると、自動的に waveguard_scan を呼び出します。

利用可能な MCP ツール
ツール説明
waveguard_scanあらゆる構造化データの異常を検知します
waveguard_scan_timeseries時系列データを自動でウィンドウ分割し、異常な区間を検知します
waveguard_healthAPI のステータスと GPU の利用可否を確認します

動作する使用例については MCP エージェントのデモを、セットアップの詳細については MCP 統合ガイドをご覧ください。

Azure からの移行

Azure Anomaly Detector は 2026 年 10 月に廃止されます。 WaveGuard はそのまま置き換えて使用できます。

# Before (Azure) — 3+ API calls, stateful, time-series only
client = AnomalyDetectorClient(endpoint, credential)
model = client.train_multivariate_model(request)   # minutes
result = client.detect_multivariate_batch_anomaly(model_id, data)
client.delete_multivariate_model(model_id)

# After (WaveGuard) — 1 API call, stateless, any data type
wg = WaveGuard(api_key="YOUR_KEY")
result = wg.scan(training=normal_data, test=new_data)  # seconds

詳細については Azure 移行ガイドをご覧ください。

API リファレンス

wg.scan(training, test, encoder_type=None, sensitivity=None)
パラメーター型説明
traininglist正常データの例を 2 件以上
testlistチェックするサンプルを 1 件以上
encoder_typestr"json"、"numeric"、"text"、"timeseries" を指定します(デフォルト:自動)
sensitivityfloat0.5~3.0。値が小さいほど感度が高くなります(デフォルト:1.0)

.results(サンプルごとの結果)と .summary(集計結果)を含む ScanResult を返します。

wg.health() / wg.tier()

ヘルスチェック(認証不要)とサブスクリプションティアの情報を取得します。

高度なインテリジェンスメソッド(v3.3.0)
  • wg.counterfactual(...)
  • wg.trajectory_scan(...)
  • wg.instability(...)
  • wg.phase_coherence(...)
  • wg.interaction_matrix(...)
  • wg.cascade_risk(...)
  • wg.mechanism_probe(...)
  • wg.action_surface(...)
  • wg.multi_horizon_outlook(...)

これらは /v1/* インテリジェンスエンドポイントに直接対応し、急速に進化するサーバー側レスポンススキーマとの最大限の互換性を確保するため、生の JSON ペイロードを返します。

エラー処理
from waveguard import WaveGuard, AuthenticationError, RateLimitError

try:
    result = wg.scan(training=data, test=new_data)
except AuthenticationError:
    print("Bad API key")
except RateLimitError:
    print("Too many requests — back off and retry")

API リファレンスの全容については、docs/api-reference.mdをご覧ください。

プロジェクト構成

WaveGuardClient/
├── waveguard/              # Python SDK package
│   ├── __init__.py         # Public API exports
│   ├── client.py           # WaveGuard client class
│   └── exceptions.py       # Exception hierarchy
├── mcp_server/             # MCP server for Claude Desktop
│   └── server.py           # stdio + HTTP transport
├── benchmarks/             # Reproducible benchmarks vs sklearn
│   ├── benchmark_vs_sklearn.py
│   └── benchmark_results.json
├── examples/               # 9 runnable examples
├── docs/                   # Documentation
│   ├── getting-started.md
│   ├── api-reference.md
│   ├── mcp-integration.md
│   └── azure-migration.md
├── tests/                  # Test suite
├── pyproject.toml          # Package config (pip install -e .)
└── CHANGELOG.md

開発

git clone https://github.com/gpartin/WaveGuardClient.git
cd WaveGuardClient
pip install -e ".[dev]"
pytest

リンク

ライセンス

MIT — LICENSEをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。