@0xinsider/mcp 1.0.2 → 1.0.9

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 (52) hide show
  1. package/README.md +44 -7
  2. package/dist/cli-lib.d.ts +9 -0
  3. package/dist/cli-lib.d.ts.map +1 -1
  4. package/dist/cli-lib.js +210 -68
  5. package/dist/cli-lib.js.map +1 -1
  6. package/dist/client.d.ts +5 -0
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +30 -4
  9. package/dist/client.js.map +1 -1
  10. package/dist/constants.d.ts +2 -1
  11. package/dist/constants.d.ts.map +1 -1
  12. package/dist/constants.js +25 -1
  13. package/dist/constants.js.map +1 -1
  14. package/dist/prompts/index.js +1 -1
  15. package/dist/server.d.ts.map +1 -1
  16. package/dist/server.js +32 -2
  17. package/dist/server.js.map +1 -1
  18. package/dist/tools/explore-markets.d.ts +36 -0
  19. package/dist/tools/explore-markets.d.ts.map +1 -0
  20. package/dist/tools/explore-markets.js +77 -0
  21. package/dist/tools/explore-markets.js.map +1 -0
  22. package/dist/tools/get-insider-radar.js +1 -1
  23. package/dist/tools/get-large-positions.d.ts +21 -0
  24. package/dist/tools/get-large-positions.d.ts.map +1 -0
  25. package/dist/tools/get-large-positions.js +68 -0
  26. package/dist/tools/get-large-positions.js.map +1 -0
  27. package/dist/tools/get-position-timeline.d.ts +24 -0
  28. package/dist/tools/get-position-timeline.d.ts.map +1 -0
  29. package/dist/tools/get-position-timeline.js +79 -0
  30. package/dist/tools/get-position-timeline.js.map +1 -0
  31. package/dist/tools/get-positions.d.ts +21 -0
  32. package/dist/tools/get-positions.d.ts.map +1 -0
  33. package/dist/tools/get-positions.js +68 -0
  34. package/dist/tools/get-positions.js.map +1 -0
  35. package/dist/tools/get-trader-pnl.d.ts +6 -0
  36. package/dist/tools/get-trader-pnl.d.ts.map +1 -0
  37. package/dist/tools/get-trader-pnl.js +39 -0
  38. package/dist/tools/get-trader-pnl.js.map +1 -0
  39. package/dist/tools/get-trader.d.ts.map +1 -1
  40. package/dist/tools/get-trader.js +4 -3
  41. package/dist/tools/get-trader.js.map +1 -1
  42. package/dist/tools/get-trending-wallets.d.ts +15 -0
  43. package/dist/tools/get-trending-wallets.d.ts.map +1 -0
  44. package/dist/tools/get-trending-wallets.js +56 -0
  45. package/dist/tools/get-trending-wallets.js.map +1 -0
  46. package/dist/tools/get-whale-trades.js +1 -1
  47. package/dist/tools/get-whale-trades.js.map +1 -1
  48. package/dist/tools/read-parity.d.ts +20 -0
  49. package/dist/tools/read-parity.d.ts.map +1 -0
  50. package/dist/tools/read-parity.js +493 -0
  51. package/dist/tools/read-parity.js.map +1 -0
  52. package/package.json +3 -1
