@0xinsider/mcp 1.0.2 → 1.2.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.
Files changed (61) hide show
  1. package/README.md +94 -9
  2. package/dist/catalog.generated.d.ts +136 -0
  3. package/dist/catalog.generated.d.ts.map +1 -0
  4. package/dist/catalog.generated.js +171 -0
  5. package/dist/catalog.generated.js.map +1 -0
  6. package/dist/cli-lib.d.ts +9 -0
  7. package/dist/cli-lib.d.ts.map +1 -1
  8. package/dist/cli-lib.js +213 -69
  9. package/dist/cli-lib.js.map +1 -1
  10. package/dist/client.d.ts +6 -1
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +30 -4
  13. package/dist/client.js.map +1 -1
  14. package/dist/constants.d.ts +2 -1
  15. package/dist/constants.d.ts.map +1 -1
  16. package/dist/constants.js +25 -1
  17. package/dist/constants.js.map +1 -1
  18. package/dist/prompts/index.js +1 -1
  19. package/dist/server.d.ts.map +1 -1
  20. package/dist/server.js +53 -6
  21. package/dist/server.js.map +1 -1
  22. package/dist/tools/explore-markets.d.ts +51 -0
  23. package/dist/tools/explore-markets.d.ts.map +1 -0
  24. package/dist/tools/explore-markets.js +77 -0
  25. package/dist/tools/explore-markets.js.map +1 -0
  26. package/dist/tools/get-insider-radar.js +1 -1
  27. package/dist/tools/get-large-positions.d.ts +28 -0
  28. package/dist/tools/get-large-positions.d.ts.map +1 -0
  29. package/dist/tools/get-large-positions.js +68 -0
  30. package/dist/tools/get-large-positions.js.map +1 -0
  31. package/dist/tools/get-position-timeline.d.ts +24 -0
  32. package/dist/tools/get-position-timeline.d.ts.map +1 -0
  33. package/dist/tools/get-position-timeline.js +79 -0
  34. package/dist/tools/get-position-timeline.js.map +1 -0
  35. package/dist/tools/get-positions.d.ts +31 -0
  36. package/dist/tools/get-positions.d.ts.map +1 -0
  37. package/dist/tools/get-positions.js +68 -0
  38. package/dist/tools/get-positions.js.map +1 -0
  39. package/dist/tools/get-trader-pnl.d.ts +6 -0
  40. package/dist/tools/get-trader-pnl.d.ts.map +1 -0
  41. package/dist/tools/get-trader-pnl.js +39 -0
  42. package/dist/tools/get-trader-pnl.js.map +1 -0
  43. package/dist/tools/get-trader.d.ts.map +1 -1
  44. package/dist/tools/get-trader.js +4 -3
  45. package/dist/tools/get-trader.js.map +1 -1
  46. package/dist/tools/get-trending-wallets.d.ts +18 -0
  47. package/dist/tools/get-trending-wallets.d.ts.map +1 -0
  48. package/dist/tools/get-trending-wallets.js +56 -0
  49. package/dist/tools/get-trending-wallets.js.map +1 -0
  50. package/dist/tools/get-whale-trades.d.ts.map +1 -1
  51. package/dist/tools/get-whale-trades.js +6 -2
  52. package/dist/tools/get-whale-trades.js.map +1 -1
  53. package/dist/tools/pick-of-the-day.d.ts +5 -0
  54. package/dist/tools/pick-of-the-day.d.ts.map +1 -0
  55. package/dist/tools/pick-of-the-day.js +74 -0
  56. package/dist/tools/pick-of-the-day.js.map +1 -0
  57. package/dist/tools/read-parity.d.ts +22 -0
  58. package/dist/tools/read-parity.d.ts.map +1 -0
  59. package/dist/tools/read-parity.js +549 -0
  60. package/dist/tools/read-parity.js.map +1 -0
  61. package/package.json +15 -7
