@0xinsider/mcp 2.1.3 → 2.6.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 (74) hide show
  1. package/README.md +33 -19
  2. package/dist/catalog.generated.d.ts +46 -10
  3. package/dist/catalog.generated.d.ts.map +1 -1
  4. package/dist/catalog.generated.js +55 -10
  5. package/dist/catalog.generated.js.map +1 -1
  6. package/dist/cli-lib.d.ts +7 -0
  7. package/dist/cli-lib.d.ts.map +1 -1
  8. package/dist/cli-lib.js +83 -17
  9. package/dist/cli-lib.js.map +1 -1
  10. package/dist/client.d.ts +2 -0
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js.map +1 -1
  13. package/dist/constants.d.ts +1 -1
  14. package/dist/constants.js +1 -1
  15. package/dist/product-cli/index.d.ts.map +1 -1
  16. package/dist/product-cli/index.js +3 -1
  17. package/dist/product-cli/index.js.map +1 -1
  18. package/dist/prompts/index.d.ts.map +1 -1
  19. package/dist/prompts/index.js +38 -24
  20. package/dist/prompts/index.js.map +1 -1
  21. package/dist/sdk/client.d.ts +242 -21
  22. package/dist/sdk/client.d.ts.map +1 -1
  23. package/dist/sdk/client.js +371 -16
  24. package/dist/sdk/client.js.map +1 -1
  25. package/dist/sdk/errors.d.ts +21 -1
  26. package/dist/sdk/errors.d.ts.map +1 -1
  27. package/dist/sdk/errors.js +46 -1
  28. package/dist/sdk/errors.js.map +1 -1
  29. package/dist/sdk/index.d.ts +35 -5
  30. package/dist/sdk/index.d.ts.map +1 -1
  31. package/dist/sdk/index.js +2 -2
  32. package/dist/sdk/index.js.map +1 -1
  33. package/dist/sdk/pagination.d.ts +7 -7
  34. package/dist/sdk/pagination.d.ts.map +1 -1
  35. package/dist/sdk/pagination.js.map +1 -1
  36. package/dist/sdk/schema.d.ts +1164 -314
  37. package/dist/sdk/schema.d.ts.map +1 -1
  38. package/dist/sdk/stream.d.ts +12 -7
  39. package/dist/sdk/stream.d.ts.map +1 -1
  40. package/dist/sdk/stream.js +82 -3
  41. package/dist/sdk/stream.js.map +1 -1
  42. package/dist/sdk/webhooks.d.ts +148 -12
  43. package/dist/sdk/webhooks.d.ts.map +1 -1
  44. package/dist/sdk/webhooks.js +25 -6
  45. package/dist/sdk/webhooks.js.map +1 -1
  46. package/dist/server.d.ts.map +1 -1
  47. package/dist/server.js +13 -2
  48. package/dist/server.js.map +1 -1
  49. package/dist/tools/games.d.ts +5 -0
  50. package/dist/tools/games.d.ts.map +1 -0
  51. package/dist/tools/games.js +103 -0
  52. package/dist/tools/games.js.map +1 -0
  53. package/dist/tools/get-insider-radar.d.ts.map +1 -1
  54. package/dist/tools/get-insider-radar.js +10 -32
  55. package/dist/tools/get-insider-radar.js.map +1 -1
  56. package/dist/tools/get-leaderboard.d.ts.map +1 -1
  57. package/dist/tools/get-leaderboard.js +20 -2
  58. package/dist/tools/get-leaderboard.js.map +1 -1
  59. package/dist/tools/get-market-intel.js +2 -2
  60. package/dist/tools/get-market-intel.js.map +1 -1
  61. package/dist/tools/get-suspicious-trades.d.ts +26 -0
  62. package/dist/tools/get-suspicious-trades.d.ts.map +1 -0
  63. package/dist/tools/get-suspicious-trades.js +91 -0
  64. package/dist/tools/get-suspicious-trades.js.map +1 -0
  65. package/dist/tools/get-whale-trades.d.ts +2 -0
  66. package/dist/tools/get-whale-trades.d.ts.map +1 -1
  67. package/dist/tools/get-whale-trades.js +18 -6
  68. package/dist/tools/get-whale-trades.js.map +1 -1
  69. package/dist/tools/pick-of-the-day.js +1 -1
  70. package/dist/tools/read-parity.d.ts +9 -1
  71. package/dist/tools/read-parity.d.ts.map +1 -1
  72. package/dist/tools/read-parity.js +109 -50
  73. package/dist/tools/read-parity.js.map +1 -1
  74. package/package.json +1 -1
