gpartin avatar

WaveGuard

gpartin/lfmanomalydetection

Connects Claude to WaveGuard's GPU-powered anomaly detection API running on Modal. Send any data (server metrics, financial transactions, IoT sensors, time series) and get back anomaly scores with feature-level explanations. No training data required, fully stateless, one call per scan. The physics simulation runs server-side so you're just hitting REST endpoints at gpartin--waveguard-api-fastapi-app.modal.run. Useful when you need Claude to flag outliers in logs, detect fraud patterns, or spot infrastructure drift without managing ML models. Benchmarks show 0.76 F1 across real-world scenarios and it caught the FTX collapse 23 days early in backtests. Free tier available through the API.

tools
19
transport
HTTP
last updated
Feb 26, 2026

Install

From registry metadata
$ npx add-mcp https://gpartin--waveguard-api-fastapi-app.modal.run/v2/mcp --name waveguard

Run in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.

Review the command, arguments and environment values before installing. MCP servers run with your local permissions.

Other ways

Claude Code

$ claude mcp add --transport http waveguard https://gpartin--waveguard-api-fastapi-app.modal.run/v2/mcp

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 19 tools

Verified live against the running server on Nov 6, 2026.

waveguard_scanFind outliers and anomalies in structured data — ideal as a second step after pulling records from Google Sheets, Airtable, Supabase, Notion databases, HubSpot, Financial APIs, GitHub, NPM, or any source that returns rows of JSON. Fully stateless: send known-good rows as train...5 params

Find outliers and anomalies in structured data — ideal as a second step after pulling records from Google Sheets, Airtable, Supabase, Notion databases, HubSpot, Financial APIs, GitHub, NPM, or any source that returns rows of JSON. Fully stateless: send known-good rows as train...

Parameters* required
encoder_typestring
Data encoder type. Omit to auto-detect from data shape.one of json · numeric · text · timeseries · tabular · image
field_levelinteger
Physics field complexity. 0 = real scalar (default). 1 = complex field (phase-aware, 62-dim fingerprint).one of 0 · 1
sensitivitynumber
Anomaly threshold multiplier (default: 2.0). Lower = more sensitive. Higher = less sensitive. Range: 0.5 to 5.0.
test*array
1+ data points to check for anomalies — new entries, recent rows, or the subset you want validated. Same type/shape as training. Each sample is scored independently.
training*array
2+ examples of NORMAL/expected data — the known-good baseline. Typically the bulk of rows from a spreadsheet, database query, or API response. All samples should be the same type/shape. More sample...
waveguard_scan_timeseriesDetect anomalies in time-series data — use after pulling numeric metrics from monitoring APIs, financial data sources, IoT sensors, or spreadsheet columns. Send a single numeric array and specify a window size. Early windows define 'normal', recent windows are tested for anoma...4 params

Detect anomalies in time-series data — use after pulling numeric metrics from monitoring APIs, financial data sources, IoT sensors, or spreadsheet columns. Send a single numeric array and specify a window size. Early windows define 'normal', recent windows are tested for anoma...

Parameters* required
data*array
Numeric time-series array, ordered chronologically. Should have at least 3x window_size data points.
sensitivitynumber
Anomaly sensitivity (default: 1.0). Higher = more sensitive.
test_windowsinteger
Number of most recent windows to test (default: half of total windows). The rest are used as training (normal baseline).
window_sizeinteger
Number of data points per window (default: 10). Smaller windows detect finer-grained anomalies.default: 10
waveguard_healthCheck WaveGuard API health, GPU availability, version, and engine status. No authentication required. Returns status, version, and GPU info.1 params

Check WaveGuard API health, GPU availability, version, and engine status. No authentication required. Returns status, version, and GPU info.

Parameters* required
verboseboolean
Return detailed health info including memory and uptime (default: false).default: false
waveguard_fingerprintGet a physics embedding of any data item (52-dim at Level 0, 62-dim at Level 1 with phase statistics). The fingerprint captures structural properties via wave-equation dynamics — useful for similarity search, clustering, baseline comparison, and drift detection. Works on JSON...3 params

Get a physics embedding of any data item (52-dim at Level 0, 62-dim at Level 1 with phase statistics). The fingerprint captures structural properties via wave-equation dynamics — useful for similarity search, clustering, baseline comparison, and drift detection. Works on JSON...