@@ -0,0 +1,549 @@
1
+ import { z } from "zod";
2
+ import { ApiError } from "../client.js";
3
+ import { MAX_BATCH_ITEMS } from "../constants.js";
4
+ const readAnnotations = {
5
+ readOnlyHint: true,
6
+ destructiveHint: false,
7
+ idempotentHint: true,
8
+ openWorldHint: false,
9
+ };
10
+ function ok(value) {
11
+ return {
12
+ content: [{ type: "text", text: JSON.stringify(value, null, 2) }],
13
+ };
14
+ }
15
+ function fail(error) {
16
+ return {
17
+ isError: true,
18
+ content: [
19
+ {
20
+ type: "text",
21
+ text: error instanceof ApiError ? error.message : `Unexpected error: ${error}`,
22
+ },
23
+ ],
24
+ };
25
+ }
26
+ function listResult(response) {
27
+ return {
28
+ data: response.data,
29
+ has_more: response.has_more,
30
+ next_cursor: response.next_cursor,
31
+ total: response.total,
32
+ facets: response.facets,
33
+ meta: response.meta,
34
+ };
35
+ }
36
+ export function registerBatchGetTraders(server, client) {
37
+ server.registerTool("batch_get_traders", {
38
+ title: "Batch Trader Intelligence",
39
+ description: `Read-only batch lookup for 1-${MAX_BATCH_ITEMS} trader wallet addresses or known usernames. Results preserve request order and duplicate inputs return duplicate rows. Uses the same V1 batch item quota as POST /api/v1/traders/batch.
40
+
41
+ Args:
42
+ - traders (string[], required): Wallet addresses or known usernames
43
+ - expand (string[], optional): Heavy fields to include for every trader: "strategy", "categories", "quant_metrics" (per-item quant_metrics is omitted unless its computed row is strictly under six hours old)
44
+
45
+ Returns: Ordered batch trader results with per-item success or error details.`,
46
+ inputSchema: {
47
+ traders: z.array(z.string().trim().min(1)).min(1).max(MAX_BATCH_ITEMS)
48
+ .describe("Wallet addresses or known usernames"),
49
+ expand: z.array(z.enum(["strategy", "categories", "quant_metrics"]))
50
+ .optional()
51
+ .describe("Shared heavy fields to include for every trader item"),
52
+ },
53
+ annotations: readAnnotations,
54
+ }, async ({ traders, expand }) => {
55
+ try {
56
+ return ok(await client.post("/api/v1/traders/batch", { traders, expand }));
57
+ }
58
+ catch (error) {
59
+ return fail(error);
60
+ }
61
+ });
62
+ }
63
+ export function registerGetWhaleTradesHistory(server, client) {
64
+ server.registerTool("get_whale_trades_history", {
65
+ title: "Replay Historical Whale Trades",
66
+ description: `Replay historical whale trades from local whale_alerts rows. Supports cursor pagination plus condition, trader, category, grade, platform, and RFC3339 from/to filters.
67
+
68
+ Args:
69
+ - limit (number, 1-100, default 20)
70
+ - cursor (string, optional): Pagination cursor with wth_ prefix
71
+ - min_size (number, optional): Minimum trade size in USD
72
+ - condition_id (string, optional): Exact raw provider condition_id
73
+ - trader (string, optional): Wallet, alias, or username
74
+ - category (string, optional)
75
+ - min_grade (string, optional): S, A, B, C, D, or F
76
+ - suspicious_only (boolean, optional): Keep only persisted suspicion_score >= 60
77
+ - platform (string, optional): polymarket, kalshi, or all
78
+ - from/to (string, optional): RFC3339 traded_at bounds
79
+
80
+ Returns: Historical whale trades with replay metadata, current signal_score, optional recorded_signal_score, optional suspicion_score, and optional suspicion_track. A null suspicion track means the persisted legacy row has no track label.`,
81
+ inputSchema: {
82
+ limit: z.number().int().min(1).max(100).default(20),
83
+ cursor: z.string().optional(),
84
+ min_size: z.number().min(0).optional(),
85
+ condition_id: z.string().optional(),
86
+ trader: z.string().optional(),
87
+ category: z.string().optional(),
88
+ min_grade: z.enum(["S", "A", "B", "C", "D", "F"]).optional(),
89
+ suspicious_only: z.boolean().optional(),
90
+ platform: z.enum(["polymarket", "kalshi", "all"]).optional(),
91
+ from: z.string().datetime().optional(),
92
+ to: z.string().datetime().optional(),
93
+ },
94
+ annotations: readAnnotations,
95
+ }, async (args) => {
96
+ try {
97
+ const response = await client.request("/api/v1/whale-trades/history", args);
98
+ return ok(listResult(response));
99
+ }
100
+ catch (error) {
101
+ return fail(error);
102
+ }
103
+ });
104
+ }
105
+ export function registerGetWhaleTrade(server, client) {
106
+ server.registerTool("get_whale_trade", {
107
+ title: "Get Whale Trade",
108
+ description: `Read one whale trade by ID. Accepts either the wt_ ID returned by whale-trade list/history responses or the raw numeric whale_alerts.id.
109
+
110
+ Args:
111
+ - id (string, required): Whale trade ID such as wt_123 or 123
112
+
113
+ Returns: One whale trade with trader info, market context, size, side, price, current signal_score, optional recorded_signal_score, optional suspicion_score, and optional suspicion_track. A null suspicion track means the persisted legacy row has no track label.`,
114
+ inputSchema: {
115
+ id: z.string().trim().min(1).describe("Whale trade ID such as wt_123 or 123"),
116
+ },
117
+ annotations: readAnnotations,
118
+ }, async ({ id }) => {
119
+ try {
120
+ const response = await client.request(`/api/v1/whale-trades/${encodeURIComponent(id)}`);
121
+ return ok(response.data);
122
+ }
123
+ catch (error) {
124
+ return fail(error);
125
+ }
126
+ });
127
+ }
128
+ export function registerBatchGetMarketIntel(server, client) {
129
+ server.registerTool("batch_get_market_intel", {
130
+ title: "Batch Market Intelligence",
131
+ description: `Read-only batch lookup for 1-${MAX_BATCH_ITEMS} raw provider condition_id values. Results preserve request order and duplicate inputs return duplicate rows. Uses the same V1 batch item quota as POST /api/v1/markets/intel/batch.
132
+
133
+ Args:
134
+ - condition_ids (string[], required): Raw provider condition IDs
135
+ - timeframe (string, optional): "1h", "4h", "24h", or "7d" (default "24h")
136
+
137
+ Returns: Ordered batch market-intelligence results with per-item success or error details.`,
138
+ inputSchema: {
139
+ condition_ids: z.array(z.string().trim().min(1)).min(1).max(MAX_BATCH_ITEMS)
140
+ .describe("Raw provider condition IDs"),
141
+ timeframe: z.enum(["1h", "4h", "24h", "7d"]).default("24h"),
142
+ },
143
+ annotations: readAnnotations,
144
+ }, async ({ condition_ids, timeframe }) => {
145
+ try {
146
+ return ok(await client.post("/api/v1/markets/intel/batch", { condition_ids, timeframe }));
147
+ }
148
+ catch (error) {
149
+ return fail(error);
150
+ }
151
+ });
152
+ }
153
+ export function registerGetSmartMoneyFlows(server, client) {
154
+ server.registerTool("get_smart_money_flows", {
155
+ title: "List Smart-Money Flows",
156
+ description: `Ranked smart-money flow discovery across prediction markets. Use this before you know a condition_id to find where graded traders are net buying or selling. Cursor-paginated, ranked by absolute net flow descending.
157
+
158
+ Args:
159
+ - timeframe (string, optional): Lookback window: "1h", "4h", "24h", "7d" (default "24h")
160
+ - limit (number, 1-100, default 20): Max results per page
161
+ - cursor (string, optional): Pagination cursor with smf_ prefix
162
+ - category (string, optional): Filter by provider-backed market category
163
+ - platform (string, optional): "polymarket", "kalshi", or "all" (default "all")
164
+ - min_grade (string, optional): Minimum trader grade S, A, B, C, D, or F (default "B" = S/A/B)
165
+ - direction (string, optional): Filter by net flow direction: "YES" or "NO"
166
+
167
+ Returns: Ranked markets with net_flow_usd, direction, whale_trade_count, buy/sell volumes, and market identity.`,
168
+ inputSchema: {
169
+ timeframe: z.enum(["1h", "4h", "24h", "7d"]).default("24h"),
170
+ limit: z.number().int().min(1).max(100).default(20),
171
+ cursor: z.string().optional()
172
+ .describe("Pagination cursor with smf_ prefix"),
173
+ category: z.string().optional()
174
+ .describe("Filter by provider-backed market category"),
175
+ platform: z.enum(["polymarket", "kalshi", "all"]).optional(),
176
+ min_grade: z.enum(["S", "A", "B", "C", "D", "F"]).optional()
177
+ .describe("Minimum trader grade (default B = S/A/B)"),
178
+ direction: z.enum(["YES", "NO"]).optional()
179
+ .describe("Filter by net flow direction"),
180
+ },
181
+ annotations: readAnnotations,
182
+ }, async (args) => {
183
+ try {
184
+ const response = await client.request("/api/v1/markets/smart-money-flows", args);
185
+ return ok(listResult(response));
186
+ }
187
+ catch (error) {
188
+ return fail(error);
189
+ }
190
+ });
191
+ }
192
+ // Additive "sharp money" alias of get_smart_money_flows (epic #6912); same
193
+ // schema, proxies to the /sharp-money-flows path (backend aliases both paths to
194
+ // one handler). Brings the stdio package to parity with the remote MCP tool set.
195
+ export function registerGetSharpMoneyFlows(server, client) {
196
+ server.registerTool("get_sharp_money_flows", {
197
+ title: "List Sharp-Money Flows",
198
+ description: `Ranked sharp-money flow discovery across prediction markets. Use this before you know a condition_id to find where graded traders are net buying or selling. Cursor-paginated, ranked by absolute net flow descending.
199
+
200
+ Args:
201
+ - timeframe (string, optional): Lookback window: "1h", "4h", "24h", "7d" (default "24h")
202
+ - limit (number, 1-100, default 20): Max results per page
203
+ - cursor (string, optional): Pagination cursor with smf_ prefix
204
+ - category (string, optional): Filter by provider-backed market category
205
+ - platform (string, optional): "polymarket", "kalshi", or "all" (default "all")
206
+ - min_grade (string, optional): Minimum trader grade S, A, B, C, D, or F (default "B" = S/A/B)
207
+ - direction (string, optional): Filter by net flow direction: "YES" or "NO"
208
+
209
+ Returns: Ranked markets with net_flow_usd, direction, whale_trade_count, buy/sell volumes, and market identity.`,
210
+ inputSchema: {
211
+ timeframe: z.enum(["1h", "4h", "24h", "7d"]).default("24h"),
212
+ limit: z.number().int().min(1).max(100).default(20),
213
+ cursor: z.string().optional()
214
+ .describe("Pagination cursor with smf_ prefix"),
215
+ category: z.string().optional()
216
+ .describe("Filter by provider-backed market category"),
217
+ platform: z.enum(["polymarket", "kalshi", "all"]).optional(),
218
+ min_grade: z.enum(["S", "A", "B", "C", "D", "F"]).optional()
219
+ .describe("Minimum trader grade (default B = S/A/B)"),
220
+ direction: z.enum(["YES", "NO"]).optional()
221
+ .describe("Filter by net flow direction"),
222
+ },
223
+ annotations: readAnnotations,
224
+ }, async (args) => {
225
+ try {
226
+ const response = await client.request("/api/v1/markets/sharp-money-flows", args);
227
+ return ok(listResult(response));
228
+ }
229
+ catch (error) {
230
+ return fail(error);
231
+ }
232
+ });
233
+ }
234
+ export function registerGetMarketSnapshot(server, client) {
235
+ server.registerTool("get_market_snapshot", {
236
+ title: "Get Market Snapshot",
237
+ description: `Provider-first live market-card snapshot for one raw provider condition_id. Forwards IDs to the V1 handler without mkt_ rewriting.
238
+
239
+ Args:
240
+ - condition_id (string, required): Raw provider condition_id returned by search or explore
241
+
242
+ Returns: Market identity, outcomes, liquidity, sports context, and freshness states.`,
243
+ inputSchema: {
244
+ condition_id: z.string().trim().min(1).describe("Raw provider condition_id"),
245
+ },
246
+ annotations: readAnnotations,
247
+ }, async ({ condition_id }) => {
248
+ try {
249
+ const response = await client.request(`/api/v1/market/${encodeURIComponent(condition_id)}/snapshot`);
250
+ return ok(response.data);
251
+ }
252
+ catch (error) {
253
+ return fail(error);
254
+ }
255
+ });
256
+ }
257
+ export function registerGetPositionTimelineById(server, client) {
258
+ server.registerTool("get_position_timeline_by_id", {
259
+ title: "Get Position Timeline By Trader ID",
260
+ description: `Get stored Polymarket fills available for one internal trader id in one market, newest first, using the public V1 /api/v1/traders/{id}/position-timeline route.
261
+
262
+ Args:
263
+ - condition_id (string, required): Market condition ID
264
+ - trader_id (number, required): Internal traders.id alias
265
+ - limit (number, 1-100, default 20)
266
+ - cursor (string, optional)
267
+
268
+ Returns: List of position timeline events with pagination metadata.`,
269
+ inputSchema: {
270
+ condition_id: z.string().trim().min(1).describe("Market condition ID"),
271
+ trader_id: z.number().int().positive().describe("Internal traders.id alias"),
272
+ limit: z.number().int().min(1).max(100).default(20),
273
+ cursor: z.string().optional(),
274
+ },
275
+ annotations: readAnnotations,
276
+ }, async ({ condition_id, trader_id, limit, cursor }) => {
277
+ try {
278
+ const response = await client.request(`/api/v1/traders/${trader_id}/position-timeline`, { condition_id, limit, cursor });
279
+ return ok(listResult(response));
280
+ }
281
+ catch (error) {
282
+ return fail(error);
283
+ }
284
+ });
285
+ }
286
+ export function registerGetInsiderRadarFlag(server, client) {
287
+ server.registerTool("get_insider_radar_flag", {
288
+ title: "Get Insider Radar Flag",
289
+ description: `Read one insider-radar flag by ID. Accepts either the rf_ ID returned by insider-radar list responses or the raw numeric radar_flags.id.
290
+
291
+ Args:
292
+ - id (string, required): Radar flag ID such as rf_123 or 123
293
+
294
+ Returns: One radar flag with trader, market, suspicion scores, and evidence.`,
295
+ inputSchema: {
296
+ id: z.string().trim().min(1).describe("Radar flag ID such as rf_123 or 123"),
297
+ },
298
+ annotations: readAnnotations,
299
+ }, async ({ id }) => {
300
+ try {
301
+ const response = await client.request(`/api/v1/insider-radar/${encodeURIComponent(id)}`);
302
+ return ok(response.data);
303
+ }
304
+ catch (error) {
305
+ return fail(error);
306
+ }
307
+ });
308
+ }
309
+ export function registerGetEventReplaySince(server, client) {
310
+ server.registerTool("get_event_replay_since", {
311
+ title: "Replay Public Events",
312
+ description: `Replay durable public whale-trade intelligence events strictly after an opaque cursor backed by whale_alerts.id.
313
+
314
+ Args:
315
+ - cursor (string, optional): Opaque event replay cursor
316
+ - limit (number, 1-100, default 50)
317
+
318
+ Returns: Event replay window with retention and completeness metadata.`,
319
+ inputSchema: {
320
+ cursor: z.string().optional(),
321
+ limit: z.number().int().min(1).max(100).default(50),
322
+ },
323
+ annotations: readAnnotations,
324
+ }, async ({ cursor, limit }) => {
325
+ try {
326
+ const response = await client.request("/api/v1/events/feed/since", { cursor, limit });
327
+ return ok(listResult(response));
328
+ }
329
+ catch (error) {
330
+ return fail(error);
331
+ }
332
+ });
333
+ }
334
+ export function registerListWebhooks(server, client) {
335
+ server.registerTool("list_webhooks", {
336
+ title: "List Webhook Endpoints",
337
+ description: `Read-only list of webhook endpoints owned by the authenticated API key user. This does not create, update, verify, rotate, or delete webhook endpoints.
338
+
339
+ Args: none
340
+
341
+ Returns: List of webhook endpoint configuration records.`,
342
+ inputSchema: {},
343
+ annotations: readAnnotations,
344
+ }, async () => {
345
+ try {
346
+ const response = await client.request("/api/v1/webhooks");
347
+ return ok(listResult(response));
348
+ }
349
+ catch (error) {
350
+ return fail(error);
351
+ }
352
+ });
353
+ }
354
+ export function registerGetWebhook(server, client) {
355
+ server.registerTool("get_webhook", {
356
+ title: "Get Webhook Endpoint",
357
+ description: `Read-only lookup of one webhook endpoint owned by the authenticated API key user. This does not create, update, verify, rotate, or delete webhook endpoints.
358
+
359
+ Args:
360
+ - id (number, required): Webhook endpoint id
361
+
362
+ Returns: Webhook endpoint configuration record.`,
363
+ inputSchema: {
364
+ id: z.number().int().positive().describe("Webhook endpoint id"),
365
+ },
366
+ annotations: readAnnotations,
367
+ }, async ({ id }) => {
368
+ try {
369
+ const response = await client.request(`/api/v1/webhooks/${id}`);
370
+ return ok(response.data);
371
+ }
372
+ catch (error) {
373
+ return fail(error);
374
+ }
375
+ });
376
+ }
377
+ export function registerGetDailyReportSnapshot(server, client) {
378
+ server.registerTool("get_daily_report_snapshot", {
379
+ title: "Get Daily Report Snapshot",
380
+ description: `Read one dated daily whale-activity report snapshot.
381
+
382
+ Args:
383
+ - date (string, required): UTC report date in YYYY-MM-DD format
384
+
385
+ Returns: Report snapshot metadata and entries.`,
386
+ inputSchema: {
387
+ date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).describe("UTC report date in YYYY-MM-DD format"),
388
+ },
389
+ annotations: readAnnotations,
390
+ }, async ({ date }) => {
391
+ try {
392
+ const response = await client.request("/api/v1/reports/daily", { date });
393
+ return ok(response.data);
394
+ }
395
+ catch (error) {
396
+ return fail(error);
397
+ }
398
+ });
399
+ }
400
+ export function registerGetWeeklyReportSnapshot(server, client) {
401
+ server.registerTool("get_weekly_report_snapshot", {
402
+ title: "Get Weekly Report Snapshot",
403
+ description: `Read one weekly whale-activity report snapshot. Pass either from/to UTC dates or an ISO YYYY-WW week token.
404
+
405
+ Args:
406
+ - week (string, optional): YYYY-WW selector
407
+ - from/to (string, optional): UTC dates in YYYY-MM-DD format
408
+
409
+ Returns: Report snapshot metadata and entries.`,
410
+ inputSchema: {
411
+ week: z.string().regex(/^\d{4}-\d{2}$/).optional(),
412
+ from: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
413
+ to: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
414
+ },
415
+ annotations: readAnnotations,
416
+ }, async ({ week, from, to }) => {
417
+ try {
418
+ if ((week && (from || to)) || (!week && (!from || !to))) {
419
+ throw new Error("Provide either week or both from and to");
420
+ }
421
+ const response = await client.request("/api/v1/reports/weekly", { week, from, to });
422
+ return ok(response.data);
423
+ }
424
+ catch (error) {
425
+ return fail(error);
426
+ }
427
+ });
428
+ }
429
+ export function registerGetMonthlyReportSnapshot(server, client) {
430
+ server.registerTool("get_monthly_report_snapshot", {
431
+ title: "Get Monthly Report Snapshot",
432
+ description: `Read one UTC monthly whale-activity report snapshot.
433
+
434
+ Args:
435
+ - month (string, required): UTC report month in YYYY-MM format
436
+
437
+ Returns: Report snapshot metadata and entries.`,
438
+ inputSchema: {
439
+ month: z.string().regex(/^\d{4}-\d{2}$/).describe("UTC report month in YYYY-MM format"),
440
+ },
441
+ annotations: readAnnotations,
442
+ }, async ({ month }) => {
443
+ try {
444
+ const response = await client.request("/api/v1/reports/monthly", { month });
445
+ return ok(response.data);
446
+ }
447
+ catch (error) {
448
+ return fail(error);
449
+ }
450
+ });
451
+ }
452
+ export function registerGetTraderExportSnapshot(server, client) {
453
+ server.registerTool("get_trader_export_snapshot", {
454
+ title: "Get Trader Export Snapshot",
455
+ description: `Read export source-range, completeness, volume reconciliation, row-count estimate, and large-export policy for one trader. Metadata only; does not start an export job.
456
+
457
+ Args:
458
+ - address (string, required): Trader wallet address, known username-style lookup, or trd_-prefixed trader ID emitted by the API. Bare integer database IDs are not accepted
459
+
460
+ Returns: Trader export snapshot metadata.`,
461
+ inputSchema: {
462
+ address: z.string().trim().min(1).describe("Trader wallet address, known username-style lookup, or trd_-prefixed trader ID emitted by the API. Bare integer database IDs are not accepted"),
463
+ },
464
+ annotations: readAnnotations,
465
+ }, async ({ address }) => {
466
+ try {
467
+ const response = await client.request(`/api/v1/trader/${encodeURIComponent(address)}/export`);
468
+ return ok(response.data);
469
+ }
470
+ catch (error) {
471
+ return fail(error);
472
+ }
473
+ });
474
+ }
475
+ export function registerGetPlatforms(server, client) {
476
+ server.registerTool("get_platforms", {
477
+ title: "Get Platform Capability Matrix",
478
+ description: `Read the provider capability matrix declaring which V1 intelligence surfaces are supported, partial, or unsupported per platform. Polymarket and Kalshi each report a status (supported, partial, or unsupported) for grade, pnl, strategy, timeline, whale_signal, insider_radar, and market_snapshot. Use this before choosing trader, market, whale, or radar routes so you do not assume parity across providers.
479
+
480
+ Args: none
481
+
482
+ Returns: Static backend-owned platform capability matrix keyed by platform.`,
483
+ inputSchema: {},
484
+ annotations: readAnnotations,
485
+ }, async () => {
486
+ try {
487
+ const response = await client.request("/api/v1/platforms");
488
+ return ok(response.data);
489
+ }
490
+ catch (error) {
491
+ return fail(error);
492
+ }
493
+ });
494
+ }
495
+ // Content search and the unified report selector exist in the remote MCP tool
496
+ // set (backend/src/mcp/tools/contract.rs) but were missing from the stdio
497
+ // package, so an agent using @0xinsider/mcp could not reach either. Registering
498
+ // them here closes the parity gap this module exists to hold (#9687).
499
+ export function registerSearchContent(server, client) {
500
+ server.registerTool("search_content", {
501
+ title: "Search Editorial Content",
502
+ description: `Search 0xinsider's editorial content by keyword. Returns matching learn articles, glossary entries, comparisons, research, and trading strategies with their canonical URLs.
503
+
504
+ Args:
505
+ - q (string, required): Search query, 1-256 characters before whitespace trimming
506
+ - limit (number, 1-50, default 10): Max results
507
+
508
+ Returns: List of matching content items with content_id, kind, slug, title, excerpt, and url.`,
509
+ inputSchema: {
510
+ q: z.string().min(1).max(256).describe("Search query"),
511
+ limit: z.number().int().min(1).max(50).default(10),
512
+ },
513
+ annotations: readAnnotations,
514
+ }, async ({ q, limit }) => {
515
+ try {
516
+ const response = await client.request("/api/v1/content/search", { q, limit });
517
+ return ok(listResult(response));
518
+ }
519
+ catch (error) {
520
+ return fail(error);
521
+ }
522
+ });
523
+ }
524
+ export function registerGetReport(server, client) {
525
+ server.registerTool("get_report", {
526
+ title: "Get Report Snapshot",
527
+ description: `Unified whale-activity report snapshot selector. One route for all three granularities; dispatches to the same per-granularity cap and date window as the granularity-specific report tools.
528
+
529
+ Args:
530
+ - granularity (string, required): "daily", "weekly", or "monthly"
531
+ - period (string, required): Period token for the granularity. daily: UTC date YYYY-MM-DD. weekly: ISO week YYYY-WW, or a from,to YYYY-MM-DD pair. monthly: UTC month YYYY-MM.
532
+
533
+ Returns: Report snapshot metadata and entries (source_range, snapshot.status, completeness, reconciliation, report).`,
534
+ inputSchema: {
535
+ granularity: z.enum(["daily", "weekly", "monthly"]),
536
+ period: z.string().min(1).describe("Period token for the granularity"),
537
+ },
538
+ annotations: readAnnotations,
539
+ }, async ({ granularity, period }) => {
540
+ try {
541
+ const response = await client.request("/api/v1/reports", { granularity, period });
542
+ return ok(response.data);
543
+ }
544
+ catch (error) {
545
+ return fail(error);
546
+ }
547
+ });
548
+ }
549
+ //# sourceMappingURL=read-parity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-parity.js","sourceRoot":"","sources":["../../src/tools/read-parity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,16 +1,20 @@
1
1
  {
2
2
  "name": "@0xinsider/mcp",
3
- "version": "1.0.2",
4
- "description": "MCP server for 0xinsider — prediction market intelligence for AI agents",
3
+ "version": "1.2.0",
4
+ "description": "Official 0xinsider CLI and MCP server for prediction market intelligence",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
8
+ "0xinsider": "dist/cli.js",
8
9
  "0xinsider-mcp": "dist/cli.js"
9
10
  },
