Boxerbook

World professional boxing: schedule, results, boxer cards, rankings, forecasts. Free, no key.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
97%
命名品質
88%
汙染風險
100%
權限相符程度
90%
協定合規性
100%

發現項目(1)

  • LOWTool 'fetch' suggests web access but openWorldHint=false在 fetch 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~6,764Token(工具定義)
~6.6 KB典型回應大小
顯著的注意力影響(128k 上下文的 5.28%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "boxing": {
      "url": "https://mcp.boxerbook.com/mcp"
    }
  }
}

遠端端點

https://mcp.boxerbook.com/mcpstreamable-http

它能做什麼

工具清單

工具(10)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢boxing_schedule(when, country, division)

Upcoming professional boxing cards worldwide, grouped by card: date, start_utc (card start in UTC), venue, promoter, broadcasters, and each bout with both records going in, division, scheduled rounds, title, Boxerbook forecast and market consensus when known. Use this for "who is fighting tonight / this weekend", "what boxing is on". when=today also keeps last night's cards that started under 6 hours ago. Cite the url of each card or bout.

輸入結構描述

{
  "type": "object",
  "properties": {
    "when": {
      "type": "string",
      "enum": [
        "today",
        "tonight",
        "weekend",
        "30d"
      ],
      "default": "today",
      "description": "today (and cards still running from last night), tonight, weekend (Fri-Sun) or 30d"
    },
    "country": {
      "type": "string",
      "description": "ISO 3166-1 alpha-2 country of the bout, e.g. GB, US, MX",
      "pattern": "^[A-Za-z]{2}$"
    },
    "division": {
      "type": "string",
      "description": "division code (hea, wel, w_fea) or name (heavyweight, women's featherweight)",
      "minLength": 1,
      "maxLength": 40
    }
  }
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "when": {
      "enum": [
        "today",
        "tonight",
        "weekend",
        "30d"
      ]
    },
    "from": {
      "type": "string"
    },
    "to": {
      "type": "string"
    },
    "country": {
      "type": [
        "string",
        "null"
      ]
    },
    "division": {
      "type": [
        "string",
        "null"
      ]
    },
    "truncated": {
      "type": "boolean",
      "description": "true when the 400-bout cap of the underlying list may have dropped bouts of this window (narrow it with country or division)"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": [
              "integer",
              "null"
            ]
          },
          "date": {
            "type": "string"
          },
          "start_utc": {
            "type": "string"
          },
          "venue": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "type": [
              "string",
              "null"
            ]
          },
          "promoter": {
            "type": [
              "string",
              "null"
            ]
          },
          "broadcasts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "platform": {
                  "type": "string"
                },
                "region": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "url": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "platform"
              ]
            }
          },
          "url": {
            "type": "string"
          },
          "bouts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "date": {
                  "type": "string"
                },
                "start_utc": {
                  "type": "string",
                  "description": "ISO UTC start of the card, when known"
                },
                "status": {
                  "type": "string"
                },
                "a": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    },
                    "slug": {
                      "type": "string"
                    },
                    "record": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "W-L-D going into the bout"
                    }
                  },
                  "required": [
                    "name",
                    "record"
                  ]
                },
                "b": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "name": {
                      "type": "string"
                    },
                    "slug": {
                      "type": "string"
                    },
                    "record": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "W-L-D going into the bout"
                    }
                  },
                  "required": [
                    "name",
                    "record"
                  ]
                },
                "division": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "scheduled_rounds": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "title_text": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "url": {
                  "type": "string"
                },
                "forecast": {
                  "type": "object",
                  "properties": {
                    "p_a": {
                      "type": "number",
                      "description": "Boxerbook model probability that side a wins"
                    },
                    "as_of": {
                      "type": "string"
                    },
                    "run_id": {
                      "type": [
                        "integer",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "p_a",
                    "as_of"
                  ]
                },
                "market": {
                  "type": "object",
                  "properties": {
                    "favourite": {
                      "enum": [
                        "a",
                        "b"
                      ]
                    },
                    "p_a": {
                      "type": "number",
                      "description": "no-vig consensus probability of side a"
                    },
                    "books": {
                      "type": "integer"
                    },
                    "snapshot_at": {
                      "type": "string"
                    },
                    "via": {
                      "const": "The Odds API consensus"
                    },
                    "opening": {
                      "type": "object",
                      "properties": {
                        "p_a": {
                          "type": "number"
                        },
                        "snapshot_at": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "p_a",
                        "snapshot_at"
                      ],
                      "description": "the opening line (first live snapshot); /v1/bouts/{id} only"
                    }
                  },
                  "required": [
                    "favourite",
                    "p_a",
                    "books",
                    "snapshot_at",
                    "via"
                  ]
                }
              },
              "required": [
                "id",
                "date",
                "a",
                "b",
                "url"
              ]
            }
          }
        },
        "required": [
          "date",
          "bouts",
          "broadcasts"
        ]
      }
    },
    "url": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "source": {
          "const": "Boxerbook"
        },
        "license": {
          "const": "ODbL"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "source",
        "license",
        "url"
      ]
    },
    "as_of": {
      "type": "string"
    },
    "partial": {
      "type": "boolean",
      "description": "true when part of the data could not be read this time; retry in a minute for the full answer"
    }
  },
  "required": [
    "events",
    "attribution",
    "as_of"
  ]
}
🟢boxing_results(days, country, division)