Parameters* required
data*value
Any data item to fingerprint: JSON object, numeric array, string, or structured record.
encoder_typestring
Data encoder. Omit to auto-detect.one of json · numeric · text · timeseries · tabular · complex_numeric
field_levelinteger
0 = real scalar 52-dim (default), 1 = complex field 62-dim.one of 0 · 1
waveguard_compareCompare two data items for structural similarity using physics-based fingerprints. Returns cosine similarity (0–1) and Euclidean distance. Use for duplicate detection, behavioral matching, drift analysis, or checking if two tokens/wallets/contracts are structurally similar. Co...3 params

Compare two data items for structural similarity using physics-based fingerprints. Returns cosine similarity (0–1) and Euclidean distance. Use for duplicate detection, behavioral matching, drift analysis, or checking if two tokens/wallets/contracts are structurally similar. Co...

Parameters* required
data_a*value
First data item to compare.
data_b*value
Second data item to compare (same type as data_a).
encoder_typestring
Data encoder. Omit to auto-detect.one of json · numeric · text · timeseries · tabular
waveguard_token_riskAssess crypto token legitimacy risk. Send metrics from known-good tokens as training (price, volume, holders, liquidity, market_cap, age_days, etc.) and suspect tokens as test. Detects pump-and-dump patterns, fake metrics, and anomalous token profiles. Example: Pull CoinGecko...3 params

Assess crypto token legitimacy risk. Send metrics from known-good tokens as training (price, volume, holders, liquidity, market_cap, age_days, etc.) and suspect tokens as test. Detects pump-and-dump patterns, fake metrics, and anomalous token profiles. Example: Pull CoinGecko...

Parameters* required
sensitivitynumber
Risk sensitivity (default: 1.5). Higher = more flags.
test*array
1+ suspect token metric objects to evaluate.
training*array
3+ known-good token metric objects. Each should include fields like price, volume_24h, market_cap, holders, liquidity, age_days, etc.
waveguard_wallet_profileProfile wallet behavior against baselines. Send normal wallet transaction patterns as training (tx_count, avg_value, unique_tokens, gas_spent, active_days, etc.) and suspect wallets as test. Detects bot activity, wash trading wallets, and sybil patterns. Example: Profile 50 or...3 params

Profile wallet behavior against baselines. Send normal wallet transaction patterns as training (tx_count, avg_value, unique_tokens, gas_spent, active_days, etc.) and suspect wallets as test. Detects bot activity, wash trading wallets, and sybil patterns. Example: Profile 50 or...

Parameters* required
sensitivitynumber
Detection sensitivity (default: 1.5).
test*array
1+ suspect wallet profiles to evaluate.
training*array
3+ known-organic wallet activity profiles.
waveguard_volume_checkDetect wash trading and fake volume in OHLCV candle data. Send known-legitimate candles as training and suspect candles as test. Detects artificial volume spikes, suspiciously regular patterns, and manipulated price-volume relationships. Example: Send 100 candles from a liquid...3 params

Detect wash trading and fake volume in OHLCV candle data. Send known-legitimate candles as training and suspect candles as test. Detects artificial volume spikes, suspiciously regular patterns, and manipulated price-volume relationships. Example: Send 100 candles from a liquid...

Parameters* required
sensitivitynumber
Detection sensitivity (default: 1.5).
test*array
1+ suspect candle objects to evaluate.
training*array
3+ OHLCV candle objects from known-legitimate trading. Fields: open, high, low, close, volume.
waveguard_price_manipulationDetect price manipulation in time-series data. Send a price or price+volume history as a numeric array. Early windows define 'normal' trading, recent windows are tested for manipulation patterns (pump-and-dump, spoofing, layering). Example: Send 90 days of closing prices → det...4 params

Detect price manipulation in time-series data. Send a price or price+volume history as a numeric array. Early windows define 'normal' trading, recent windows are tested for manipulation patterns (pump-and-dump, spoofing, layering). Example: Send 90 days of closing prices → det...