10
11
  "scripts": {
11
12
  "start": "node dist/index.js",
12
13
  "dev": "tsx watch src/index.ts",
14
+ "prebuild": "node scripts/generate-version.mjs",
13
15
  "build": "tsc",
16
+ "generate:catalog": "node ../scripts/generate-mcp-catalog.mjs",
17
+ "catalog:parity": "node ../scripts/mcp-catalog-parity.mjs",
14
18
  "test": "tsx --test tests/**/*.test.ts",
15
19
  "clean": "rm -rf dist",
16
20
  "prepublishOnly": "npm run build"
@@ -22,7 +26,10 @@
22
26
  "prediction-markets",
23
27
  "trading",
24
28
  "ai-agents",
25
- "0xinsider"
29
+ "0xinsider",
30
+ "cli",
31
+ "command-line-interface",
32
+ "developer-tools"
26
33
  ],
27
34
  "author": "0xinsider",
28
35
  "license": "MIT",
@@ -46,12 +53,13 @@
46
53
  "README.md"
47
54
  ],
48
55
  "dependencies": {
49
- "@modelcontextprotocol/sdk": "^1.12.1",
50
- "zod": "^3.24.4"
56
+ "@modelcontextprotocol/sdk": "^1.30.0",
57
+ "zod": "^4.4.3"
51
58
  },
52
59
  "devDependencies": {
53
- "@types/node": "^22.10.0",
60
+ "@types/node": "^25.6.0",
61
+ "semver": "^7.8.5",
54
62
  "tsx": "^4.19.2",
55
- "typescript": "^5.7.2"
63
+ "typescript": "^6.0.3"
56
64
  }
57
65
  }