Completed professional bouts of the last N days (N calendar days ending today: 1 = today, 2 = last night and today, up to 14), newest first: winner, method, round, time, both records going in and the sources of each result. Use this for "who won last night", "results this weekend". Cite the url of each bout.

輸入結構描述

{
  "type": "object",
  "properties": {
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 14,
      "default": 2,
      "description": "number of days ending today (default 2: last night and today)"
    },
    "country": {
      "type": "string",
      "description": "ISO 3166-1 alpha-2 country of the bout, e.g. GB, US, MX",
      "pattern": "^[A-Za-z]{2}$"
    },
    "division": {
      "type": "string",
      "description": "division code (hea, wel, w_fea) or name (heavyweight, women's featherweight)",
      "minLength": 1,
      "maxLength": 40
    }
  }
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "days": {
      "type": "integer"
    },
    "from": {
      "type": "string"
    },
    "to": {
      "type": "string"
    },
    "country": {
      "type": [
        "string",
        "null"
      ]
    },
    "division": {
      "type": [
        "string",
        "null"
      ]
    },
    "truncated": {
      "type": "boolean",
      "description": "true when the 400-bout cap of the underlying list may have dropped bouts of this window (narrow it with days, country or division)"
    },
    "bouts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "date": {
            "type": "string"
          },
          "a": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              },
              "slug": {
                "type": "string"
              },
              "record": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "W-L-D going into the bout"
              }
            },
            "required": [
              "name",
              "record"
            ]
          },
          "b": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              },
              "slug": {
                "type": "string"
              },
              "record": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "W-L-D going into the bout"
              }
            },
            "required": [
              "name",
              "record"
            ]
          },
          "winner": {
            "enum": [
              "a",
              "b",
              "draw",
              "nc"
            ]
          },
          "method": {
            "type": [
              "string",
              "null"
            ]
          },
          "round": {
            "type": [
              "integer",
              "null"
            ]
          },
          "time": {
            "type": [
              "string",
              "null"
            ]
          },
          "confirmation": {
            "type": [
              "string",
              "null"
            ]
          },
          "division": {
            "type": [
              "string",
              "null"
            ]
          },
          "title_text": {
            "type": [
              "string",
              "null"
            ]
          },
          "event_id": {
            "type": [
              "integer",
              "null"
            ]
          },
          "url": {
            "type": "string"
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "name"
              ]
            }
          }
        },
        "required": [
          "id",
          "date",
          "a",
          "b",
          "winner",
          "sources"
        ]
      }
    },
    "url": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "source": {
          "const": "Boxerbook"
        },
        "license": {
          "const": "ODbL"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "source",
        "license",
        "url"
      ]
    },
    "as_of": {
      "type": "string"
    },
    "partial": {
      "type": "boolean",
      "description": "true when part of the data could not be read this time; retry in a minute for the full answer"
    }
  },
  "required": [
    "bouts",
    "attribution",
    "as_of"
  ]
}
🟢boxer(query)

