mcpField
W
Waveguardclient

Waveguardclient

本地服务
github.com/gpartin数据与分析428 周前更新

关于 Waveguardclient

Waveguardclient 是 WaveGuard 无状态异常检测 API 的 Python SDK,适用于需要检查多种数据、又不想管理训练流程的应用。它通过服务端波动方程计算返回异常分数、置信度和特征解释。

主要功能

  1. 01一次调用扫描多种数据
  2. 02返回异常分数和置信度
  3. 03提供特征级告警解释
  4. 04检查 API 状态和订阅层级

适用场景

  1. 01检测异常服务器指标
  2. 02标记异常金融交易
  3. 03检查日志中的偏差

MCP 相关

软件包包含 MCP 服务,提供通用异常扫描、时间序列扫描和 API 状态检查工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

PyPI v3.3.0 GPU 驱动的 API MCP Smithery

WaveGuard Python SDK

基于波动物理的异常检测,而非机器学习。
一次 API 调用。完全无状态。适用于任何数据类型。

基准测试 • 快速开始 • 使用场景 • 示例 • MCP / Claude • API 参考


什么是 WaveGuard?

WaveGuard 是一个通用异常检测 API。向它发送任意数据——服务器指标、金融交易、日志文件、传感器读数、时间序列——即可获得异常分数、置信度,以及说明哪些特征触发了警报。

无需训练流水线。无需管理模型。无状态。只需一次 API 调用。

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 新增内容

多分辨率评分会跟踪每个特征的局部晶格能量,并计算全局指纹距离。这可以检测细微的单特征异常(例如 10 个 IoT 传感器中有 3 个出现漂移),而 v2.1 的全局平均方法会漏掉这类异常。IoT F1 分数从 0.30 提升至 0.87。

何时选择 WaveGuard 而非 sklearn
以下情况选择 WaveGuard……以下情况选择 sklearn……
误报代价高(告警疲劳、SRE 页面通知)需要捕获所有可能的异常
团队没有机器学习专业知识团队有数据科学家可以调优模型
需要零配置的 API 调用可以管理模型生命周期(训练/保存/加载)
数据架构频繁变化特征工程稳定
AI Agent 需要异常检测(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%

2022 年 10 月 16 日,WaveGuard 将 FTT(FTX 代币)标记为 CAUTION——比其暴跌 94% 提前了 23 天——而 Z 分数分析未发现任何异常。

在召回率相同的情况下,误报比统计基线减少 5 倍。完整结果: CryptoGuard 回测。

安装

pip install WaveGuardClient

就是这样。唯一的依赖项是 requests。所有物理计算均在服务器端通过 GPU 运行。

在 RapidAPI 上免费获取 API 密钥 →

快速入门

同一个 scan() 调用适用于任何数据类型。以下是三个不同行业的示例——使用同一个 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 / 制造业传感器读数(温度、压力、振动)设备故障、校准漂移
电子商务用户行为(会话时长、购物车、点击)机器人流量、大额采购欺诈、数据抓取
医疗健康化验结果、生命体征、生物标志物异常读数、数据录入错误
时间序列指标窗口(延迟、吞吐量)峰值、平线、季节性异常

**API 并不了解你的领域。**它只知道“正常”是什么样子(即你的训练数据),并标记任何偏离的情况。因此它具有通用性——由你提供上下文,由它负责检测。

支持的数据类型

根据数据形状自动检测,无需配置:

类型示例适用场景
JSON 对象{"cpu": 45, "memory": 62}包含命名字段的结构化记录
数值数组[1.0, 1.2, 5.8, 1.1]特征向量、嵌入
文本字符串"ERROR segfault at 0x0"日志、消息、自由文本
时间序列[100, 102, 98, 105, 99]指标窗口、连续读数

示例

每个示例都是可运行的 Python 脚本,会调用在线 API:

#示例行业展示内容
🏭IoT Predictive Maintenance制造业根据传感器数据检测轴承故障、泄漏和过载
🔒Network Intrusion Detection网络安全检测端口扫描、C2 信标、DDoS 和数据外泄
🤖MCP Agent DemoAI/AgentClaude 通过 MCP 调用 WaveGuard——无需任何机器学习知识
01Quickstart通用用 10 行代码完成最简扫描
02Server MonitoringDevOps检测内存泄漏和 DDoS
03Log Analysis安全检测 SQL 注入和加密货币挖矿程序
04Time Series监控检测延迟尖峰和数据平线
06Batch Scanning电子商务扫描 20 笔交易并标记欺诈行为
07Error Handling生产环境重试逻辑和指数退避
pip install WaveGuardClient
python examples/iot_predictive_maintenance.py

MCP 服务(Claude Desktop)

首个可作为 MCP 工具使用的基于物理学的异常检测器。 让任何 AI Agent 都能检测异常——无需任何机器学习知识。

快速设置
{
  "mcpServers": {
    "waveguard": {
      "command": "uvx",
      "args": ["--from", "WaveGuardClient", "waveguard-mcp"]
    }
  }
}

然后询问 Claude:“这些传感器读数中有异常吗?”——它会自动调用 waveguard_scan。

可用的 MCP 工具
工具描述
waveguard_scan检测任意结构化数据中的异常
waveguard_scan_timeseries自动对时间序列分窗,并检测异常片段
waveguard_health检查 API 状态和 GPU 可用性

请参阅 MCP Agent Demo 查看可运行示例,或参阅 MCP Integration Guide 了解完整设置流程。

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 Migration Guide。

API 参考

wg.scan(training, test, encoder_type=None, sensitivity=None)
参数类型描述
traininglist2 个或更多正常数据示例
testlist1 个或更多待检查样本
encoder_typestr指定类型:"json"、"numeric"、"text"、"timeseries"(默认:自动)
sensitivityfloat0.5–3.0,数值越低越敏感(默认:1.0)

返回 ScanResult,包含 .results(逐样本结果)和 .summary(汇总结果)。

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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。