Parameters* required
data*array
Price time-series array (chronological). At least 20 data points.
sensitivitynumber
Detection sensitivity (default: 1.5).
test_windowsinteger
Number of recent windows to test (default: half).
window_sizeinteger
Window size (default: 10). Smaller = finer detection.default: 10
waveguard_market_dataFetch live crypto market data from CoinGecko and DexScreener. No external data needed — WaveGuard pulls it for you. Use 'coin_id' for CoinGecko (e.g. 'bitcoin', 'ethereum', 'solana'). Use 'contract_address' for DexScreener (any chain). Use 'search' to find token IDs by name/sy...6 params

Fetch live crypto market data from CoinGecko and DexScreener. No external data needed — WaveGuard pulls it for you. Use 'coin_id' for CoinGecko (e.g. 'bitcoin', 'ethereum', 'solana'). Use 'contract_address' for DexScreener (any chain). Use 'search' to find token IDs by name/sy...

Parameters* required
action*string
What data to fetch: - token_data: full metrics for a CoinGecko coin - price_history: daily prices (for price_manipulation) - ohlc: OHLC candles (for volume_check) - top_coins: top N by market cap (...one of token_data · price_history · ohlc · top_coins · search · dex_token
coin_idstring
CoinGecko coin ID (e.g. 'bitcoin', 'ethereum'). Required for token_data, price_history, ohlc.
contract_addressstring
Token contract address (any chain). Required for dex_token.
countinteger
Number of results for top_coins (default: 25).default: 25
daysinteger
Number of days of history (default: 90 for price_history, 30 for ohlc).default: 90
querystring
Search query. Required for search, dex_search.
waveguard_counterfactualRun baseline plus counterfactual variants and measure verdict/score sensitivity.6 params

Run baseline plus counterfactual variants and measure verdict/score sensitivity.

Parameters* required
base_test*value
Baseline candidate sample to evaluate before counterfactual perturbations.
counterfactual_tests*array
1+ perturbed variants of base_test for sensitivity analysis.
encoder_typestring
Optional encoder override. Omit to auto-detect from input structure.
field_levelinteger
0 = real scalar field (faster), 1 = complex field (richer phase dynamics).one of 0 · 1
sensitivitynumber
Anomaly sensitivity multiplier (default: 1.0). Higher values flag more aggressively.
training*array
2+ baseline normal samples used to build the reference profile.
waveguard_trajectory_scanAnalyze sequence drift and regime shifts over ordered samples.5 params

Analyze sequence drift and regime shifts over ordered samples.

Parameters* required
encoder_typestring
Optional encoder override. Omit to auto-detect.
field_levelinteger
0 = real scalar field, 1 = complex field.one of 0 · 1
sensitivitynumber
Anomaly sensitivity multiplier (default: 1.0).
sequence*array
Ordered samples (time sequence) to scan for drift and regime shifts.
training*array
2+ baseline normal samples used to establish the reference regime.
waveguard_instabilityEstimate instability under controlled perturb-and-resolve trials.7 params

Estimate instability under controlled perturb-and-resolve trials.

Parameters* required
encoder_typestring
Optional encoder override. Omit to auto-detect.
field_levelinteger
0 = real scalar field, 1 = complex field.one of 0 · 1
perturbation_strengthnumber
Relative perturbation amplitude applied during instability assay.default: 0.02
sensitivitynumber
Anomaly sensitivity multiplier (default: 1.0).
test*array
1+ candidate samples to stress-test with perturbation trials.
training*array
2+ baseline normal samples for reference dynamics.
trialsinteger
Number of perturbation trials per sample.default: 12
waveguard_phase_coherenceMeasure coherence/entropy and collapse-risk indicators for candidate data.5 params

Measure coherence/entropy and collapse-risk indicators for candidate data.

Parameters* required
encoder_typestring
Optional encoder override. Omit to auto-detect.
field_levelinteger
Field representation level. Default 1 for phase-aware analysis.one of 0 · 1default: 1
sensitivitynumber
Anomaly sensitivity multiplier (default: 1.0).
test*array
1+ candidate samples to evaluate for phase coherence and entropy.
training*array
2+ baseline normal samples for reference coherence metrics.
waveguard_interaction_matrixCompute pairwise interaction matrix and cluster decomposition for entities.5 params

Compute pairwise interaction matrix and cluster decomposition for entities.

Parameters* required
encoder_typestring
Optional encoder override. Omit to auto-detect.
entities*array
2+ entities to evaluate for pairwise interaction effects.
field_levelinteger
Field representation level. Default 1 for interaction/phase features.one of 0 · 1default: 1
sensitivitynumber
Anomaly sensitivity multiplier (default: 1.0).
training_context*array
2+ baseline context samples used for normalization.
waveguard_cascade_riskEstimate shock propagation and resilience from adjacency-linked entities.8 params

Estimate shock propagation and resilience from adjacency-linked entities.

Parameters* required
adjacency_matrix*array
N×N weighted adjacency matrix describing link strengths between entities.
encoder_typestring
Optional encoder override. Omit to auto-detect.
entities*array
2+ entities/nodes participating in the cascade graph.
field_levelinteger
Field representation level. Default 1 for graph interaction dynamics.one of 0 · 1default: 1
sensitivitynumber
Anomaly sensitivity multiplier (default: 1.0).
shock_indices*array
Indices of initially shocked entities within the entities array.
shock_strengthnumber
Initial perturbation magnitude injected at shock indices.default: 0.05
training_context*array
2+ baseline context samples used for normalization.
waveguard_mechanism_probeRun targeted interventions and rank effect sizes.7 params

Run targeted interventions and rank effect sizes.

Parameters* required
base_test*value
Baseline candidate sample before interventions.
encoder_typestring
Optional encoder override. Omit to auto-detect.
field_levelinteger
0 = real scalar field, 1 = complex field.one of 0 · 1
intervention_labelsarray
Optional labels for intervention variants (same order as intervention_tests).
intervention_tests*array
1+ intervention variants used to estimate effect sizes.
sensitivitynumber
Anomaly sensitivity multiplier (default: 1.0).
training*array
2+ baseline normal samples used to construct the reference profile.
waveguard_action_surfaceScore candidate actions and extract robust action zones.6 params

Score candidate actions and extract robust action zones.

Parameters* required
action_labelsarray
Optional labels for each action variant.
action_tests*array
1+ candidate actions/scenarios to score against baseline.
encoder_typestring
Optional encoder override. Omit to auto-detect.
field_levelinteger
0 = real scalar field, 1 = complex field.one of 0 · 1
sensitivitynumber
Anomaly sensitivity multiplier (default: 1.0).
training*array
2+ baseline normal samples used to define the reference profile.
waveguard_multi_horizon_outlookCompute horizon-specific anomaly outlook and consistency across windows.6 params

Compute horizon-specific anomaly outlook and consistency across windows.

Parameters* required
encoder_typestring
Optional encoder override. Omit to auto-detect.
field_levelinteger
0 = real scalar field, 1 = complex field.one of 0 · 1
horizons*array
List of horizon lengths (in sequence steps) to evaluate.
sensitivitynumber
Anomaly sensitivity multiplier (default: 1.0).
sequence*array
Ordered sample sequence used for multi-horizon outlook analysis.
training*array
2+ baseline normal samples used to establish reference behavior.

Sponsors

Readme

Details

Repository
github.com/gpartin/lfmanomalydetection
Website
github.com/gpartin/WaveGuardClient
Category
Data & Analytics
Transport
HTTP
Registry
MCP registry, active
Prompts
6
Tools verified
Nov 6, 2026

More from gpartin

Related Data & Analytics MCP servers

View all
1findyourfivepm avatarMcp Servercom.findyourfivepm/mcp-serverDiscover cities where it's currently 5PM around the world with timezone and location data.0stars
2gitsim avatarGitsim Chatcom.gitsim/chatSearch, order, and manage eSIM data packages for 190+ countries.0stars
3gleanmark avatarGleanMark USPTO Trademark Searchcom.gleanmark/trademark-searchUSPTO trademark data: 14M+ marks, owners, Office Actions, TTAB cases. Public tools need no account.0stars
4dmbejar avatarGlucoBeatdmbejar/glucobeat-mcpLog glucose, meals, exercise and sleep in your GlucoBeat diary by chat, and look up your own data0stars
5terahertz-inc avatarSandwich Public Care Directoryterahertz-inc/sandwich-publicRead-only MCP server for Sandwich aging-parent care resources and cost data.0stars
6lifelongedge avatarEdge Labcom.lifelongedge/edge-labQuery published LifeLongEdge Edge Lab trading-system research studies as structured data.0stars