One boxer's card by name, slug or Boxerbook id: country, division, record (W-L-D, KOs), stance, height, reach, birth date, nickname, next fight, last result, Boxerbook rating and, when known, the record as betting favourite and underdog. A name goes through the site search and returns the best match (other_matches lists the next ones: check them when the name is common). Cite the url.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "a boxer's name, slug (giorgio-visioli) or Boxerbook id",
      "minLength": 1,
      "maxLength": 80
    }
  },
  "required": [
    "query"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "slug": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "country": {
      "type": [
        "string",
        "null"
      ]
    },
    "sex": {
      "type": [
        "string",
        "null"
      ]
    },
    "division": {
      "type": [
        "string",
        "null"
      ]
    },
    "record": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "w": {
              "type": "integer"
            },
            "l": {
              "type": "integer"
            },
            "d": {
              "type": "integer"
            },
            "ko": {
              "type": [
                "integer",
                "null"
              ]
            }
          },
          "required": [
            "w",
            "l",
            "d"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "record_source": {
      "enum": [
        "bouts",
        "wikidata",
        null
      ]
    },
    "bouts_without_result": {
      "type": [
        "integer",
        "null"
      ],
      "description": "completed bouts whose result is not known yet (record_source bouts only); record is null when no result is known at all"
    },
    "stance": {
      "type": [
        "string",
        "null"
      ]
    },
    "height_cm": {
      "type": [
        "number",
        "null"
      ]
    },
    "reach_cm": {
      "type": [
        "number",
        "null"
      ]
    },
    "birth_date": {
      "type": [
        "string",
        "null"
      ]
    },
    "nickname": {
      "type": [
        "string",
        "null"
      ]
    },
    "next_fight": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "bout_id": {
              "type": "integer"
            },
            "date": {
              "type": "string"
            },
            "start_utc": {
              "type": "string"
            },
            "opponent": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "name": {
                  "type": "string"
                },
                "slug": {
                  "type": "string"
                }
              },
              "required": [
                "name"
              ]
            },
            "url": {
              "type": "string"
            }
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "last_result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "bout_id": {
              "type": "integer"
            },
            "date": {
              "type": "string"
            },
            "opponent": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "name": {
                  "type": "string"
                },
                "slug": {
                  "type": "string"
                }
              },
              "required": [
                "name"
              ]
            },
            "result": {
              "enum": [
                "W",
                "L",
                "D",
                "NC",
                null
              ]
            },
            "method": {
              "type": [
                "string",
                "null"
              ]
            },
            "round": {
              "type": [
                "integer",
                "null"
              ]
            },
            "url": {
              "type": "string"
            }
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "rating": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "mu": {
              "type": "number"
            },
            "rd": {
              "type": "number"
            },
            "division_rank": {
              "type": [
                "integer",
                "null"
              ]
            },
            "confidence": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "market_record": {
      "type": "object",
      "properties": {
        "as_favourite": {
          "type": "object",
          "properties": {
            "w": {
              "type": "integer"
            },
            "l": {
              "type": "integer"
            }
          }
        },
        "as_underdog": {
          "type": "object",
          "properties": {
            "w": {
              "type": "integer"
            },
            "l": {
              "type": "integer"
            }
          }
        },
        "upsets_caused": {
          "type": "integer"
        },
        "upsets_suffered": {
          "type": "integer"
        }
      }
    },
    "url": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "source": {
          "const": "Boxerbook"
        },
        "license": {
          "const": "ODbL"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "source",
        "license",
        "url"
      ]
    },
    "as_of": {
      "type": "string"
    },
    "other_matches": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "country": {
            "type": [
              "string",
              "null"
            ]
          },
          "division": {
            "type": [
              "string",
              "null"
            ]
          },
          "record": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "url"
        ]
      },
      "description": "other boxers matching the name"
    },
    "partial": {
      "type": "boolean",
      "description": "true when part of the data could not be read this time; retry in a minute for the full answer"
    }
  },
  "required": [
    "id",
    "slug",
    "name",
    "record",
    "url",
    "attribution",
    "as_of"
  ]
}
🟢next_fight(query)

