@forgemeshlabs/anomaly-mcp 0.3.0 → 0.5.0
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 +60 -25
- package/dist/index.js +1 -1
- package/dist/tools.d.ts +44 -0
- package/dist/tools.js +73 -0
- package/glama.json +11 -0
- package/package.json +10 -3
- package/server.json +3 -3
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Anomaly Tracker MCP
|
|
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 14 tools spanning blockchain, aviation, and GitHub domains.
|
|
6
6
|
|
|
7
7
|
Thin client architecture:
|
|
8
8
|
|
|
@@ -43,44 +43,79 @@ npx -y @forgemeshlabs/anomaly-mcp
|
|
|
43
43
|
| Tool | Description | Cost |
|
|
44
44
|
| --- | --- | --- |
|
|
45
45
|
| `health_check` | API health and uptime | Free |
|
|
46
|
-
| `anomaly_scan` | Chain-wide sequence anomaly scan
|
|
47
|
-
| `token_scan` | Single-token
|
|
48
|
-
| `whale_alerts` |
|
|
49
|
-
| `
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
46
|
+
| `anomaly_scan` | Chain-wide sequence anomaly scan | $0.05 USDC |
|
|
47
|
+
| `token_scan` | Single-token transfer pattern anomalies | $0.03 USDC |
|
|
48
|
+
| `whale_alerts` | Whale movements, CEX flows, bridge activity | $0.02 USDC |
|
|
49
|
+
| `address_scan` | Wallet transaction pattern anomalies | $0.03 USDC |
|
|
50
|
+
| `model_status` | SequenceMiner model health per chain | $0.01 USDC |
|
|
51
|
+
| `nft_scan` | NFT collection anomalies (sweeps, wash trading) | $0.03 USDC |
|
|
52
|
+
| `defi_scan` | DeFi protocol flow anomalies | $0.03 USDC |
|
|
53
|
+
| `squawk_alerts` | Live aviation emergency squawk codes | $0.02 USDC |
|
|
54
|
+
| `flight_scan` | Airspace region anomaly analysis | $0.03 USDC |
|
|
55
|
+
| `trending_signal` | GitHub repos with anomalous star velocity | $0.02 USDC |
|
|
56
|
+
| `repo_scan` | Deep repo velocity/fork anomaly scan | $0.03 USDC |
|
|
57
|
+
| `github_watch` | Repo activity stream anomalies | $0.03 USDC |
|
|
58
|
+
| `claude_feature_watch` | Anthropic/Claude merged feature alerts | $0.02 USDC |
|
|
59
|
+
|
|
60
|
+
### Blockchain Tools
|
|
61
|
+
|
|
62
|
+
**anomaly_scan** — Scan a blockchain for sequence anomalies across all monitored addresses.
|
|
63
|
+
- **chain**: `ethereum`, `base`, or `arbitrum` (default: ethereum)
|
|
64
|
+
- **window**: `1h`, `4h`, `24h`, or `168h` (default: 24h)
|
|
65
|
+
- Returns: `sequence_score` (0-100), `story` (human label), `novelty`, `peak_window`, `possible_failure_modes`
|
|
54
66
|
|
|
67
|
+
**token_scan** — Anomaly scan for a single token's recent transfer patterns.
|
|
68
|
+
- **token** (required): Contract address (`0x...`) or symbol — `usdt`, `usdc`, `weth`, `wbtc`, `link`, `uni`, `aave`, `steth`, `pepe`, `dai`, `cbeth`, `arb`
|
|
55
69
|
- **chain**: `ethereum`, `base`, or `arbitrum` (default: ethereum)
|
|
56
70
|
- **window**: `1h`, `4h`, `24h`, or `168h` (default: 24h)
|
|
57
71
|
|
|
58
|
-
|
|
72
|
+
**whale_alerts** — Recent whale movements from 12+ monitored addresses: Binance, Coinbase, Kraken, OKX, Bybit, major bridges, Tether, Circle.
|
|
73
|
+
- **chain**: `ethereum`, `base`, or `arbitrum` (default: ethereum)
|
|
74
|
+
- **hours**: 1-168 (default: 4)
|
|
59
75
|
|
|
60
|
-
|
|
76
|
+
**address_scan** — Scan any wallet address for anomalous transaction patterns.
|
|
77
|
+
- **address** (required): Wallet address (`0x...`)
|
|
78
|
+
- **chain**: `ethereum`, `base`, or `arbitrum`
|
|
79
|
+
- **window**: `1h`, `4h`, `24h`, or `168h`
|
|
61
80
|
|
|
62
|
-
Anomaly scan for
|
|
81
|
+
**nft_scan** — Anomaly scan for an NFT collection — sweep accumulation, wash trading, mint surges.
|
|
82
|
+
- **token** (required): ERC-721/ERC-1155 contract address
|
|
63
83
|
|
|
64
|
-
|
|
65
|
-
- **
|
|
66
|
-
- **window**: `1h`, `4h`, `24h`, or `168h` (default: 24h)
|
|
84
|
+
**defi_scan** — Anomaly scan for DeFi protocols — unusual flows through Uniswap, Aave, Curve, Compound.
|
|
85
|
+
- **protocol** (required): Protocol name or `0x` address
|
|
67
86
|
|
|
68
|
-
|
|
87
|
+
### Aviation Tools
|
|
69
88
|
|
|
70
|
-
|
|
89
|
+
**squawk_alerts** — Live global sweep of aircraft squawking 7700 (emergency), 7600 (radio failure), or 7500 (hijack).
|
|
71
90
|
|
|
72
|
-
|
|
91
|
+
**flight_scan** — Sequence anomaly analysis for a named airspace region.
|
|
92
|
+
- **region**: `north_atlantic`, `europe`, `north_america`, `asia_pacific`, `middle_east`, `africa`, or `global`
|
|
73
93
|
|
|
74
|
-
|
|
75
|
-
|
|
94
|
+
### GitHub Tools
|
|
95
|
+
|
|
96
|
+
**trending_signal** — GitHub repos with anomalous star velocity — early signals before mainstream discovery.
|
|
97
|
+
- **days**: `3`, `7`, `14`, or `30` (default: 7)
|
|
98
|
+
|
|
99
|
+
**repo_scan** — Deep anomaly scan for a single repository — star velocity, fork ratio, overnight explosion signals.
|
|
100
|
+
- **repo** (required): `owner/repo` format
|
|
101
|
+
|
|
102
|
+
**github_watch** — Watch a repo's activity stream for anomalous development patterns — commit bursts, force pushes, issue floods, merge rushes, bot takeovers.
|
|
103
|
+
- **repo** (required): `owner/repo` format
|
|
104
|
+
|
|
105
|
+
**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
|
+
- **days**: 1-30 (default: 7)
|
|
107
|
+
|
|
108
|
+
## Symbol Alphabets
|
|
109
|
+
|
|
110
|
+
**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`
|
|
76
111
|
|
|
77
|
-
|
|
112
|
+
**NFT**: `NFT_MINT`, `NFT_BURN`, `NFT_SALE`, `NFT_SWEEP`, `NFT_WASH_TRADE`
|
|
78
113
|
|
|
79
|
-
|
|
114
|
+
**Aviation**: `ENROUTE`, `SQUAWK_7700`, `SQUAWK_7600`, `SQUAWK_7500`, `RAPID_DESCENT`, `RAPID_CLIMB`, `HIGH_SPEED`, `NEAR_STALL`
|
|
80
115
|
|
|
81
|
-
|
|
116
|
+
**Creator**: `VIRAL_REPO`, `HOT_REPO`, `EMERGING_REPO`, `STEADY_REPO`, `QUIET_REPO`, `FORK_SURGE`, `BOOKMARK_ONLY`, `ISSUE_FLOOD`, `OVERNIGHT_STAR`, `RAPID_GROWTH`
|
|
82
117
|
|
|
83
|
-
`
|
|
118
|
+
**GitHub Watch**: `COMMIT_PUSH`, `COMMIT_BURST`, `FORCE_PUSH`, `ISSUE_OPEN`, `ISSUE_CLOSE`, `ISSUE_COMMENT`, `ISSUE_FLOOD`, `PR_OPEN`, `PR_MERGE`, `PR_CLOSE`, `PR_REVIEW`, `MERGE_RUSH`, `BRANCH_CREATE`, `BRANCH_DELETE`, `TAG_CREATE`, `RELEASE_PUBLISH`, `FORK_EVENT`, `STAR_EVENT`, `BOT_DOMINATED`, `SOLO_OPERATOR`
|
|
84
119
|
|
|
85
120
|
## Payment
|
|
86
121
|
|
package/dist/index.js
CHANGED
package/dist/tools.d.ts
CHANGED
|
@@ -219,5 +219,49 @@ export declare const tools: ({
|
|
|
219
219
|
};
|
|
220
220
|
required: string[];
|
|
221
221
|
};
|
|
222
|
+
} | {
|
|
223
|
+
name: string;
|
|
224
|
+
description: string;
|
|
225
|
+
inputSchema: {
|
|
226
|
+
type: "object";
|
|
227
|
+
properties: {
|
|
228
|
+
days: {
|
|
229
|
+
type: string;
|
|
230
|
+
description: string;
|
|
231
|
+
enum?: undefined;
|
|
232
|
+
};
|
|
233
|
+
chain?: undefined;
|
|
234
|
+
window?: undefined;
|
|
235
|
+
token?: undefined;
|
|
236
|
+
hours?: undefined;
|
|
237
|
+
address?: undefined;
|
|
238
|
+
protocol?: undefined;
|
|
239
|
+
region?: undefined;
|
|
240
|
+
repo?: undefined;
|
|
241
|
+
};
|
|
242
|
+
required?: undefined;
|
|
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
|
+
};
|
|
222
266
|
})[];
|
|
223
267
|
export declare function callTool(name: string, args: Record<string, unknown>): Promise<unknown>;
|
package/dist/tools.js
CHANGED
|
@@ -198,6 +198,63 @@ export const tools = [
|
|
|
198
198
|
},
|
|
199
199
|
required: ["repo"]
|
|
200
200
|
}
|
|
201
|
+
},
|
|
202
|
+
// ── GitHub activity watch ─────────────────────────────────────────────────
|
|
203
|
+
{
|
|
204
|
+
name: "github_watch",
|
|
205
|
+
description: "Watch a GitHub repo's activity stream for anomalous development patterns — commit bursts, force pushes, issue floods, merge rushes, bot takeovers. Returns a story label (e.g. 'History Rewrite', 'Merge Sprint', 'Bot Takeover') and anomaly score. Costs $0.03 USDC on Base mainnet.",
|
|
206
|
+
inputSchema: {
|
|
207
|
+
type: "object",
|
|
208
|
+
properties: {
|
|
209
|
+
repo: {
|
|
210
|
+
type: "string",
|
|
211
|
+
description: "GitHub repo in owner/repo format, e.g. vercel/ai"
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
required: ["repo"]
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
name: "claude_feature_watch",
|
|
219
|
+
description: "Watch Anthropic/Claude repos for recently merged features — SDK changes, Claude Code updates, new capabilities. Scans anthropic-sdk-python, anthropic-sdk-typescript, claude-code, courses, and anthropic-cookbook. Costs $0.02 USDC on Base mainnet.",
|
|
220
|
+
inputSchema: {
|
|
221
|
+
type: "object",
|
|
222
|
+
properties: {
|
|
223
|
+
days: {
|
|
224
|
+
type: "integer",
|
|
225
|
+
description: "Lookback window in days, 1-30 (default: 7)"
|
|
226
|
+
}
|
|
227
|
+
}
|
|
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
|
+
}
|
|
201
258
|
}
|
|
202
259
|
];
|
|
203
260
|
async function apiGet(path) {
|
|
@@ -297,6 +354,22 @@ export async function callTool(name, args) {
|
|
|
297
354
|
return apiPost("/api/repo-scan", {
|
|
298
355
|
repo: args.repo
|
|
299
356
|
});
|
|
357
|
+
case "github_watch":
|
|
358
|
+
return apiPost("/api/github-watch", {
|
|
359
|
+
repo: args.repo
|
|
360
|
+
});
|
|
361
|
+
case "claude_feature_watch": {
|
|
362
|
+
const cfDays = args.days || 7;
|
|
363
|
+
return apiGet(`/api/claude-feature-watch?days=${cfDays}`);
|
|
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
|
+
}
|
|
300
373
|
default:
|
|
301
374
|
return { error: `Unknown tool: ${name}` };
|
|
302
375
|
}
|
package/glama.json
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://glama.ai/mcp/schemas/server.json",
|
|
3
|
+
"name": "@forgemeshlabs/anomaly-mcp",
|
|
4
|
+
"description": "Multi-domain sequence anomaly detection — blockchain, aviation, and GitHub. NASA-derived sequence mining returns story labels via x402 micropayments on Base mainnet.",
|
|
3
5
|
"maintainers": [
|
|
4
6
|
"clawdbotworker"
|
|
7
|
+
],
|
|
8
|
+
"tags": [
|
|
9
|
+
"anomaly-detection",
|
|
10
|
+
"blockchain",
|
|
11
|
+
"aviation",
|
|
12
|
+
"github",
|
|
13
|
+
"x402",
|
|
14
|
+
"usdc",
|
|
15
|
+
"sequence-mining"
|
|
5
16
|
]
|
|
6
17
|
}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forgemeshlabs/anomaly-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"mcpName": "io.github.forgemeshlabs/anomaly-mcp",
|
|
5
|
-
"description": "
|
|
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"
|
|
@@ -31,13 +31,20 @@
|
|
|
31
31
|
"anomaly-detection",
|
|
32
32
|
"sequence-mining",
|
|
33
33
|
"blockchain",
|
|
34
|
+
"aviation",
|
|
35
|
+
"github",
|
|
36
|
+
"claude",
|
|
34
37
|
"ethereum",
|
|
35
38
|
"base",
|
|
36
39
|
"arbitrum",
|
|
37
40
|
"forgemesh",
|
|
38
41
|
"usdc",
|
|
39
42
|
"nasa",
|
|
40
|
-
"sequenceminer"
|
|
43
|
+
"sequenceminer",
|
|
44
|
+
"mempool",
|
|
45
|
+
"stablecoin",
|
|
46
|
+
"depeg",
|
|
47
|
+
"realtime"
|
|
41
48
|
],
|
|
42
49
|
"author": "forgemeshlabs",
|
|
43
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": "
|
|
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.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@forgemeshlabs/anomaly-mcp",
|
|
14
|
-
"version": "0.
|
|
14
|
+
"version": "0.5.0",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|