@forgemeshlabs/anomaly-mcp 0.4.0 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -7
- package/dist/index.js +1 -1
- package/dist/tools.d.ts +22 -0
- package/dist/tools.js +40 -3
- package/glama.json +5 -1
- package/package.json +7 -3
- package/server.json +3 -3
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Multi-domain sequence anomaly detection for AI agents. Detects unusual event patterns across blockchain markets, live airspace, and GitHub repositories using NASA-derived sequence mining. Returns a story label and anomaly score, not just a number.
|
|
4
4
|
|
|
5
|
-
This MCP server gives AI agents access to the ForgeMesh Anomaly Tracker API via
|
|
5
|
+
This MCP server gives AI agents access to the ForgeMesh Anomaly Tracker API via 16 tools spanning blockchain, aviation, GitHub, and real-time market monitoring domains.
|
|
6
6
|
|
|
7
7
|
Thin client architecture:
|
|
8
8
|
|
|
@@ -44,18 +44,20 @@ npx -y @forgemeshlabs/anomaly-mcp
|
|
|
44
44
|
| --- | --- | --- |
|
|
45
45
|
| `health_check` | API health and uptime | Free |
|
|
46
46
|
| `anomaly_scan` | Chain-wide sequence anomaly scan | $0.05 USDC |
|
|
47
|
-
| `token_scan` |
|
|
47
|
+
| `token_scan` | Best-effort single-token transfer anomalies with source status | $0.03 USDC |
|
|
48
48
|
| `whale_alerts` | Whale movements, CEX flows, bridge activity | $0.02 USDC |
|
|
49
49
|
| `address_scan` | Wallet transaction pattern anomalies | $0.03 USDC |
|
|
50
50
|
| `model_status` | SequenceMiner model health per chain | $0.01 USDC |
|
|
51
|
-
| `nft_scan` | NFT collection anomalies
|
|
51
|
+
| `nft_scan` | Best-effort NFT collection anomalies with source status | $0.03 USDC |
|
|
52
52
|
| `defi_scan` | DeFi protocol flow anomalies | $0.03 USDC |
|
|
53
|
-
| `squawk_alerts` |
|
|
53
|
+
| `squawk_alerts` | Best-effort live aviation emergency squawk codes with source status | $0.02 USDC |
|
|
54
54
|
| `flight_scan` | Airspace region anomaly analysis | $0.03 USDC |
|
|
55
55
|
| `trending_signal` | GitHub repos with anomalous star velocity | $0.02 USDC |
|
|
56
56
|
| `repo_scan` | Deep repo velocity/fork anomaly scan | $0.03 USDC |
|
|
57
57
|
| `github_watch` | Repo activity stream anomalies | $0.03 USDC |
|
|
58
58
|
| `claude_feature_watch` | Anthropic/Claude merged feature alerts | $0.02 USDC |
|
|
59
|
+
| `mempool_anomaly` | Real-time mempool anomaly score for 5-second polling | $0.01 USDC |
|
|
60
|
+
| `depeg_monitor` | Real-time stablecoin depeg detector for 1-minute polling | $0.01 USDC |
|
|
59
61
|
|
|
60
62
|
### Blockchain Tools
|
|
61
63
|
|
|
@@ -64,7 +66,7 @@ npx -y @forgemeshlabs/anomaly-mcp
|
|
|
64
66
|
- **window**: `1h`, `4h`, `24h`, or `168h` (default: 24h)
|
|
65
67
|
- Returns: `sequence_score` (0-100), `story` (human label), `novelty`, `peak_window`, `possible_failure_modes`
|
|
66
68
|
|
|
67
|
-
**token_scan** —
|
|
69
|
+
**token_scan** — Best-effort anomaly scan for a single token's recent transfer patterns. Paid output includes source status and coverage notes so agents can distinguish "quiet token" from source coverage issues.
|
|
68
70
|
- **token** (required): Contract address (`0x...`) or symbol — `usdt`, `usdc`, `weth`, `wbtc`, `link`, `uni`, `aave`, `steth`, `pepe`, `dai`, `cbeth`, `arb`
|
|
69
71
|
- **chain**: `ethereum`, `base`, or `arbitrum` (default: ethereum)
|
|
70
72
|
- **window**: `1h`, `4h`, `24h`, or `168h` (default: 24h)
|
|
@@ -78,7 +80,7 @@ npx -y @forgemeshlabs/anomaly-mcp
|
|
|
78
80
|
- **chain**: `ethereum`, `base`, or `arbitrum`
|
|
79
81
|
- **window**: `1h`, `4h`, `24h`, or `168h`
|
|
80
82
|
|
|
81
|
-
**nft_scan** —
|
|
83
|
+
**nft_scan** — Best-effort anomaly scan for an NFT collection — sweep accumulation, wash trading, mint surges. Paid output includes source status and coverage notes.
|
|
82
84
|
- **token** (required): ERC-721/ERC-1155 contract address
|
|
83
85
|
|
|
84
86
|
**defi_scan** — Anomaly scan for DeFi protocols — unusual flows through Uniswap, Aave, Curve, Compound.
|
|
@@ -86,7 +88,7 @@ npx -y @forgemeshlabs/anomaly-mcp
|
|
|
86
88
|
|
|
87
89
|
### Aviation Tools
|
|
88
90
|
|
|
89
|
-
**squawk_alerts** —
|
|
91
|
+
**squawk_alerts** — Best-effort live global sweep of aircraft squawking 7700 (emergency), 7600 (radio failure), or 7500 (hijack). Paid output includes source status, monitored scope, and coverage notes.
|
|
90
92
|
|
|
91
93
|
**flight_scan** — Sequence anomaly analysis for a named airspace region.
|
|
92
94
|
- **region**: `north_atlantic`, `europe`, `north_america`, `asia_pacific`, `middle_east`, `africa`, or `global`
|
|
@@ -105,6 +107,14 @@ npx -y @forgemeshlabs/anomaly-mcp
|
|
|
105
107
|
**claude_feature_watch** — Watch Anthropic/Claude repos for recently merged features. Scans anthropic-sdk-python, anthropic-sdk-typescript, claude-code, courses, and anthropic-cookbook.
|
|
106
108
|
- **days**: 1-30 (default: 7)
|
|
107
109
|
|
|
110
|
+
### Real-Time Tools
|
|
111
|
+
|
|
112
|
+
**mempool_anomaly** — Real-time mempool anomaly score for gas spikes, MEV signals, pending whale swaps, contract deploy bursts, and priority fee wars.
|
|
113
|
+
- **chain**: `ethereum` or `base` (default: ethereum)
|
|
114
|
+
|
|
115
|
+
**depeg_monitor** — Real-time stablecoin depeg detector for USDC, USDT, and DAI micro-deviations, stablecoin spreads, and volume spikes.
|
|
116
|
+
- **chain**: `ethereum`, `base`, or `arbitrum` (default: ethereum)
|
|
117
|
+
|
|
108
118
|
## Symbol Alphabets
|
|
109
119
|
|
|
110
120
|
**Financial**: `WHALE_BUY`, `WHALE_SELL`, `CEX_INFLOW`, `CEX_OUTFLOW`, `BRIDGE_IN`, `BRIDGE_OUT`, `DEX_SWAP`, `DEX_LIQUIDITY_ADD`, `DEX_LIQUIDITY_REMOVE`, `STABLECOIN_MINT`, `STABLECOIN_REDEEM`, `STABLECOIN_BURN`, `TOKEN_MINT`, `TOKEN_BURN`, `FUNDING_SPIKE`, `LIQUIDATION`
|
package/dist/index.js
CHANGED
package/dist/tools.d.ts
CHANGED
|
@@ -241,5 +241,27 @@ export declare const tools: ({
|
|
|
241
241
|
};
|
|
242
242
|
required?: undefined;
|
|
243
243
|
};
|
|
244
|
+
} | {
|
|
245
|
+
name: string;
|
|
246
|
+
description: string;
|
|
247
|
+
inputSchema: {
|
|
248
|
+
type: "object";
|
|
249
|
+
properties: {
|
|
250
|
+
chain: {
|
|
251
|
+
type: string;
|
|
252
|
+
enum: string[];
|
|
253
|
+
description: string;
|
|
254
|
+
};
|
|
255
|
+
window?: undefined;
|
|
256
|
+
token?: undefined;
|
|
257
|
+
hours?: undefined;
|
|
258
|
+
address?: undefined;
|
|
259
|
+
protocol?: undefined;
|
|
260
|
+
region?: undefined;
|
|
261
|
+
days?: undefined;
|
|
262
|
+
repo?: undefined;
|
|
263
|
+
};
|
|
264
|
+
required?: undefined;
|
|
265
|
+
};
|
|
244
266
|
})[];
|
|
245
267
|
export declare function callTool(name: string, args: Record<string, unknown>): Promise<unknown>;
|
package/dist/tools.js
CHANGED
|
@@ -26,7 +26,7 @@ export const tools = [
|
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
28
|
name: "token_scan",
|
|
29
|
-
description: "
|
|
29
|
+
description: "Best-effort anomaly scan for a single token — scores recent transfer patterns for unusual activity and returns source status plus coverage notes. Pass a contract address or well-known symbol. Costs $0.03 USDC on Base mainnet.",
|
|
30
30
|
inputSchema: {
|
|
31
31
|
type: "object",
|
|
32
32
|
properties: {
|
|
@@ -101,7 +101,7 @@ export const tools = [
|
|
|
101
101
|
// ── NFT & DeFi ────────────────────────────────────────────────────────────
|
|
102
102
|
{
|
|
103
103
|
name: "nft_scan",
|
|
104
|
-
description: "
|
|
104
|
+
description: "Best-effort anomaly scan for an NFT collection — detects sweep accumulation, wash trading patterns, and mint surges, then returns source status plus coverage notes. Pass a contract address. Costs $0.03 USDC on Base mainnet.",
|
|
105
105
|
inputSchema: {
|
|
106
106
|
type: "object",
|
|
107
107
|
properties: {
|
|
@@ -150,7 +150,7 @@ export const tools = [
|
|
|
150
150
|
// ── Aviation ──────────────────────────────────────────────────────────────
|
|
151
151
|
{
|
|
152
152
|
name: "squawk_alerts",
|
|
153
|
-
description: "
|
|
153
|
+
description: "Best-effort live global sweep of active aviation emergency squawk codes via OpenSky Network. Returns aircraft currently squawking 7700, 7600, or 7500 with source status and coverage notes. Costs $0.02 USDC on Base mainnet.",
|
|
154
154
|
inputSchema: {
|
|
155
155
|
type: "object",
|
|
156
156
|
properties: {}
|
|
@@ -226,6 +226,35 @@ export const tools = [
|
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
+
},
|
|
230
|
+
// ── Real-time polling endpoints ──────────────────────────────────────────
|
|
231
|
+
{
|
|
232
|
+
name: "mempool_anomaly",
|
|
233
|
+
description: "Real-time mempool anomaly score — detects gas spikes, MEV signals, pending whale swaps, contract deploy bursts, and priority fee wars. Designed for 5-second polling. Returns a story label (e.g. 'MEV Attack', 'Gas Surge', 'Priority Fee War') and anomaly score. Costs $0.01 USDC on Base mainnet.",
|
|
234
|
+
inputSchema: {
|
|
235
|
+
type: "object",
|
|
236
|
+
properties: {
|
|
237
|
+
chain: {
|
|
238
|
+
type: "string",
|
|
239
|
+
enum: ["ethereum", "base"],
|
|
240
|
+
description: "Blockchain (default: ethereum). Only Ethereum and Base have RPC mempool access."
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
name: "depeg_monitor",
|
|
247
|
+
description: "Real-time stablecoin depeg detector — monitors USDC, USDT, DAI prices for micro-deviations from $1.00 peg, spread between stables, and volume spikes. Catches depegs before they become crises. Designed for 1-minute polling. Returns a story label (e.g. 'Single Coin Drift', 'Multi-Stablecoin Crisis', 'Depeg Event') and anomaly score. Costs $0.01 USDC on Base mainnet.",
|
|
248
|
+
inputSchema: {
|
|
249
|
+
type: "object",
|
|
250
|
+
properties: {
|
|
251
|
+
chain: {
|
|
252
|
+
type: "string",
|
|
253
|
+
enum: ["ethereum", "base", "arbitrum"],
|
|
254
|
+
description: "Blockchain (default: ethereum)"
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
229
258
|
}
|
|
230
259
|
];
|
|
231
260
|
async function apiGet(path) {
|
|
@@ -333,6 +362,14 @@ export async function callTool(name, args) {
|
|
|
333
362
|
const cfDays = args.days || 7;
|
|
334
363
|
return apiGet(`/api/claude-feature-watch?days=${cfDays}`);
|
|
335
364
|
}
|
|
365
|
+
case "mempool_anomaly": {
|
|
366
|
+
const mpChain = args.chain || "ethereum";
|
|
367
|
+
return apiGet(`/api/mempool-anomaly?chain=${mpChain}`);
|
|
368
|
+
}
|
|
369
|
+
case "depeg_monitor": {
|
|
370
|
+
const dpChain = args.chain || "ethereum";
|
|
371
|
+
return apiGet(`/api/depeg-monitor?chain=${dpChain}`);
|
|
372
|
+
}
|
|
336
373
|
default:
|
|
337
374
|
return { error: `Unknown tool: ${name}` };
|
|
338
375
|
}
|
package/glama.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://glama.ai/mcp/schemas/server.json",
|
|
3
3
|
"name": "@forgemeshlabs/anomaly-mcp",
|
|
4
|
-
"description": "Multi-domain
|
|
4
|
+
"description": "Multi-domain real-time anomaly detection — blockchain, aviation, GitHub, mempool, and stablecoin depeg monitoring. NASA-derived sequence mining returns story labels via x402 micropayments on Base mainnet.",
|
|
5
5
|
"maintainers": [
|
|
6
6
|
"clawdbotworker"
|
|
7
7
|
],
|
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
"blockchain",
|
|
11
11
|
"aviation",
|
|
12
12
|
"github",
|
|
13
|
+
"mempool",
|
|
14
|
+
"stablecoin",
|
|
15
|
+
"depeg",
|
|
16
|
+
"realtime",
|
|
13
17
|
"x402",
|
|
14
18
|
"usdc",
|
|
15
19
|
"sequence-mining"
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forgemeshlabs/anomaly-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.1",
|
|
4
4
|
"mcpName": "io.github.forgemeshlabs/anomaly-mcp",
|
|
5
|
-
"description": "Multi-domain
|
|
5
|
+
"description": "Multi-domain real-time anomaly detection MCP server. Mempool (5s polling), stablecoin depeg (1min polling), blockchain, aviation, and GitHub anomalies via x402 micropayments.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
8
8
|
"anomaly-mcp": "dist/index.js"
|
|
@@ -40,7 +40,11 @@
|
|
|
40
40
|
"forgemesh",
|
|
41
41
|
"usdc",
|
|
42
42
|
"nasa",
|
|
43
|
-
"sequenceminer"
|
|
43
|
+
"sequenceminer",
|
|
44
|
+
"mempool",
|
|
45
|
+
"stablecoin",
|
|
46
|
+
"depeg",
|
|
47
|
+
"realtime"
|
|
44
48
|
],
|
|
45
49
|
"author": "forgemeshlabs",
|
|
46
50
|
"license": "MIT",
|
package/server.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.forgemeshlabs/anomaly-mcp",
|
|
4
|
-
"description": "Multi-domain
|
|
4
|
+
"description": "Multi-domain real-time anomaly detection — mempool, stablecoin depeg, blockchain, aviation, and GitHub. NASA-derived sequence mining via x402 micropayments.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://github.com/forgemeshlabs/anomaly-mcp",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.5.1",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@forgemeshlabs/anomaly-mcp",
|
|
14
|
-
"version": "0.
|
|
14
|
+
"version": "0.5.1",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|