odds-api-mcp-server 1.2.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -322,7 +322,7 @@ const tools = [
322
322
  // ── Dropping Odds ───────────────────────────────────────────────
323
323
  {
324
324
  name: "get_dropping_odds",
325
- description: "Get odds that have dropped the most from opening, based on sharp bookmaker data. Useful for tracking where sharp money is moving. Updated every ~10 seconds. Only available on paid plans.",
325
+ description: "Get odds that have dropped the most from opening, based on sharp bookmaker data. Useful for tracking where sharp money is moving. Updated every ~10 seconds. Only available on paid plans. Response includes drop percentages for multiple time windows (sinceOpening, 12h, 24h, 48h).",
326
326
  inputSchema: {
327
327
  type: "object",
328
328
  properties: {
@@ -336,11 +336,15 @@ const tools = [
336
336
  },
337
337
  market: {
338
338
  type: "string",
339
- description: "Market type to filter by: 'ML', 'Spread', or 'Totals'",
339
+ description: "Market name to filter by (case-insensitive). Supported: ML, Spread, Totals, Spread HT, Totals HT, Totals 1Q, Spread 1Q, Team Total Home, Team Total Away, Corners Spread, Corners Totals, Corners Spread HT, Corners Totals HT, Bookings Spread, Bookings Totals, Player Props",
340
340
  },
341
341
  timeWindow: {
342
342
  type: "string",
343
- description: "Time window for drop calculation and sorting: 'opening', '12h', '24h', '48h' (default: 'opening')",
343
+ description: "Time window for drop filtering and sorting: 'opening', '12h', '24h', '48h' (default: 'opening')",
344
+ },
345
+ sort: {
346
+ type: "string",
347
+ description: "Sort order: 'drop' (highest drop %), 'recent' (latest movement), 'kickoff' (soonest event). Default: 'drop'",
344
348
  },
345
349
  minDrop: {
346
350
  type: "number",
@@ -362,12 +366,13 @@ const tools = [
362
366
  required: [],
363
367
  },
364
368
  async handler(args) {
365
- const { sport, league, market, timeWindow, minDrop, limit, page, includeEventDetails } = args;
369
+ const { sport, league, market, timeWindow, sort, minDrop, limit, page, includeEventDetails } = args;
366
370
  return jsonResponse(await apiRequest("/dropping-odds", {
367
371
  sport,
368
372
  league,
369
373
  market,
370
374
  timeWindow,
375
+ sort,
371
376
  minDrop,
372
377
  limit,
373
378
  page,
@@ -539,7 +544,7 @@ const tools = [
539
544
  ];
540
545
  // ── Server Setup ─────────────────────────────────────────────────────────────
541
546
  const toolMap = new Map(tools.map((tool) => [tool.name, tool]));
542
- const server = new Server({ name: "odds-api-mcp", version: "1.1.1" }, { capabilities: { tools: {}, resources: {} } });
547
+ const server = new Server({ name: "odds-api-mcp", version: "1.3.0" }, { capabilities: { tools: {}, resources: {} } });
543
548
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
544
549
  tools: tools.map(({ name, description, inputSchema }) => ({
545
550
  name,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "odds-api-mcp-server",
3
- "version": "1.2.2",
3
+ "version": "1.3.0",
4
4
  "description": "MCP server for Odds-API.io - Access sports betting odds data from AI tools like Claude, Cursor, and VS Code",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/index.ts CHANGED
@@ -413,7 +413,7 @@ const tools: ToolDefinition[] = [
413
413
  {
414
414
  name: "get_dropping_odds",
415
415
  description:
416
- "Get odds that have dropped the most from opening, based on sharp bookmaker data. Useful for tracking where sharp money is moving. Updated every ~10 seconds. Only available on paid plans.",
416
+ "Get odds that have dropped the most from opening, based on sharp bookmaker data. Useful for tracking where sharp money is moving. Updated every ~10 seconds. Only available on paid plans. Response includes drop percentages for multiple time windows (sinceOpening, 12h, 24h, 48h).",
417
417
  inputSchema: {
418
418
  type: "object",
419
419
  properties: {
@@ -427,11 +427,16 @@ const tools: ToolDefinition[] = [
427
427
  },
428
428
  market: {
429
429
  type: "string",
430
- description: "Market type to filter by: 'ML', 'Spread', or 'Totals'",
430
+ description:
431
+ "Market name to filter by (case-insensitive). Supported: ML, Spread, Totals, Spread HT, Totals HT, Totals 1Q, Spread 1Q, Team Total Home, Team Total Away, Corners Spread, Corners Totals, Corners Spread HT, Corners Totals HT, Bookings Spread, Bookings Totals, Player Props",
431
432
  },
432
433
  timeWindow: {
433
434
  type: "string",
434
- description: "Time window for drop calculation and sorting: 'opening', '12h', '24h', '48h' (default: 'opening')",
435
+ description: "Time window for drop filtering and sorting: 'opening', '12h', '24h', '48h' (default: 'opening')",
436
+ },
437
+ sort: {
438
+ type: "string",
439
+ description: "Sort order: 'drop' (highest drop %), 'recent' (latest movement), 'kickoff' (soonest event). Default: 'drop'",
435
440
  },
436
441
  minDrop: {
437
442
  type: "number",
@@ -453,12 +458,13 @@ const tools: ToolDefinition[] = [
453
458
  required: [],
454
459
  },
455
460
  async handler(args) {
456
- const { sport, league, market, timeWindow, minDrop, limit, page, includeEventDetails } =
461
+ const { sport, league, market, timeWindow, sort, minDrop, limit, page, includeEventDetails } =
457
462
  args as {
458
463
  sport?: string;
459
464
  league?: string;
460
465
  market?: string;
461
466
  timeWindow?: string;
467
+ sort?: string;
462
468
  minDrop?: number;
463
469
  limit?: number;
464
470
  page?: number;
@@ -470,6 +476,7 @@ const tools: ToolDefinition[] = [
470
476
  league,
471
477
  market,
472
478
  timeWindow,
479
+ sort,
473
480
  minDrop,
474
481
  limit,
475
482
  page,
@@ -680,7 +687,7 @@ const tools: ToolDefinition[] = [
680
687
  const toolMap = new Map(tools.map((tool) => [tool.name, tool]));
681
688
 
682
689
  const server = new Server(
683
- { name: "odds-api-mcp", version: "1.1.1" },
690
+ { name: "odds-api-mcp", version: "1.3.0" },
684
691
  { capabilities: { tools: {}, resources: {} } },
685
692
  );
686
693