@forgemeshlabs/anomaly-mcp 0.2.0 → 0.4.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 +136 -0
- package/dist/tools.js +163 -0
- package/glama.json +11 -0
- package/package.json +5 -2
- 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
|
@@ -9,6 +9,10 @@ export declare const tools: ({
|
|
|
9
9
|
token?: undefined;
|
|
10
10
|
hours?: undefined;
|
|
11
11
|
address?: undefined;
|
|
12
|
+
protocol?: undefined;
|
|
13
|
+
region?: undefined;
|
|
14
|
+
days?: undefined;
|
|
15
|
+
repo?: undefined;
|
|
12
16
|
};
|
|
13
17
|
required?: undefined;
|
|
14
18
|
};
|
|
@@ -31,6 +35,10 @@ export declare const tools: ({
|
|
|
31
35
|
token?: undefined;
|
|
32
36
|
hours?: undefined;
|
|
33
37
|
address?: undefined;
|
|
38
|
+
protocol?: undefined;
|
|
39
|
+
region?: undefined;
|
|
40
|
+
days?: undefined;
|
|
41
|
+
repo?: undefined;
|
|
34
42
|
};
|
|
35
43
|
required?: undefined;
|
|
36
44
|
};
|
|
@@ -56,6 +64,10 @@ export declare const tools: ({
|
|
|
56
64
|
};
|
|
57
65
|
hours?: undefined;
|
|
58
66
|
address?: undefined;
|
|
67
|
+
protocol?: undefined;
|
|
68
|
+
region?: undefined;
|
|
69
|
+
days?: undefined;
|
|
70
|
+
repo?: undefined;
|
|
59
71
|
};
|
|
60
72
|
required: string[];
|
|
61
73
|
};
|
|
@@ -77,6 +89,10 @@ export declare const tools: ({
|
|
|
77
89
|
window?: undefined;
|
|
78
90
|
token?: undefined;
|
|
79
91
|
address?: undefined;
|
|
92
|
+
protocol?: undefined;
|
|
93
|
+
region?: undefined;
|
|
94
|
+
days?: undefined;
|
|
95
|
+
repo?: undefined;
|
|
80
96
|
};
|
|
81
97
|
required?: undefined;
|
|
82
98
|
};
|
|
@@ -102,8 +118,128 @@ export declare const tools: ({
|
|
|
102
118
|
};
|
|
103
119
|
token?: undefined;
|
|
104
120
|
hours?: undefined;
|
|
121
|
+
protocol?: undefined;
|
|
122
|
+
region?: undefined;
|
|
123
|
+
days?: undefined;
|
|
124
|
+
repo?: undefined;
|
|
105
125
|
};
|
|
106
126
|
required: string[];
|
|
107
127
|
};
|
|
128
|
+
} | {
|
|
129
|
+
name: string;
|
|
130
|
+
description: string;
|
|
131
|
+
inputSchema: {
|
|
132
|
+
type: "object";
|
|
133
|
+
properties: {
|
|
134
|
+
protocol: {
|
|
135
|
+
type: string;
|
|
136
|
+
description: string;
|
|
137
|
+
};
|
|
138
|
+
chain: {
|
|
139
|
+
type: string;
|
|
140
|
+
enum: string[];
|
|
141
|
+
description: string;
|
|
142
|
+
};
|
|
143
|
+
window: {
|
|
144
|
+
type: string;
|
|
145
|
+
enum: string[];
|
|
146
|
+
description: string;
|
|
147
|
+
};
|
|
148
|
+
token?: undefined;
|
|
149
|
+
hours?: undefined;
|
|
150
|
+
address?: undefined;
|
|
151
|
+
region?: undefined;
|
|
152
|
+
days?: undefined;
|
|
153
|
+
repo?: undefined;
|
|
154
|
+
};
|
|
155
|
+
required: string[];
|
|
156
|
+
};
|
|
157
|
+
} | {
|
|
158
|
+
name: string;
|
|
159
|
+
description: string;
|
|
160
|
+
inputSchema: {
|
|
161
|
+
type: "object";
|
|
162
|
+
properties: {
|
|
163
|
+
region: {
|
|
164
|
+
type: string;
|
|
165
|
+
enum: string[];
|
|
166
|
+
description: string;
|
|
167
|
+
};
|
|
168
|
+
chain?: undefined;
|
|
169
|
+
window?: undefined;
|
|
170
|
+
token?: undefined;
|
|
171
|
+
hours?: undefined;
|
|
172
|
+
address?: undefined;
|
|
173
|
+
protocol?: undefined;
|
|
174
|
+
days?: undefined;
|
|
175
|
+
repo?: undefined;
|
|
176
|
+
};
|
|
177
|
+
required?: undefined;
|
|
178
|
+
};
|
|
179
|
+
} | {
|
|
180
|
+
name: string;
|
|
181
|
+
description: string;
|
|
182
|
+
inputSchema: {
|
|
183
|
+
type: "object";
|
|
184
|
+
properties: {
|
|
185
|
+
days: {
|
|
186
|
+
type: string;
|
|
187
|
+
enum: string[];
|
|
188
|
+
description: string;
|
|
189
|
+
};
|
|
190
|
+
chain?: undefined;
|
|
191
|
+
window?: undefined;
|
|
192
|
+
token?: undefined;
|
|
193
|
+
hours?: undefined;
|
|
194
|
+
address?: undefined;
|
|
195
|
+
protocol?: undefined;
|
|
196
|
+
region?: undefined;
|
|
197
|
+
repo?: undefined;
|
|
198
|
+
};
|
|
199
|
+
required?: undefined;
|
|
200
|
+
};
|
|
201
|
+
} | {
|
|
202
|
+
name: string;
|
|
203
|
+
description: string;
|
|
204
|
+
inputSchema: {
|
|
205
|
+
type: "object";
|
|
206
|
+
properties: {
|
|
207
|
+
repo: {
|
|
208
|
+
type: string;
|
|
209
|
+
description: string;
|
|
210
|
+
};
|
|
211
|
+
chain?: undefined;
|
|
212
|
+
window?: undefined;
|
|
213
|
+
token?: undefined;
|
|
214
|
+
hours?: undefined;
|
|
215
|
+
address?: undefined;
|
|
216
|
+
protocol?: undefined;
|
|
217
|
+
region?: undefined;
|
|
218
|
+
days?: undefined;
|
|
219
|
+
};
|
|
220
|
+
required: string[];
|
|
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
|
+
};
|
|
108
244
|
})[];
|
|
109
245
|
export declare function callTool(name: string, args: Record<string, unknown>): Promise<unknown>;
|
package/dist/tools.js
CHANGED
|
@@ -97,6 +97,135 @@ export const tools = [
|
|
|
97
97
|
type: "object",
|
|
98
98
|
properties: {}
|
|
99
99
|
}
|
|
100
|
+
},
|
|
101
|
+
// ── NFT & DeFi ────────────────────────────────────────────────────────────
|
|
102
|
+
{
|
|
103
|
+
name: "nft_scan",
|
|
104
|
+
description: "Anomaly scan for an NFT collection — detects sweep accumulation, wash trading patterns, and mint surges before they're obvious. Pass a contract address. Returns a story label (e.g. 'Sweep Accumulation', 'Wash Trading Detected') and anomaly score. Costs $0.03 USDC on Base mainnet.",
|
|
105
|
+
inputSchema: {
|
|
106
|
+
type: "object",
|
|
107
|
+
properties: {
|
|
108
|
+
token: {
|
|
109
|
+
type: "string",
|
|
110
|
+
description: "NFT contract address (ERC-721 or ERC-1155), e.g. 0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d"
|
|
111
|
+
},
|
|
112
|
+
chain: {
|
|
113
|
+
type: "string",
|
|
114
|
+
enum: ["ethereum", "base", "arbitrum"],
|
|
115
|
+
description: "Blockchain (default: ethereum)"
|
|
116
|
+
},
|
|
117
|
+
window: {
|
|
118
|
+
type: "string",
|
|
119
|
+
enum: ["1h", "4h", "24h", "168h"],
|
|
120
|
+
description: "Lookback window (default: 24h)"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
required: ["token"]
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
name: "defi_scan",
|
|
128
|
+
description: "Anomaly scan for a DeFi protocol — detects unusual flows through major lending and DEX contracts (Uniswap, Aave, Curve, Compound). Pass a protocol name or contract address. Returns a story label and anomaly score. Costs $0.03 USDC on Base mainnet.",
|
|
129
|
+
inputSchema: {
|
|
130
|
+
type: "object",
|
|
131
|
+
properties: {
|
|
132
|
+
protocol: {
|
|
133
|
+
type: "string",
|
|
134
|
+
description: "Protocol name (uniswap_v3, uniswap_v3_r2, aave_v3, aave_v2, curve_3pool, compound_v3) or a 0x contract address"
|
|
135
|
+
},
|
|
136
|
+
chain: {
|
|
137
|
+
type: "string",
|
|
138
|
+
enum: ["ethereum", "base", "arbitrum"],
|
|
139
|
+
description: "Blockchain (default: ethereum)"
|
|
140
|
+
},
|
|
141
|
+
window: {
|
|
142
|
+
type: "string",
|
|
143
|
+
enum: ["1h", "4h", "24h", "168h"],
|
|
144
|
+
description: "Lookback window (default: 24h)"
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
required: ["protocol"]
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
// ── Aviation ──────────────────────────────────────────────────────────────
|
|
151
|
+
{
|
|
152
|
+
name: "squawk_alerts",
|
|
153
|
+
description: "Live global sweep of active aviation emergency squawk codes via OpenSky Network. Returns all aircraft currently squawking 7700 (general emergency), 7600 (radio failure), or 7500 (hijack) with position, altitude, and velocity. Costs $0.02 USDC on Base mainnet.",
|
|
154
|
+
inputSchema: {
|
|
155
|
+
type: "object",
|
|
156
|
+
properties: {}
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
name: "flight_scan",
|
|
161
|
+
description: "Sequence anomaly analysis for a named airspace region — detects unusual clustering of emergency squawks, rapid descents, or speed anomalies using the SequenceMiner engine. Costs $0.03 USDC on Base mainnet.",
|
|
162
|
+
inputSchema: {
|
|
163
|
+
type: "object",
|
|
164
|
+
properties: {
|
|
165
|
+
region: {
|
|
166
|
+
type: "string",
|
|
167
|
+
enum: ["north_atlantic", "europe", "north_america", "asia_pacific", "middle_east", "africa", "global"],
|
|
168
|
+
description: "Airspace region to analyze (default: global)"
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
// ── Creator signals ───────────────────────────────────────────────────────
|
|
174
|
+
{
|
|
175
|
+
name: "trending_signal",
|
|
176
|
+
description: "GitHub repos with anomalous star velocity right now — early signals before mainstream discovery. Detects repos going viral (200+ stars/day), overnight explosions, fork surges, and issue floods. Useful for trend hunting, VC scouting, developer tool discovery. Costs $0.02 USDC on Base mainnet.",
|
|
177
|
+
inputSchema: {
|
|
178
|
+
type: "object",
|
|
179
|
+
properties: {
|
|
180
|
+
days: {
|
|
181
|
+
type: "string",
|
|
182
|
+
enum: ["3", "7", "14", "30"],
|
|
183
|
+
description: "Search repos created in the last N days (default: 7)"
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
name: "repo_scan",
|
|
190
|
+
description: "Deep anomaly scan for a single GitHub repository — scores star velocity, fork ratio, overnight explosion signals, and issue flood patterns. Returns a story label (e.g. 'Breakout Signal', 'Viral Activity') and anomaly score. Costs $0.03 USDC on Base mainnet.",
|
|
191
|
+
inputSchema: {
|
|
192
|
+
type: "object",
|
|
193
|
+
properties: {
|
|
194
|
+
repo: {
|
|
195
|
+
type: "string",
|
|
196
|
+
description: "GitHub repo in owner/repo format, e.g. vercel/ai or microsoft/vscode"
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
required: ["repo"]
|
|
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
|
+
}
|
|
100
229
|
}
|
|
101
230
|
];
|
|
102
231
|
async function apiGet(path) {
|
|
@@ -170,6 +299,40 @@ export async function callTool(name, args) {
|
|
|
170
299
|
});
|
|
171
300
|
case "model_status":
|
|
172
301
|
return apiGet("/api/sequence-anomaly/status");
|
|
302
|
+
case "nft_scan":
|
|
303
|
+
return apiPost("/api/nft-scan", {
|
|
304
|
+
token: args.token,
|
|
305
|
+
chain: args.chain || "ethereum",
|
|
306
|
+
window: args.window || "24h"
|
|
307
|
+
});
|
|
308
|
+
case "defi_scan":
|
|
309
|
+
return apiPost("/api/defi-scan", {
|
|
310
|
+
protocol: args.protocol,
|
|
311
|
+
chain: args.chain || "ethereum",
|
|
312
|
+
window: args.window || "24h"
|
|
313
|
+
});
|
|
314
|
+
case "squawk_alerts":
|
|
315
|
+
return apiGet("/api/squawk-alerts");
|
|
316
|
+
case "flight_scan":
|
|
317
|
+
return apiPost("/api/flight-scan", {
|
|
318
|
+
region: args.region || "global"
|
|
319
|
+
});
|
|
320
|
+
case "trending_signal": {
|
|
321
|
+
const days = args.days || "7";
|
|
322
|
+
return apiGet(`/api/trending-signal?days=${days}`);
|
|
323
|
+
}
|
|
324
|
+
case "repo_scan":
|
|
325
|
+
return apiPost("/api/repo-scan", {
|
|
326
|
+
repo: args.repo
|
|
327
|
+
});
|
|
328
|
+
case "github_watch":
|
|
329
|
+
return apiPost("/api/github-watch", {
|
|
330
|
+
repo: args.repo
|
|
331
|
+
});
|
|
332
|
+
case "claude_feature_watch": {
|
|
333
|
+
const cfDays = args.days || 7;
|
|
334
|
+
return apiGet(`/api/claude-feature-watch?days=${cfDays}`);
|
|
335
|
+
}
|
|
173
336
|
default:
|
|
174
337
|
return { error: `Unknown tool: ${name}` };
|
|
175
338
|
}
|
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.4.0",
|
|
4
4
|
"mcpName": "io.github.forgemeshlabs/anomaly-mcp",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "Multi-domain sequence anomaly detection MCP server. Blockchain, aviation, and GitHub anomalies via x402 micropayments.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
8
8
|
"anomaly-mcp": "dist/index.js"
|
|
@@ -31,6 +31,9 @@
|
|
|
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",
|
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 sequence anomaly detection — blockchain, aviation, and GitHub. NASA-derived sequence mining returns story labels 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.4.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@forgemeshlabs/anomaly-mcp",
|
|
14
|
-
"version": "0.
|
|
14
|
+
"version": "0.4.0",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|