A boxer's next scheduled bout (by name, slug or id): date, start_utc (card start in UTC), opponent, venue, broadcasters, Boxerbook forecast and market consensus when known; next_fight is null when none is on record (last_result is then the latest bout). Cite the url.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "a boxer's name, slug (giorgio-visioli) or Boxerbook id",
      "minLength": 1,
      "maxLength": 80
    }
  },
  "required": [
    "query"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "boxer": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        }
      },
      "required": [
        "name"
      ]
    },
    "next_fight": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "bout_id": {
              "type": "integer"
            },
            "date": {
              "type": "string"
            },
            "start_utc": {
              "type": "string",
              "description": "ISO UTC start of the card, when known"
            },
            "status": {
              "type": "string"
            },
            "opponent": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "name": {
                  "type": "string"
                },
                "slug": {
                  "type": "string"
                }
              },
              "required": [
                "name"
              ]
            },
            "title_text": {
              "type": [
                "string",
                "null"
              ]
            },
            "scheduled_rounds": {
              "type": [
                "integer",
                "null"
              ]
            },
            "venue": {
              "type": [
                "string",
                "null"
              ]
            },
            "city": {
              "type": [
                "string",
                "null"
              ]
            },
            "country": {
              "type": [
                "string",
                "null"
              ]
            },
            "event": {
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "date": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "venue": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "city": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "country": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "promoter": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "url": {
                      "type": "string"
                    }
                  }
                },
                {
                  "type": "null"
                }
              ]
            },
            "broadcasts": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "platform": {
                    "type": "string"
                  },
                  "region": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "url": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "platform"
                ]
              }
            },
            "forecast": {
              "type": "object",
              "properties": {
                "p_a": {
                  "type": "number",
                  "description": "Boxerbook model probability that side a wins"
                },
                "as_of": {
                  "type": "string"
                },
                "run_id": {
                  "type": [
                    "integer",
                    "null"
                  ]
                }
              },
              "required": [
                "p_a",
                "as_of"
              ]
            },
            "market": {
              "type": "object",
              "properties": {
                "favourite": {
                  "enum": [
                    "a",
                    "b"
                  ]
                },
                "p_a": {
                  "type": "number",
                  "description": "no-vig consensus probability of side a"
                },
                "books": {
                  "type": "integer"
                },
                "snapshot_at": {
                  "type": "string"
                },
                "via": {
                  "const": "The Odds API consensus"
                },
                "opening": {
                  "type": "object",
                  "properties": {
                    "p_a": {
                      "type": "number"
                    },
                    "snapshot_at": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "p_a",
                    "snapshot_at"
                  ],
                  "description": "the opening line (first live snapshot); /v1/bouts/{id} only"
                }
              },
              "required": [
                "favourite",
                "p_a",
                "books",
                "snapshot_at",
                "via"
              ]
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "bout_id",
            "date",
            "opponent",
            "broadcasts",
            "url"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "last_result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "bout_id": {
              "type": "integer"
            },
            "date": {
              "type": "string"
            },
            "opponent": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer"
                },
                "name": {
                  "type": "string"
                },
                "slug": {
                  "type": "string"
                }
              },
              "required": [
                "name"
              ]
            },
            "result": {
              "enum": [
                "W",
                "L",
                "D",
                "NC",
                null
              ]
            },
            "method": {
              "type": [
                "string",
                "null"
              ]
            },
            "round": {
              "type": [
                "integer",
                "null"
              ]
            },
            "url": {
              "type": "string"
            }
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "url": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "source": {
          "const": "Boxerbook"
        },
        "license": {
          "const": "ODbL"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "source",
        "license",
        "url"
      ]
    },
    "as_of": {
      "type": "string",
      "description": "ISO UTC time of this answer"
    },
    "partial": {
      "type": "boolean",
      "description": "true when part of the data could not be read this time; retry in a minute for the full answer"
    }
  },
  "required": [
    "boxer",
    "next_fight",
    "url",
    "attribution",
    "as_of"
  ]
}
🟢bout(id)