@@ -0,0 +1,493 @@
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
+ - platform (string, optional): polymarket, kalshi, or all
77
+ - from/to (string, optional): RFC3339 traded_at bounds
78
+
79
+ Returns: Historical whale trades with replay metadata, current signal_score, and optional recorded_signal_score. A null recorded score means the row predates score capture. If a trade is added later, its time-sensitive recorded score reflects that delay.`,
80
+ inputSchema: {
81
+ limit: z.number().int().min(1).max(100).default(20),
82
+ cursor: z.string().optional(),
83
+ min_size: z.number().min(0).optional(),
84
+ condition_id: z.string().optional(),
85
+ trader: z.string().optional(),
86
+ category: z.string().optional(),
87
+ min_grade: z.enum(["S", "A", "B", "C", "D", "F"]).optional(),
88
+ platform: z.enum(["polymarket", "kalshi", "all"]).optional(),
89
+ from: z.string().datetime().optional(),
90
+ to: z.string().datetime().optional(),
91
+ },
92
+ annotations: readAnnotations,
93
+ }, async (args) => {
94
+ try {
95
+ const response = await client.request("/api/v1/whale-trades/history", args);
96
+ return ok(listResult(response));
97
+ }
98
+ catch (error) {
99
+ return fail(error);
100
+ }
101
+ });
102
+ }
103
+ export function registerGetWhaleTrade(server, client) {
104
+ server.registerTool("get_whale_trade", {
105
+ title: "Get Whale Trade",
106
+ 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.
107
+
108
+ Args:
109
+ - id (string, required): Whale trade ID such as wt_123 or 123
110
+
111
+ Returns: One whale trade with trader info, market context, size, side, price, current signal_score, and optional recorded_signal_score. A null recorded score means the row predates score capture. If a trade is added later, its time-sensitive recorded score reflects that delay.`,
112
+ inputSchema: {
113
+ id: z.string().trim().min(1).describe("Whale trade ID such as wt_123 or 123"),
114
+ },
115
+ annotations: readAnnotations,
116
+ }, async ({ id }) => {
117
+ try {
118
+ const response = await client.request(`/api/v1/whale-trades/${encodeURIComponent(id)}`);
119
+ return ok(response.data);
120
+ }
121
+ catch (error) {
122
+ return fail(error);
123
+ }
124
+ });
125
+ }
126
+ export function registerBatchGetMarketIntel(server, client) {
127
+ server.registerTool("batch_get_market_intel", {
128
+ title: "Batch Market Intelligence",
129
+ 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.
130
+
131
+ Args:
132
+ - condition_ids (string[], required): Raw provider condition IDs
133
+ - timeframe (string, optional): "1h", "4h", "24h", or "7d" (default "24h")
134
+
135
+ Returns: Ordered batch market-intelligence results with per-item success or error details.`,
136
+ inputSchema: {
137
+ condition_ids: z.array(z.string().trim().min(1)).min(1).max(MAX_BATCH_ITEMS)
138
+ .describe("Raw provider condition IDs"),
139
+ timeframe: z.enum(["1h", "4h", "24h", "7d"]).default("24h"),
140
+ },
141
+ annotations: readAnnotations,
142
+ }, async ({ condition_ids, timeframe }) => {
143
+ try {
144
+ return ok(await client.post("/api/v1/markets/intel/batch", { condition_ids, timeframe }));
145
+ }
146
+ catch (error) {
147
+ return fail(error);
148
+ }
149
+ });
150
+ }
151
+ export function registerGetSmartMoneyFlows(server, client) {
152
+ server.registerTool("get_smart_money_flows", {
153
+ title: "List Smart-Money Flows",
154
+ 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.
155
+
156
+ Args:
157
+ - timeframe (string, optional): Lookback window: "1h", "4h", "24h", "7d" (default "24h")
158
+ - limit (number, 1-100, default 20): Max results per page
159
+ - cursor (string, optional): Pagination cursor with smf_ prefix
160
+ - category (string, optional): Filter by provider-backed market category
161
+ - platform (string, optional): "polymarket", "kalshi", or "all" (default "all")
162
+ - min_grade (string, optional): Minimum trader grade S, A, B, C, D, or F (default "B" = S/A/B)
163
+ - direction (string, optional): Filter by net flow direction: "YES" or "NO"
164
+
165
+ Returns: Ranked markets with net_flow_usd, direction, whale_trade_count, buy/sell volumes, and market identity.`,
166
+ inputSchema: {
167
+ timeframe: z.enum(["1h", "4h", "24h", "7d"]).default("24h"),
168
+ limit: z.number().int().min(1).max(100).default(20),
169
+ cursor: z.string().optional()
170
+ .describe("Pagination cursor with smf_ prefix"),
171
+ category: z.string().optional()
172
+ .describe("Filter by provider-backed market category"),
173
+ platform: z.enum(["polymarket", "kalshi", "all"]).optional(),
174
+ min_grade: z.enum(["S", "A", "B", "C", "D", "F"]).optional()
175
+ .describe("Minimum trader grade (default B = S/A/B)"),
176
+ direction: z.enum(["YES", "NO"]).optional()
177
+ .describe("Filter by net flow direction"),
178
+ },
179
+ annotations: readAnnotations,
180
+ }, async (args) => {
181
+ try {
182
+ const response = await client.request("/api/v1/markets/smart-money-flows", args);
183
+ return ok(listResult(response));
184
+ }
185
+ catch (error) {
186
+ return fail(error);
187
+ }
188
+ });
189
+ }
190
+ // Additive "sharp money" alias of get_smart_money_flows (epic #6912); same
191
+ // schema, proxies to the /sharp-money-flows path (backend aliases both paths to
192
+ // one handler). Brings the stdio package to parity with the remote MCP tool set.
193
+ export function registerGetSharpMoneyFlows(server, client) {
194
+ server.registerTool("get_sharp_money_flows", {
195
+ title: "List Sharp-Money Flows",
196
+ 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.
197
+
198
+ Args:
199
+ - timeframe (string, optional): Lookback window: "1h", "4h", "24h", "7d" (default "24h")
200
+ - limit (number, 1-100, default 20): Max results per page
201
+ - cursor (string, optional): Pagination cursor with smf_ prefix
202
+ - category (string, optional): Filter by provider-backed market category
203
+ - platform (string, optional): "polymarket", "kalshi", or "all" (default "all")
204
+ - min_grade (string, optional): Minimum trader grade S, A, B, C, D, or F (default "B" = S/A/B)
205
+ - direction (string, optional): Filter by net flow direction: "YES" or "NO"
206
+
207
+ Returns: Ranked markets with net_flow_usd, direction, whale_trade_count, buy/sell volumes, and market identity.`,
208
+ inputSchema: {
209
+ timeframe: z.enum(["1h", "4h", "24h", "7d"]).default("24h"),
210
+ limit: z.number().int().min(1).max(100).default(20),
211
+ cursor: z.string().optional()
212
+ .describe("Pagination cursor with smf_ prefix"),
213
+ category: z.string().optional()
214
+ .describe("Filter by provider-backed market category"),
215
+ platform: z.enum(["polymarket", "kalshi", "all"]).optional(),
216
+ min_grade: z.enum(["S", "A", "B", "C", "D", "F"]).optional()
217
+ .describe("Minimum trader grade (default B = S/A/B)"),
218
+ direction: z.enum(["YES", "NO"]).optional()
219
+ .describe("Filter by net flow direction"),
220
+ },
221
+ annotations: readAnnotations,
222
+ }, async (args) => {
223
+ try {
224
+ const response = await client.request("/api/v1/markets/sharp-money-flows", args);
225
+ return ok(listResult(response));
226
+ }
227
+ catch (error) {
228
+ return fail(error);
229
+ }
230
+ });
231
+ }
232
+ export function registerGetMarketSnapshot(server, client) {
233
+ server.registerTool("get_market_snapshot", {
234
+ title: "Get Market Snapshot",
235
+ description: `Provider-first live market-card snapshot for one raw provider condition_id. Forwards IDs to the V1 handler without mkt_ rewriting.
236
+
237
+ Args:
238
+ - condition_id (string, required): Raw provider condition_id returned by search or explore
239
+
240
+ Returns: Market identity, outcomes, liquidity, sports context, and freshness states.`,
241
+ inputSchema: {
242
+ condition_id: z.string().trim().min(1).describe("Raw provider condition_id"),
243
+ },
244
+ annotations: readAnnotations,
245
+ }, async ({ condition_id }) => {
246
+ try {
247
+ const response = await client.request(`/api/v1/market/${encodeURIComponent(condition_id)}/snapshot`);
248
+ return ok(response.data);
249
+ }
250
+ catch (error) {
251
+ return fail(error);
252
+ }
253
+ });
254
+ }
255
+ export function registerGetPositionTimelineById(server, client) {
256
+ server.registerTool("get_position_timeline_by_id", {
257
+ title: "Get Position Timeline By Trader ID",
258
+ 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.
259
+
260
+ Args:
261
+ - condition_id (string, required): Market condition ID
262
+ - trader_id (number, required): Internal traders.id alias
263
+ - limit (number, 1-100, default 20)
264
+ - cursor (string, optional)
265
+
266
+ Returns: List of position timeline events with pagination metadata.`,
267
+ inputSchema: {
268
+ condition_id: z.string().trim().min(1).describe("Market condition ID"),
269
+ trader_id: z.number().int().positive().describe("Internal traders.id alias"),
270
+ limit: z.number().int().min(1).max(100).default(20),
271
+ cursor: z.string().optional(),
272
+ },
273
+ annotations: readAnnotations,
274
+ }, async ({ condition_id, trader_id, limit, cursor }) => {
275
+ try {
276
+ const response = await client.request(`/api/v1/traders/${trader_id}/position-timeline`, { condition_id, limit, cursor });
277
+ return ok(listResult(response));
278
+ }
279
+ catch (error) {
280
+ return fail(error);
281
+ }
282
+ });
283
+ }
284
+ export function registerGetInsiderRadarFlag(server, client) {
285
+ server.registerTool("get_insider_radar_flag", {
286
+ title: "Get Insider Radar Flag",
287
+ 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.
288
+
289
+ Args:
290
+ - id (string, required): Radar flag ID such as rf_123 or 123
291
+
292
+ Returns: One radar flag with trader, market, suspicion scores, and evidence.`,
293
+ inputSchema: {
294
+ id: z.string().trim().min(1).describe("Radar flag ID such as rf_123 or 123"),
295
+ },
296
+ annotations: readAnnotations,
297
+ }, async ({ id }) => {
298
+ try {
299
+ const response = await client.request(`/api/v1/insider-radar/${encodeURIComponent(id)}`);
300
+ return ok(response.data);
301
+ }
302
+ catch (error) {
303
+ return fail(error);
304
+ }
305
+ });
306
+ }
307
+ export function registerGetEventReplaySince(server, client) {
308
+ server.registerTool("get_event_replay_since", {
309
+ title: "Replay Public Events",
310
+ description: `Replay durable public whale-trade intelligence events strictly after an opaque cursor backed by whale_alerts.id.
311
+
312
+ Args:
313
+ - cursor (string, optional): Opaque event replay cursor
314
+ - limit (number, 1-100, default 50)
315
+
316
+ Returns: Event replay window with retention and completeness metadata.`,
317
+ inputSchema: {
318
+ cursor: z.string().optional(),
319
+ limit: z.number().int().min(1).max(100).default(50),
320
+ },
321
+ annotations: readAnnotations,
322
+ }, async ({ cursor, limit }) => {
323
+ try {
324
+ const response = await client.request("/api/v1/events/feed/since", { cursor, limit });
325
+ return ok(listResult(response));
326
+ }
327
+ catch (error) {
328
+ return fail(error);
329
+ }
330
+ });
331
+ }
332
+ export function registerListWebhooks(server, client) {
333
+ server.registerTool("list_webhooks", {
334
+ title: "List Webhook Endpoints",
335
+ 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.
336
+
337
+ Args: none
338
+
339
+ Returns: List of webhook endpoint configuration records.`,
340
+ inputSchema: {},
341
+ annotations: readAnnotations,
342
+ }, async () => {
343
+ try {
344
+ const response = await client.request("/api/v1/webhooks");
345
+ return ok(listResult(response));
346
+ }
347
+ catch (error) {
348
+ return fail(error);
349
+ }
350
+ });
351
+ }
352
+ export function registerGetWebhook(server, client) {
353
+ server.registerTool("get_webhook", {
354
+ title: "Get Webhook Endpoint",
355
+ 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.
356
+
357
+ Args:
358
+ - id (number, required): Webhook endpoint id
359
+
360
+ Returns: Webhook endpoint configuration record.`,
361
+ inputSchema: {
362
+ id: z.number().int().positive().describe("Webhook endpoint id"),
363
+ },
364
+ annotations: readAnnotations,
365
+ }, async ({ id }) => {
366
+ try {
367
+ const response = await client.request(`/api/v1/webhooks/${id}`);
368
+ return ok(response.data);
369
+ }
370
+ catch (error) {
371
+ return fail(error);
372
+ }
373
+ });
374
+ }
375
+ export function registerGetDailyReportSnapshot(server, client) {
376
+ server.registerTool("get_daily_report_snapshot", {
377
+ title: "Get Daily Report Snapshot",
378
+ description: `Read one dated daily whale-activity report snapshot.
379
+
380
+ Args:
381
+ - date (string, required): UTC report date in YYYY-MM-DD format
382
+
383
+ Returns: Report snapshot metadata and entries.`,
384
+ inputSchema: {
385
+ date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).describe("UTC report date in YYYY-MM-DD format"),
386
+ },
387
+ annotations: readAnnotations,
388
+ }, async ({ date }) => {
389
+ try {
390
+ const response = await client.request("/api/v1/reports/daily", { date });
391
+ return ok(response.data);
392
+ }
393
+ catch (error) {
394
+ return fail(error);
395
+ }
396
+ });
397
+ }
398
+ export function registerGetWeeklyReportSnapshot(server, client) {
399
+ server.registerTool("get_weekly_report_snapshot", {
400
+ title: "Get Weekly Report Snapshot",
401
+ description: `Read one weekly whale-activity report snapshot. Pass either from/to UTC dates or an ISO YYYY-WW week token.
402
+
403
+ Args:
404
+ - week (string, optional): YYYY-WW selector
405
+ - from/to (string, optional): UTC dates in YYYY-MM-DD format
406
+
407
+ Returns: Report snapshot metadata and entries.`,
408
+ inputSchema: {
409
+ week: z.string().regex(/^\d{4}-\d{2}$/).optional(),
410
+ from: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
411
+ to: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
412
+ },
413
+ annotations: readAnnotations,
414
+ }, async ({ week, from, to }) => {
415
+ try {
416
+ if ((week && (from || to)) || (!week && (!from || !to))) {
417
+ throw new Error("Provide either week or both from and to");
418
+ }
419
+ const response = await client.request("/api/v1/reports/weekly", { week, from, to });
420
+ return ok(response.data);
421
+ }
422
+ catch (error) {
423
+ return fail(error);
424
+ }
425
+ });
426
+ }
427
+ export function registerGetMonthlyReportSnapshot(server, client) {
428
+ server.registerTool("get_monthly_report_snapshot", {
429
+ title: "Get Monthly Report Snapshot",
430
+ description: `Read one UTC monthly whale-activity report snapshot.
431
+
432
+ Args:
433
+ - month (string, required): UTC report month in YYYY-MM format
434
+
435
+ Returns: Report snapshot metadata and entries.`,
436
+ inputSchema: {
437
+ month: z.string().regex(/^\d{4}-\d{2}$/).describe("UTC report month in YYYY-MM format"),
438
+ },
439
+ annotations: readAnnotations,
440
+ }, async ({ month }) => {
441
+ try {
442
+ const response = await client.request("/api/v1/reports/monthly", { month });
443
+ return ok(response.data);
444
+ }
445
+ catch (error) {
446
+ return fail(error);
447
+ }
448
+ });
449
+ }
450
+ export function registerGetTraderExportSnapshot(server, client) {
451
+ server.registerTool("get_trader_export_snapshot", {
452
+ title: "Get Trader Export Snapshot",
453
+ 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.
454
+
455
+ Args:
456
+ - 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
457
+
458
+ Returns: Trader export snapshot metadata.`,
459
+ inputSchema: {
460
+ 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"),
461
+ },
462
+ annotations: readAnnotations,
463
+ }, async ({ address }) => {
464
+ try {
465
+ const response = await client.request(`/api/v1/trader/${encodeURIComponent(address)}/export`);
466
+ return ok(response.data);
467
+ }
468
+ catch (error) {
469
+ return fail(error);
470
+ }
471
+ });
472
+ }
473
+ export function registerGetPlatforms(server, client) {
474
+ server.registerTool("get_platforms", {
475
+ title: "Get Platform Capability Matrix",
476
+ 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.
477
+
478
+ Args: none
479
+
480
+ Returns: Static backend-owned platform capability matrix keyed by platform.`,
481
+ inputSchema: {},
482
+ annotations: readAnnotations,
483
+ }, async () => {
484
+ try {
485
+ const response = await client.request("/api/v1/platforms");
486
+ return ok(response.data);
487
+ }
488
+ catch (error) {
489
+ return fail(error);
490
+ }
491
+ });
492
+ }
493
+ //# 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,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xinsider/mcp",
3
- "version": "1.0.2",
3
+ "version": "1.0.9",
4
4
  "description": "MCP server for 0xinsider — prediction market intelligence for AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -10,6 +10,7 @@
10
10
  "scripts": {
11
11
  "start": "node dist/index.js",
12
12
  "dev": "tsx watch src/index.ts",
13
+ "prebuild": "node scripts/generate-version.mjs",
13
14
  "build": "tsc",
14
15
  "test": "tsx --test tests/**/*.test.ts",
15
16
  "clean": "rm -rf dist",
@@ -51,6 +52,7 @@
51
52
  },
52
53
  "devDependencies": {
53
54
  "@types/node": "^22.10.0",
55
+ "semver": "^7.8.5",
54
56
  "tsx": "^4.19.2",
55
57
  "typescript": "^5.7.2"
56
58
  }