@@ -0,0 +1,103 @@
1
+ // The game catalog tools (#16658). Before these, an agent on MCP had to
2
+ // assemble a fixture from `search_markets` plus per-market snapshots plus
3
+ // team-name matching, which the game resource (#16184) exists to end.
4
+ //
5
+ // Descriptions and schemas mirror `backend/src/mcp/tools/contract.rs` and
6
+ // `backend/src/mcp/tools/schema.rs`, so the remote endpoint and this stdio
7
+ // server answer the same page for the same arguments.
8
+ import { z } from "zod";
9
+ import { fail, ok, withMeta } from "./result.js";
10
+ const readAnnotations = {
11
+ readOnlyHint: true,
12
+ destructiveHint: false,
13
+ idempotentHint: true,
14
+ openWorldHint: false,
15
+ };
16
+ export function registerListGames(server, client) {
17
+ server.registerTool("list_games", {
18
+ title: "List covered games",
19
+ description: `The fixture list: one coherent game per row, so you never have to assemble a game from market searches and team-name matching. Each row carries both sides with their provider ids and live scores, the UTC kickoff, the provider's own status, the esports series format, and every linked Polymarket market with its condition_id and outcome token ids. Ordered by kickoff, then event_slug; games whose kickoff the provider has not published sort last.
20
+
21
+ Args:
22
+ - sport (string, optional): canonical bucket, case-insensitive, with - and _ read as a space (table-tennis and Table Tennis are one bucket). Omitted means every covered sport
23
+ - league (string, optional): league tag as coverage.leagues spells it (nfl, epl, cs2), case-insensitive
24
+ - status (string, optional): scheduled, live, paused, ended, postponed, cancelled, suspended, delayed, or unknown
25
+ - starts_after / starts_before (string, optional): RFC 3339 kickoff bounds; a game with no published kickoff is excluded whenever either bound is set
26
+ - limit (number, 1-100, default 20)
27
+ - cursor (string, optional): opaque gms_v1_ cursor from next_cursor. It pins the page position, not a snapshot: the catalog is live, so a game added or removed between pages moves with it
28
+
29
+ Returns: data, has_more, next_cursor, as_of, coverage and meta. Read coverage before reading an empty page: it names the sports and leagues this deployment serves and any scope whose source was unavailable for this read, so an unserved sport is never confused with a quiet night. A sport or status this deployment does not serve returns an empty page, not an error. status.state keeps postponed, cancelled, suspended and delayed distinct from a plain 'not live', and a kickoff in the past is never read as live on its own. Scores are the provider's own strings, because a set score and a run total are not both integers. Carries no price, no sharp-money split and no holder identity; those stay on get_market_snapshot, get_sharp_money_flows and get_pre_game_sides.`,
30
+ inputSchema: {
31
+ sport: z.string().optional()
32
+ .describe("Canonical sport bucket, case-insensitive; omitted means every covered sport"),
33
+ league: z.string().optional()
34
+ .describe("League tag as coverage.leagues spells it: nfl, epl, cs2"),
35
+ status: z
36
+ .enum([
37
+ "scheduled",
38
+ "live",
39
+ "paused",
40
+ "ended",
41
+ "postponed",
42
+ "cancelled",
43
+ "suspended",
44
+ "delayed",
45
+ "unknown",
46
+ ])
47
+ .optional()
48
+ .describe("Keep only games in this state"),
49
+ starts_after: z.string().optional()
50
+ .describe("RFC 3339 instant; keep only games whose kickoff is at or after it"),
51
+ starts_before: z.string().optional()
52
+ .describe("RFC 3339 instant; keep only games whose kickoff is at or before it"),
53
+ limit: z.number().int().min(1).max(100).default(20)
54
+ .describe("Max results (1-100, default 20)"),
55
+ cursor: z.string().optional()
56
+ .describe("Opaque gms_v1_ cursor from next_cursor; it pins the page position, not a snapshot"),
57
+ },
58
+ annotations: readAnnotations,
59
+ }, async (args) => {
60
+ try {
61
+ const response = await client.request("/api/v1/games", args);
62
+ // Spread explicitly rather than through listResult(): `as_of` and
63
+ // `coverage` are page-level keys outside the standard list envelope,
64
+ // and dropping `coverage` would leave an empty page ambiguous.
65
+ return ok({
66
+ data: response.data,
67
+ has_more: response.has_more,
68
+ next_cursor: response.next_cursor,
69
+ ...(response.as_of === undefined ? {} : { as_of: response.as_of }),
70
+ ...(response.coverage === undefined ? {} : { coverage: response.coverage }),
71
+ ...(response.meta === undefined ? {} : { meta: response.meta }),
72
+ });
73
+ }
74
+ catch (error) {
75
+ return fail(error);
76
+ }
77
+ });
78
+ }
79
+ export function registerGetGame(server, client) {
80
+ server.registerTool("get_game", {
81
+ title: "Get one game",
82
+ description: `The same game object list_games returns, for one event_slug: both sides with their provider ids and live scores, the UTC kickoff, the provider's own status, the esports series format, and every linked Polymarket market with its condition_id and outcome token ids. The slug is the identity the live_sports_updated webhook pulse carries, so a receiver can read the full game straight from a pulse.
83
+
84
+ Args:
85
+ - event_slug (string, required): the game's event slug, for example nfl-buf-nyj-2026-09-22. Matched case-insensitively
86
+
87
+ Returns: the game object with the envelope's meta. status.state keeps postponed, cancelled, suspended and delayed distinct from a plain 'not live'. Each game's own coverage reports whether scores, competitor provider ids and the schedule were available: when competitors reads labels, do not join on names. A slug outside the published coverage answers 404, including a real Polymarket event in a sport this deployment does not serve; list_games names what is covered. Carries no price, no sharp-money split and no holder identity.`,
88
+ inputSchema: {
89
+ event_slug: z.string().trim().min(1)
90
+ .describe("The game's event slug, for example nfl-buf-nyj-2026-09-22"),
91
+ },
92
+ annotations: readAnnotations,
93
+ }, async ({ event_slug }) => {
94
+ try {
95
+ const response = await client.request(`/api/v1/games/${encodeURIComponent(event_slug)}`);
96
+ return ok(withMeta(response.data, response.meta));
97
+ }
98
+ catch (error) {
99
+ return fail(error);
100
+ }
101
+ });
102
+ }
103
+ //# sourceMappingURL=games.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"games.js","sourceRoot":"","sources":["../../src/tools/games.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-insider-radar.d.ts","sourceRoot":"","sources":["../../src/tools/get-insider-radar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAwDlF"}
1
+ {"version":3,"file":"get-insider-radar.d.ts","sourceRoot":"","sources":["../../src/tools/get-insider-radar.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAOzC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA6BlF"}
@@ -1,51 +1,29 @@
1
- import { z } from "zod";
2
- import { fail, listResult } from "./result.js";
1
+ // Deprecated alias of get_suspicious_trades (#16301). It keeps calling the
2
+ // deprecated /api/v1/insider-radar path and shares the canonical tool's schema
3
+ // and wording, so an existing client keeps working unchanged.
4
+ import { fail, listResult, ok } from "./result.js";
5
+ import { SUSPICIOUS_TRADES_DESCRIPTION, suspiciousTradesInputSchema, } from "./get-suspicious-trades.js";
3
6
  export function registerGetInsiderRadar(server, client) {
4
7
  server.registerTool("get_insider_radar", {
5
8
  title: "Get Insider Radar Flags",
6
- description: `Suspicious trading pattern flags — pre-resolution accumulation and coordinated wallets. Each flag carries recorded per-signal component scores; they are nullable and historical. Cursor-paginated by suspicion score (highest first).
7
-
8
- Each flag includes:
9
- - suspicion_score (0-100)
10
- - severity (flag or watch)
11
- - Sub-scores: timing, edge, size, fresh_wallet
12
- - Evidence JSON with details
13
-
14
- Args:
15
- - limit (number, 1-100, default 20): Max results per page
16
- - cursor (string, optional): Pagination cursor from previous response
17
- - min_suspicion (number, 0-100, default 0): Minimum suspicion score
18
- - severity (string, optional): Filter by severity: "flag" or "watch"
19
-
20
- Returns: List of radar flags with trader, market, scores, and evidence.`,
21
- inputSchema: {
22
- limit: z.number().int().min(1).max(100).default(20)
23
- .describe("Max results (1-100, default 20)"),
24
- cursor: z.string().optional()
25
- .describe("Pagination cursor from previous response"),
26
- min_suspicion: z.number().min(0).max(100).default(0)
27
- .describe("Minimum suspicion score (0-100)"),
28
- severity: z.enum(["flag", "watch"]).optional()
29
- .describe("Filter by severity level"),
30
- },
9
+ description: `Deprecated alias of get_suspicious_trades (#16301), kept live; it calls the deprecated /api/v1/insider-radar path. ${SUSPICIOUS_TRADES_DESCRIPTION}`,
10
+ inputSchema: suspiciousTradesInputSchema,
31
11
  annotations: {
32
12
  readOnlyHint: true,
33
13
  destructiveHint: false,
34
14
  idempotentHint: true,
35
15
  openWorldHint: false,
36
16
  },
37
- }, async ({ limit, cursor, min_suspicion, severity }) => {
17
+ }, async ({ limit, cursor, min_suspicion, severity, mode }) => {
38
18
  try {
39
19
  const response = await client.request("/api/v1/insider-radar", {
40
20
  limit,
41
21
  cursor,
42
22
  min_suspicion,
43
23
  severity,
24
+ mode,
44
25
  });
45
- const result = listResult(response);
46
- return {
47
- content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
48
- };
26
+ return ok(listResult(response));
49
27
  }
50
28
  catch (error) {
51
29
  return fail(error);
@@ -1 +1 @@
1
- {"version":3,"file":"get-insider-radar.js","sourceRoot":"","sources":["../../src/tools/get-insider-radar.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,UAAU,uBAAuB,CAAC,MAAiB,EAAE,MAAiB;IAC1E,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE;;;;;;;;;;;;;;wEAcqD;QAClE,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;iBAChD,QAAQ,CAAC,iCAAiC,CAAC;YAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC1B,QAAQ,CAAC,0CAA0C,CAAC;YACvD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;iBACjD,QAAQ,CAAC,iCAAiC,CAAC;YAC9C,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;iBAC3C,QAAQ,CAAC,0BAA0B,CAAC;SACxC;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE;QACnD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE;gBAC7D,KAAK;gBACL,MAAM;gBACN,aAAa;gBACb,QAAQ;aACT,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEpC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"get-insider-radar.js","sourceRoot":"","sources":["../../src/tools/get-insider-radar.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,+EAA+E;AAC/E,8DAA8D;AAI9D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,UAAU,uBAAuB,CAAC,MAAiB,EAAE,MAAiB;IAC1E,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE,sHAAsH,6BAA6B,EAAE;QAClK,WAAW,EAAE,2BAA2B;QACxC,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE;QACzD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE;gBAC7D,KAAK;gBACL,MAAM;gBACN,aAAa;gBACb,QAAQ;gBACR,IAAI;aACL,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-leaderboard.d.ts","sourceRoot":"","sources":["../../src/tools/get-leaderboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAkDjF"}
1
+ {"version":3,"file":"get-leaderboard.d.ts","sourceRoot":"","sources":["../../src/tools/get-leaderboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAsBzC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAkDjF"}
@@ -1,5 +1,23 @@
1
1
  import { z } from "zod";
2
2
  import { fail, listResult } from "./result.js";
3
+ /**
4
+ * The strategies `GET /api/v1/leaderboard` accepts (`STRATEGY_ENUM` in
5
+ * `backend/src/api_v1/handlers/leaderboard.rs`, the spec's enum, and the SDK's
6
+ * `LEADERBOARD_STRATEGIES`). Any other value is a 400 at the route, so the
7
+ * schema refuses it first (#16548).
8
+ */
9
+ const LEADERBOARD_STRATEGIES = [
10
+ "accumulator",
11
+ "algo_trader",
12
+ "arbitrageur",
13
+ "directional",
14
+ "event_driven",
15
+ "market_maker",
16
+ "momentum",
17
+ "scalper",
18
+ "speculator",
19
+ "swing_trader",
20
+ ];
3
21
  export function registerGetLeaderboard(server, client) {
4
22
  server.registerTool("get_leaderboard", {
5
23
  title: "Get Trader Leaderboard",
@@ -9,7 +27,7 @@ Args:
9
27
  - limit (number, 1-100, default 20): Max results per page
10
28
  - cursor (string, optional): Pagination cursor from previous response
11
29
  - category (string, optional): Filter by category slug
12
- - strategy (string, optional): Filter by strategy type
30
+ - strategy (string, optional): One of accumulator, algo_trader, arbitrageur, directional, event_driven, market_maker, momentum, scalper, speculator, swing_trader
13
31
 
14
32
  Returns: Ranked list of traders with grade, score, P&L, volume, win rate, and strategy.`,
15
33
  inputSchema: {
@@ -19,7 +37,7 @@ Returns: Ranked list of traders with grade, score, P&L, volume, win rate, and st
19
37
  .describe("Pagination cursor from previous response"),
20
38
  category: z.string().optional()
21
39
  .describe("Filter by category slug"),
22
- strategy: z.string().optional()
40
+ strategy: z.enum(LEADERBOARD_STRATEGIES).optional()
23
41
  .describe("Filter by strategy type"),
24
42
  },
25
43
  annotations: {
@@ -1 +1 @@
1
- {"version":3,"file":"get-leaderboard.js","sourceRoot":"","sources":["../../src/tools/get-leaderboard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAiB;IACzE,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE;;;;;;;;wFAQqE;QAClF,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;iBAChD,QAAQ,CAAC,iCAAiC,CAAC;YAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC1B,QAAQ,CAAC,0CAA0C,CAAC;YACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC5B,QAAQ,CAAC,yBAAyB,CAAC;YACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC5B,QAAQ,CAAC,yBAAyB,CAAC;SACvC;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE;gBAC3D,KAAK;gBACL,MAAM;gBACN,QAAQ;gBACR,QAAQ;aACT,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEpC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"get-leaderboard.js","sourceRoot":"","sources":["../../src/tools/get-leaderboard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG;IAC7B,aAAa;IACb,aAAa;IACb,aAAa;IACb,aAAa;IACb,cAAc;IACd,cAAc;IACd,UAAU;IACV,SAAS;IACT,YAAY;IACZ,cAAc;CACN,CAAC;AAEX,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAiB;IACzE,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE;;;;;;;;wFAQqE;QAClF,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;iBAChD,QAAQ,CAAC,iCAAiC,CAAC;YAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC1B,QAAQ,CAAC,0CAA0C,CAAC;YACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC5B,QAAQ,CAAC,yBAAyB,CAAC;YACtC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;iBAChD,QAAQ,CAAC,yBAAyB,CAAC;SACvC;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE;gBAC3D,KAAK;gBACL,MAAM;gBACN,QAAQ;gBACR,QAAQ;aACT,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEpC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -3,7 +3,7 @@ import { fail, withMeta } from "./result.js";
3
3
  export function registerGetMarketIntel(server, client) {
4
4
  server.registerTool("get_market_intel", {
5
5
  title: "Get Market Intelligence",
6
- description: `Smart money flow analysis for a specific prediction market. Shows net flow direction, whale trade count, buy/sell volumes, and top graded trader positions.
6
+ description: `Sharp money flow analysis for a specific prediction market. Shows net flow direction, whale trade count, buy/sell volumes, and top graded trader positions.
7
7
 
8
8
  Use search_markets first to find the condition_id for a market.
9
9
 
@@ -11,7 +11,7 @@ Args:
11
11
  - condition_id (string, required): Market condition ID (from search_markets results)
12
12
  - timeframe (string, optional): Lookback window: "1h", "4h", "24h", "7d" (default "24h")
13
13
 
14
- Returns: Market info, smart money flow (net_flow_usd, direction YES/NO, volumes), and top 5 trader positions.`,
14
+ Returns: Market info, sharp_money flow (net_flow_usd, direction YES/NO, volumes) with smart_money as its deprecated byte-identical alias, and top 5 trader positions.`,
15
15
  inputSchema: {
16
16
  condition_id: z.string()
17
17
  .describe("Market condition ID"),
@@ -1 +1 @@
1
- {"version":3,"file":"get-market-intel.js","sourceRoot":"","sources":["../../src/tools/get-market-intel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAiB;IACzE,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE;;;;;;;;8GAQ2F;QACxG,WAAW,EAAE;YACX,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;iBACrB,QAAQ,CAAC,qBAAqB,CAAC;YAClC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;iBACxD,QAAQ,CAAC,+BAA+B,CAAC;SAC7C;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,kBAAkB,kBAAkB,CAAC,YAAY,CAAC,QAAQ,EAC1D,EAAE,SAAS,EAAE,CACd,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5G,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"get-market-intel.js","sourceRoot":"","sources":["../../src/tools/get-market-intel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAiB;IACzE,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EAAE;;;;;;;;sKAQmJ;QAChK,WAAW,EAAE;YACX,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;iBACrB,QAAQ,CAAC,qBAAqB,CAAC;YAClC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;iBACxD,QAAQ,CAAC,+BAA+B,CAAC;SAC7C;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CACnC,kBAAkB,kBAAkB,CAAC,YAAY,CAAC,QAAQ,EAC1D,EAAE,SAAS,EAAE,CACd,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5G,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { z } from "zod";
3
+ import { ApiClient } from "../client.js";
4
+ /** Shared by the canonical list tool and its deprecated alias. */
5
+ export declare const suspiciousTradesInputSchema: {
6
+ readonly limit: z.ZodDefault<z.ZodNumber>;
7
+ readonly cursor: z.ZodOptional<z.ZodString>;
8
+ readonly min_suspicion: z.ZodDefault<z.ZodNumber>;
9
+ readonly severity: z.ZodOptional<z.ZodEnum<{
10
+ flag: "flag";
11
+ watch: "watch";
12
+ }>>;
13
+ readonly mode: z.ZodOptional<z.ZodEnum<{
14
+ live: "live";
15
+ stable: "stable";
16
+ }>>;
17
+ };
18
+ /** Shared by the canonical by-ID tool and its deprecated alias. */
19
+ export declare const suspiciousTradeInputSchema: {
20
+ readonly id: z.ZodString;
21
+ };
22
+ export declare const SUSPICIOUS_TRADES_DESCRIPTION = "Stored trades whose recorded suspicion score meets the live flag threshold. Cursor-paginated by suspicion score (highest first). Use mode=stable when a walk must stay on one published scoring generation; restart when it returns cursor_expired.\n\nEach suspicious trade includes:\n- suspicion_score (60-100)\n- severity (currently flag)\n- Sub-scores: size and fresh_wallet when recorded; timing and edge are null\n- Evidence JSON with the scorer's stored signals\n\nArgs:\n - limit (number, 1-100, default 20): Max results per page\n - cursor (string, optional): Pagination cursor from previous response\n - min_suspicion (number, 0-100, default 0): Minimum score; the live floor of 60 also applies\n - severity (string, optional): \"flag\" selects live rows; \"watch\" returns none because no live watch policy exists\n - mode (string, optional): \"live\" (default) uses fresh cached pages; \"stable\" pins the walk to one published scoring generation\n\nReturns: List of suspicious trades with trader, market, scores, and evidence.";
23
+ export declare const SUSPICIOUS_TRADE_DESCRIPTION = "Read one suspicious trade by ID. Accepts the rf_ ID returned by list responses or the raw numeric whale_alerts.id.\n\nArgs:\n - id (string, required): Suspicious trade ID such as rf_123 or 123\n\nReturns: One suspicious trade with trader, market, suspicion scores, and evidence.";
24
+ export declare function registerGetSuspiciousTrades(server: McpServer, client: ApiClient): void;
25
+ export declare function registerGetSuspiciousTrade(server: McpServer, client: ApiClient): void;
26
+ //# sourceMappingURL=get-suspicious-trades.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-suspicious-trades.d.ts","sourceRoot":"","sources":["../../src/tools/get-suspicious-trades.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAUzC,kEAAkE;AAClE,eAAO,MAAM,2BAA2B;aACtC,KAAK;aAEL,MAAM;aAEN,aAAa;aAEb,QAAQ;;;;aAER,IAAI;;;;CAEI,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,0BAA0B;aACrC,EAAE;CACM,CAAC;AAEX,eAAO,MAAM,6BAA6B,mhCAeoC,CAAC;AAE/E,eAAO,MAAM,4BAA4B,4RAK0C,CAAC;AAEpF,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAwBtF;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAoBrF"}
@@ -0,0 +1,91 @@
1
+ // Canonical "suspicious trades" tools (#16301, epic #16300). The wording and
2
+ // the argument list mirror `backend/src/mcp/tools/contract.rs`, so the remote
3
+ // endpoint and this stdio server describe the same surface. The older
4
+ // get_insider_radar / get_insider_radar_flag tools stay registered as
5
+ // deprecated aliases on the deprecated /api/v1/insider-radar paths.
6
+ import { z } from "zod";
7
+ import { fail, listResult, ok, withMeta } from "./result.js";
8
+ const readAnnotations = {
9
+ readOnlyHint: true,
10
+ destructiveHint: false,
11
+ idempotentHint: true,
12
+ openWorldHint: false,
13
+ };
14
+ /** Shared by the canonical list tool and its deprecated alias. */
15
+ export const suspiciousTradesInputSchema = {
16
+ limit: z.number().int().min(1).max(100).default(20)
17
+ .describe("Max results (1-100, default 20)"),
18
+ cursor: z.string().optional()
19
+ .describe("Pagination cursor from previous response"),
20
+ min_suspicion: z.number().min(0).max(100).default(0)
21
+ .describe("Minimum suspicion score (0-100); the live floor of 60 also applies"),
22
+ severity: z.enum(["flag", "watch"]).optional()
23
+ .describe('"flag" selects live rows; "watch" returns none because no live watch policy exists'),
24
+ mode: z.enum(["live", "stable"]).optional()
25
+ .describe('"live" (default) uses fresh cached pages; "stable" pins the walk to one published scoring generation'),
26
+ };
27
+ /** Shared by the canonical by-ID tool and its deprecated alias. */
28
+ export const suspiciousTradeInputSchema = {
29
+ id: z.string().trim().min(1).describe("Suspicious trade ID such as rf_123 or 123"),
30
+ };
31
+ export const SUSPICIOUS_TRADES_DESCRIPTION = `Stored trades whose recorded suspicion score meets the live flag threshold. Cursor-paginated by suspicion score (highest first). Use mode=stable when a walk must stay on one published scoring generation; restart when it returns cursor_expired.
32
+
33
+ Each suspicious trade includes:
34
+ - suspicion_score (60-100)
35
+ - severity (currently flag)
36
+ - Sub-scores: size and fresh_wallet when recorded; timing and edge are null
37
+ - Evidence JSON with the scorer's stored signals
38
+
39
+ Args:
40
+ - limit (number, 1-100, default 20): Max results per page
41
+ - cursor (string, optional): Pagination cursor from previous response
42
+ - min_suspicion (number, 0-100, default 0): Minimum score; the live floor of 60 also applies
43
+ - severity (string, optional): "flag" selects live rows; "watch" returns none because no live watch policy exists
44
+ - mode (string, optional): "live" (default) uses fresh cached pages; "stable" pins the walk to one published scoring generation
45
+
46
+ Returns: List of suspicious trades with trader, market, scores, and evidence.`;
47
+ export const SUSPICIOUS_TRADE_DESCRIPTION = `Read one suspicious trade by ID. Accepts the rf_ ID returned by list responses or the raw numeric whale_alerts.id.
48
+
49
+ Args:
50
+ - id (string, required): Suspicious trade ID such as rf_123 or 123
51
+
52
+ Returns: One suspicious trade with trader, market, suspicion scores, and evidence.`;
53
+ export function registerGetSuspiciousTrades(server, client) {
54
+ server.registerTool("get_suspicious_trades", {
55
+ title: "Get suspicious trades",
56
+ description: SUSPICIOUS_TRADES_DESCRIPTION,
57
+ inputSchema: suspiciousTradesInputSchema,
58
+ annotations: readAnnotations,
59
+ }, async ({ limit, cursor, min_suspicion, severity, mode }) => {
60
+ try {
61
+ const response = await client.request("/api/v1/suspicious-trades", {
62
+ limit,
63
+ cursor,
64
+ min_suspicion,
65
+ severity,
66
+ mode,
67
+ });
68
+ return ok(listResult(response));
69
+ }
70
+ catch (error) {
71
+ return fail(error);
72
+ }
73
+ });
74
+ }
75
+ export function registerGetSuspiciousTrade(server, client) {
76
+ server.registerTool("get_suspicious_trade", {
77
+ title: "Get suspicious trade",
78
+ description: SUSPICIOUS_TRADE_DESCRIPTION,
79
+ inputSchema: suspiciousTradeInputSchema,
80
+ annotations: readAnnotations,
81
+ }, async ({ id }) => {
82
+ try {
83
+ const response = await client.request(`/api/v1/suspicious-trades/${encodeURIComponent(id)}`);
84
+ return ok(withMeta(response.data, response.meta));
85
+ }
86
+ catch (error) {
87
+ return fail(error);
88
+ }
89
+ });
90
+ }
91
+ //# sourceMappingURL=get-suspicious-trades.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-suspicious-trades.js","sourceRoot":"","sources":["../../src/tools/get-suspicious-trades.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { ApiClient } from "../client.js";
3
+ export declare function registerGetLargeTrades(server: McpServer, client: ApiClient): void;
4
+ /** Deprecated spelling of get_large_trades (#16304). */
3
5
  export declare function registerGetWhaleTrades(server: McpServer, client: ApiClient): void;
4
6
  //# sourceMappingURL=get-whale-trades.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-whale-trades.d.ts","sourceRoot":"","sources":["../../src/tools/get-whale-trades.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA0DjF"}
1
+ {"version":3,"file":"get-whale-trades.d.ts","sourceRoot":"","sources":["../../src/tools/get-whale-trades.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAmEzC,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAEjF;AAED,wDAAwD;AACxD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAOjF"}
@@ -1,9 +1,9 @@
1
1
  import { z } from "zod";
2
2
  import { fail, listResult } from "./result.js";
3
- export function registerGetWhaleTrades(server, client) {
4
- server.registerTool("get_whale_trades", {
5
- title: "List Whale Trades",
6
- description: `Get recent large trades from graded prediction market traders. Each trade includes signal scoring, trader grade, and market context. Cursor-paginated, newest first.
3
+ function registerTradeList(server, client, tool) {
4
+ server.registerTool(tool.name, {
5
+ title: tool.title,
6
+ description: `${tool.deprecatedOf ? `Deprecated alias of ${tool.deprecatedOf} (#16304), kept live; it calls the deprecated ${tool.path} path. ` : ""}Get recent large trades from graded prediction market traders. Each trade includes a 0-1 review score, trader grade, and market context. Cursor-paginated, newest first.
7
7
 
8
8
  Args:
9
9
  - limit (number, 1-100, default 20): Max results per page
@@ -13,7 +13,7 @@ Args:
13
13
  - min_grade (string, optional): Minimum trader grade (S, A, B, C, D, F)
14
14
  - suspicious_only (boolean, optional): Keep only persisted suspicion_score >= 60; false preserves the current result set
15
15
 
16
- Returns: List of whale trades with trader info, market context, size, side, price, current signal_score and trader grade, point-in-time recorded_signal_score (null before 2026-08-03) and trader grade_at_trade with grade_at_trade_status (unknown before 2026-09-19), optional suspicion_score, and optional suspicion_track. A null suspicion track means the persisted legacy row has no track label.`,
16
+ Returns: List of large trades with trader info, market context, size, side, price, current review_score (signal_score is its deprecated twin, same value) and trader grade, point-in-time recorded_review_score (recorded_signal_score is its deprecated twin; null before 2026-08-03) and trader grade_at_trade with grade_at_trade_status (unknown before 2026-09-19), optional suspicion_score, and optional suspicion_track. A null suspicion track means the persisted legacy row has no track label.`,
17
17
  inputSchema: {
18
18
  limit: z.number().int().min(1).max(100).default(20)
19
19
  .describe("Max results (1-100, default 20)"),
@@ -36,7 +36,7 @@ Returns: List of whale trades with trader info, market context, size, side, pric
36
36
  },
37
37
  }, async ({ limit, cursor, min_size, category, min_grade, suspicious_only }) => {
38
38
  try {
39
- const response = await client.request("/api/v1/whale-trades", {
39
+ const response = await client.request(tool.path, {
40
40
  limit,
41
41
  cursor,
42
42
  min_size,
@@ -54,4 +54,16 @@ Returns: List of whale trades with trader info, market context, size, side, pric
54
54
  }
55
55
  });
56
56
  }
57
+ export function registerGetLargeTrades(server, client) {
58
+ registerTradeList(server, client, { name: "get_large_trades", title: "List large trades", path: "/api/v1/large-trades" });
59
+ }
60
+ /** Deprecated spelling of get_large_trades (#16304). */
61
+ export function registerGetWhaleTrades(server, client) {
62
+ registerTradeList(server, client, {
63
+ name: "get_whale_trades",
64
+ title: "List Whale Trades",
65
+ path: "/api/v1/whale-trades",
66
+ deprecatedOf: "get_large_trades",
67
+ });
68
+ }
57
69
  //# sourceMappingURL=get-whale-trades.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-whale-trades.js","sourceRoot":"","sources":["../../src/tools/get-whale-trades.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAiB;IACzE,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE;;;;;;;;;;2YAUwX;QACrY,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;iBAChD,QAAQ,CAAC,iCAAiC,CAAC;YAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC1B,QAAQ,CAAC,0CAA0C,CAAC;YACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;iBACtC,QAAQ,CAAC,0CAA0C,CAAC;YACvD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC5B,QAAQ,CAAC,8CAA8C,CAAC;YAC3D,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;iBACzD,QAAQ,CAAC,sBAAsB,CAAC;YACnC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;iBACpC,QAAQ,CAAC,2CAA2C,CAAC;SACzD;QACD,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;KACF,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAE;QAC1E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,sBAAsB,EAAE;gBAC5D,KAAK;gBACL,MAAM;gBACN,QAAQ;gBACR,QAAQ;gBACR,SAAS;gBACT,eAAe;aAChB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEpC,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"get-whale-trades.js","sourceRoot":"","sources":["../../src/tools/get-whale-trades.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ const readAnnotations = {
16
16
  export function registerGetPickOfTheDay(server, client) {
17
17
  server.registerTool("get_pick_of_the_day", {
18
18
  title: "Get Pick of the Day",
19
- description: `Get today's published Pick of the Day: the sports markets where graded (S/A/B) smart money is positioned, frozen at publish time. Pro-tier. Read \`picks\` in \`pick_rank\` order (normally 3-6 items, never more than six). Each pick carries the matchup, the backed side (pick_outcome_label), the frozen pre-game price and the return on the flat $1,000 stake (\`stake_usd\`, \`return_usd\`; \`return_per_100\` keeps the literal $100 basis), the smart-money holders on that side, the top grade, CLV capture status, and the thesis. \`scheduled_picks\` lists today's selected-but-unreleased slots with only pick_rank, release_at, and kickoff; no market identity exists before release.
19
+ description: `Get today's published Pick of the Day: the sports markets where graded (S/A/B) sharp money is positioned, frozen at publish time. Pro-tier. Read \`picks\` in \`pick_rank\` order (normally 3-6 items, never more than six). Each pick carries the matchup, the backed side (pick_outcome_label), the frozen pre-game price and the return on the flat $1,000 stake (\`stake_usd\`, \`return_usd\`; \`return_per_100\` keeps the literal $100 basis), the sharp-money holders on that side, the top grade, CLV capture status, and the thesis. \`scheduled_picks\` lists today's selected-but-unreleased slots with only pick_rank, release_at, and kickoff; no market identity exists before release.
20
20
 
21
21
  Before any pick is released the tool returns an error carrying reason pick_not_released and a retry_at instant: schedule the next read from retry_at (or the earliest scheduled_picks.release_at) instead of polling. A current-day pick whose holder proof is not readable yet is listed in \`proof_pending_picks\` (pick_rank, release_at, kickoff, retry_at) while \`picks\` carries the proof-readable picks; the tool returns read_model_warming with a retry only when no published pick has readable proof.
22
22
 
@@ -1,11 +1,15 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { ApiClient } from "../client.js";
3
3
  export declare function registerBatchGetTraders(server: McpServer, client: ApiClient): void;
4
+ export declare function registerGetLargeTradesHistory(server: McpServer, client: ApiClient): void;
5
+ /** Deprecated spelling of get_large_trades_history (#16304). */
4
6
  export declare function registerGetWhaleTradesHistory(server: McpServer, client: ApiClient): void;
7
+ export declare function registerGetLargeTrade(server: McpServer, client: ApiClient): void;
8
+ /** Deprecated spelling of get_large_trade (#16304). */
5
9
  export declare function registerGetWhaleTrade(server: McpServer, client: ApiClient): void;
6
10
  export declare function registerBatchGetMarketIntel(server: McpServer, client: ApiClient): void;
7
- export declare function registerGetSmartMoneyFlows(server: McpServer, client: ApiClient): void;
8
11
  export declare function registerGetSharpMoneyFlows(server: McpServer, client: ApiClient): void;
12
+ export declare function registerGetSmartMoneyFlows(server: McpServer, client: ApiClient): void;
9
13
  export declare function registerGetMarketSnapshot(server: McpServer, client: ApiClient): void;
10
14
  export declare function registerGetPositionTimelineById(server: McpServer, client: ApiClient): void;
11
15
  export declare function registerGetInsiderRadarFlag(server: McpServer, client: ApiClient): void;
@@ -19,6 +23,10 @@ export declare function registerGetTraderExportSnapshot(server: McpServer, clien
19
23
  export declare function registerGetPlatforms(server: McpServer, client: ApiClient): void;
20
24
  export declare function registerSearchContent(server: McpServer, client: ApiClient): void;
21
25
  export declare function registerGetReport(server: McpServer, client: ApiClient): void;
26
+ export declare function registerGetPreGameSideObservations(server: McpServer, client: ApiClient): void;
27
+ /** Deprecated spelling of get_pre_game_side_observations (#16310). */
22
28
  export declare function registerGetSportsEdgeObservations(server: McpServer, client: ApiClient): void;
29
+ export declare function registerGetPreGameSides(server: McpServer, client: ApiClient): void;
30
+ /** Deprecated spelling of get_pre_game_sides (#16310). */
23
31
  export declare function registerGetSportsEdgeSignals(server: McpServer, client: ApiClient): void;
24
32
  //# sourceMappingURL=read-parity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-parity.d.ts","sourceRoot":"","sources":["../../src/tools/read-parity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAWzC,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA6BlF;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA4CxF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA2BhF;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA2BtF;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAyCrF;AAKD,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAyCrF;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA2BpF;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAkC1F;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA2BtF;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA6CtF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAsB/E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAyB7E;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAyBzF;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA+B1F;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAyB3F;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA2B1F;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAsB/E;AAMD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA2BhF;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA2B5E;AAED,wBAAgB,iCAAiC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAoC5F;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA6BvF"}
1
+ {"version":3,"file":"read-parity.d.ts","sourceRoot":"","sources":["../../src/tools/read-parity.ts"],"names":[],"mappings":"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"}