One bout in full by Boxerbook bout id: both boxers with records going in, status, result (winner, method, round, time), start_utc, venue, card, broadcasters, sources, Boxerbook forecast with its signals and the market consensus when known. Cite the url.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "minimum": 1,
      "description": "Boxerbook bout id (from a schedule, results, search or a /bouts/<id>/<slug> url)"
    }
  },
  "required": [
    "id"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer"
    },
    "date": {
      "type": "string"
    },
    "start_utc": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "confirmation": {
      "type": [
        "string",
        "null"
      ]
    },
    "provisional": {
      "type": "boolean"
    },
    "exhibition": {
      "type": "boolean"
    },
    "a": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "record": {
          "type": [
            "string",
            "null"
          ],
          "description": "W-L-D going into the bout"
        }
      },
      "required": [
        "name",
        "record"
      ]
    },
    "b": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer"
        },
        "name": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "record": {
          "type": [
            "string",
            "null"
          ],
          "description": "W-L-D going into the bout"
        }
      },
      "required": [
        "name",
        "record"
      ]
    },
    "winner": {
      "enum": [
        "a",
        "b",
        "draw",
        "nc",
        null
      ]
    },
    "method": {
      "type": [
        "string",
        "null"
      ]
    },
    "round": {
      "type": [
        "integer",
        "null"
      ]
    },
    "time": {
      "type": [
        "string",
        "null"
      ]
    },
    "scheduled_rounds": {
      "type": [
        "integer",
        "null"
      ]
    },
    "title_text": {
      "type": [
        "string",
        "null"
      ]
    },
    "venue": {
      "type": [
        "string",
        "null"
      ]
    },
    "city": {
      "type": [
        "string",
        "null"
      ]
    },
    "country": {
      "type": [
        "string",
        "null"
      ]
    },
    "event": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "integer"
            },
            "date": {
              "type": [
                "string",
                "null"
              ]
            },
            "venue": {
              "type": [
                "string",
                "null"
              ]
            },
            "city": {
              "type": [
                "string",
                "null"
              ]
            },
            "country": {
              "type": [
                "string",
                "null"
              ]
            },
            "promoter": {
              "type": [
                "string",
                "null"
              ]
            },
            "url": {
              "type": "string"
            }
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "broadcasts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "platform": {
            "type": "string"
          },
          "region": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "platform"
        ]
      }
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "name"
        ]
      }
    },
    "weighin": {
      "type": "object",
      "properties": {
        "a": {
          "type": "object",
          "properties": {
            "weight_lb": {
              "type": "number"
            },
            "missed": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "true: missed weight (a press report); null: unknown"
            },
            "source": {
              "type": "string"
            }
          },
          "required": [
            "weight_lb",
            "missed",
            "source"
          ]
        },
        "b": {
          "type": "object",
          "properties": {
            "weight_lb": {
              "type": "number"
            },
            "missed": {
              "type": [
                "boolean",
                "null"
              ],
              "description": "true: missed weight (a press report); null: unknown"
            },
            "source": {
              "type": "string"
            }
          },
          "required": [
            "weight_lb",
            "missed",
            "source"
          ]
        }
      },
      "description": "the official weigh-in, per side when known: a commission sheet before the press"
    },
    "forecast": {
      "type": "object",
      "properties": {
        "p_a": {
          "type": "number",
          "description": "Boxerbook model probability that side a wins"
        },
        "as_of": {
          "type": "string"
        },
        "run_id": {
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "required": [
        "p_a",
        "as_of"
      ]
    },
    "market": {
      "type": "object",
      "properties": {
        "favourite": {
          "enum": [
            "a",
            "b"
          ]
        },
        "p_a": {
          "type": "number",
          "description": "no-vig consensus probability of side a"
        },
        "books": {
          "type": "integer"
        },
        "snapshot_at": {
          "type": "string"
        },
        "via": {
          "const": "The Odds API consensus"
        },
        "opening": {
          "type": "object",
          "properties": {
            "p_a": {
              "type": "number"
            },
            "snapshot_at": {
              "type": "string"
            }
          },
          "required": [
            "p_a",
            "snapshot_at"
          ],
          "description": "the opening line (first live snapshot); /v1/bouts/{id} only"
        }
      },
      "required": [
        "favourite",
        "p_a",
        "books",
        "snapshot_at",
        "via"
      ]
    },
    "signals": {
      "type": "object",
      "description": "signals of the latest forecast: a and b per side (age, age_precision, record, layoff_days, last5, ko_rate, home, travel_km, mu_delta_12m, div_shift, listed_first, short_notice_days, weight_lb, missed_weight, amateur, height_cm, reach_cm, stance, ...) and bout (title, rounds, main, division, lead_days, replaced, weigh_diff_lb)"
    },
    "fight_week": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "side": {
            "enum": [
              "a",
              "b",
              "bout"
            ]
          },
          "category": {
            "enum": [
              "injury",
              "replacement",
              "weight",
              "camp",
              "layoff",
              "background"
            ]
          },
          "fact": {
            "type": "string",
            "description": "one sentence, read by a model from the video captions"
          },
          "quote": {
            "type": "string",
            "description": "the words as spoken (auto captions), 40 words at most"
          },
          "channel": {
            "type": [
              "string",
              "null"
            ]
          },
          "video_url": {
            "type": "string",
            "description": "the YouTube video at the moment of the quote"
          },
          "t": {
            "type": "integer",
            "description": "seconds into the video"
          }
        },
        "required": [
          "side",
          "category",
          "fact",
          "quote",
          "video_url",
          "t"
        ]
      },
      "description": "facts said in fight-week videos (press conference, weigh-in, face-off, open workout): only accepted ones, at most 24; no predictions or opinions"
    },
    "url": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "source": {
          "const": "Boxerbook"
        },
        "license": {
          "const": "ODbL"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "source",
        "license",
        "url"
      ]
    },
    "as_of": {
      "type": "string"
    },
    "partial": {
      "type": "boolean",
      "description": "true when part of the data could not be read this time; retry in a minute for the full answer"
    }
  },
  "required": [
    "id",
    "date",
    "status",
    "a",
    "b",
    "broadcasts",
    "sources",
    "fight_week",
    "url",
    "attribution",
    "as_of"
  ]
}
🟢where_to_watch(bout_id, event_id)

The broadcasters (platform, region, link) of a bout or of a whole card, with the card start time in UTC. Give bout_id or event_id. An empty list means none is on record yet. Cite the url.

輸入結構描述

{
  "type": "object",
  "properties": {
    "bout_id": {
      "type": "integer",
      "minimum": 1,
      "description": "Boxerbook bout id"
    },
    "event_id": {
      "type": "integer",
      "minimum": 1,
      "description": "Boxerbook event (card) id"
    }
  }
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "kind": {
      "enum": [
        "bout",
        "event"
      ]
    },
    "id": {
      "type": "integer"
    },
    "title": {
      "type": "string"
    },
    "date": {
      "type": [
        "string",
        "null"
      ]
    },
    "start_utc": {
      "type": "string",
      "description": "ISO UTC start of the card, when known"
    },
    "status": {
      "type": [
        "string",
        "null"
      ]
    },
    "event_id": {
      "type": [
        "integer",
        "null"
      ]
    },
    "venue": {
      "type": [
        "string",
        "null"
      ]
    },
    "city": {
      "type": [
        "string",
        "null"
      ]
    },
    "country": {
      "type": [
        "string",
        "null"
      ]
    },
    "broadcasts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "platform": {
            "type": "string"
          },
          "region": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "platform"
        ]
      }
    },
    "bouts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "url"
        ]
      }
    },
    "note": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "source": {
          "const": "Boxerbook"
        },
        "license": {
          "const": "ODbL"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "source",
        "license",
        "url"
      ]
    },
    "as_of": {
      "type": "string",
      "description": "ISO UTC time of this answer"
    },
    "partial": {
      "type": "boolean",
      "description": "true when part of the data could not be read this time; retry in a minute for the full answer"
    }
  },
  "required": [
    "kind",
    "id",
    "title",
    "broadcasts",
    "url",
    "attribution",
    "as_of"
  ]
}
🟢rankings(division, publisher)

The top 15 of a division: the Boxerbook rating (default) or the latest list of a publisher (WBC, WBA, IBF, WBO, The Ring, TBRB), with records. Division by code (hea, wel, w_fea) or name (heavyweight, women's flyweight). Cite the url.

輸入結構描述

{
  "type": "object",
  "properties": {
    "division": {
      "type": "string",
      "description": "division code (hea, wel, w_fea) or name (heavyweight, women's featherweight)",
      "minLength": 1,
      "maxLength": 40
    },
    "publisher": {
      "type": "string",
      "enum": [
        "boxerbook",
        "wbc",
        "wba",
        "ibf",
        "wbo",
        "ring",
        "tbrb"
      ],
      "default": "boxerbook",
      "description": "boxerbook (the Boxerbook rating), wbc, wba, ibf, wbo, ring or tbrb"
    }
  },
  "required": [
    "division"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "division": {
      "type": "object",
      "properties": {
        "code": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "sex": {
          "type": [
            "string",
            "null"
          ]
        },
        "limit_lbs": {
          "type": [
            "number",
            "null"
          ]
        }
      }
    },
    "publisher": {
      "enum": [
        "boxerbook",
        "wbc",
        "wba",
        "ibf",
        "wbo",
        "ring",
        "tbrb"
      ]
    },
    "list_date": {
      "type": [
        "string",
        "null"
      ]
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "position": {
            "type": "integer"
          },
          "id": {
            "type": "integer"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "champion_flag": {
            "type": "string"
          },
          "mu": {
            "type": "number"
          },
          "rd": {
            "type": "number"
          },
          "record": {
            "type": "string"
          }
        },
        "required": [
          "position",
          "name"
        ]
      }
    },
    "url": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "source": {
          "const": "Boxerbook"
        },
        "license": {
          "const": "ODbL"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "source",
        "license",
        "url"
      ]
    },
    "as_of": {
      "type": "string"
    },
    "partial": {
      "type": "boolean",
      "description": "true when part of the data could not be read this time; retry in a minute for the full answer"
    }
  },
  "required": [
    "division",
    "publisher",
    "items",
    "attribution",
    "as_of"
  ]
}
🟢search_boxers(q)

Find boxers by name (at most 20), best match first: id, slug, name, country, division, record. Use this when a name is ambiguous or its spelling unsure, then call boxer or next_fight with the id. Cite the url.

輸入結構描述

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "a name or part of it",
      "minLength": 2,
      "maxLength": 80
    }
  },
  "required": [
    "q"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "country": {
            "type": [
              "string",
              "null"
            ]
          },
          "division": {
            "type": [
              "string",
              "null"
            ]
          },
          "record": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "url"
        ]
      }
    },
    "url": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "source": {
          "const": "Boxerbook"
        },
        "license": {
          "const": "ODbL"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "source",
        "license",
        "url"
      ]
    },
    "as_of": {
      "type": "string"
    },
    "partial": {
      "type": "boolean",
      "description": "true when part of the data could not be read this time; retry in a minute for the full answer"
    }
  },
  "required": [
    "results",
    "attribution",
    "as_of"
  ]
}
🟢search(query)

Search the whole catalog with one query: boxers by name, bouts by two surnames ("Inoue vs Nakatani"), their cards, and divisions ("heavyweight rankings"); an id such as bout:123 is looked up directly. Each hit has an id for fetch, a title and its boxerbook.com url; ChatGPT connectors and deep research, which call nothing but search and fetch, start here. No match returns an empty list. Cite the url.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "what to look for: a boxer, two boxers, a division",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "query"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "pass to fetch: boxer:<id>, bout:<id>, event:<id> or rankings:<DIV>"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "url": {
      "type": "string"
    },
    "attribution": {
      "type": "object",
      "properties": {
        "source": {
          "const": "Boxerbook"
        },
        "license": {
          "const": "ODbL"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "source",
        "license",
        "url"
      ]
    },
    "as_of": {
      "type": "string",
      "description": "ISO UTC time of this answer"
    },
    "partial": {
      "type": "boolean",
      "description": "true when part of the data could not be read this time; retry in a minute for the full answer"
    }
  },
  "required": [
    "results",
    "attribution",
    "as_of"
  ]
}
🟢fetch(id)

The full document for an id returned by search: a boxer card, a bout (records, result, broadcasters, forecast, market, sources), a card with its bouts, or a division's rankings, as Markdown text with metadata. Pass the id unchanged; an unknown id returns an error. Cite the url.

輸入結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "an id from search: boxer:<id>, bout:<id>, event:<id> or rankings:<DIV>",
      "minLength": 3,
      "maxLength": 120
    }
  },
  "required": [
    "id"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "text": {
      "type": "string",
      "description": "the document as Markdown"
    },
    "url": {
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "additionalProperties": {
        "type": [
          "string",
          "number",
          "boolean",
          "null"
        ]
      }
    },
    "attribution": {
      "type": "object",
      "properties": {
        "source": {
          "const": "Boxerbook"
        },
        "license": {
          "const": "ODbL"
        },
        "url": {
          "type": "string"
        }
      },
      "required": [
        "source",
        "license",
        "url"
      ]
    },
    "as_of": {
      "type": "string",
      "description": "ISO UTC time of this answer"
    },
    "partial": {
      "type": "boolean",
      "description": "true when part of the data could not be read this time; retry in a minute for the full answer"
    }
  },
  "required": [
    "id",
    "title",
    "text",
    "url",
    "metadata",
    "attribution",
    "as_of"
  ]
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本10 個工具