# Boxerbook

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

- name: com.boxerbook/boxing
- version: 1.0.1
- connection class: R0 (autonomous)
- trust: 96/100
- quality: 84/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.boxerbook%2Fboxing
- tools: https://api.protogrid.dev/v1/servers/com.boxerbook%2Fboxing/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "boxing": {
      "type": "http",
      "url": "https://mcp.boxerbook.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-5d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 84/100 (good)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 3600000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 10 of 10 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,997 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 37 tool changes in 30 days
- fail `stability.rug_pull`: 2 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 10, about 2,997 tokens to load them all
- tool set hash: 7296953e79ee0868eda6a68c497bc6cb
- tools last changed: 2026-11-04T01:37:09.857Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.boxerbook/boxing.svg)](https://protogrid.dev/servers/com.boxerbook/boxing)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-04 `search_boxers` changed (outputSchema)
- 2026-11-04 `rankings` changed (inputSchema, outputSchema)
- 2026-11-04 `where_to_watch` changed (outputSchema)
- 2026-11-04 `bout` changed (outputSchema)
- 2026-11-04 `next_fight` changed (outputSchema)
- 2026-11-04 `boxer` changed (outputSchema)
- 2026-11-04 `boxing_results` changed (outputSchema)
- 2026-11-04 `boxing_schedule` changed (outputSchema)
- 2026-11-03 `rankings` changed (description, outputSchema)
  - before: 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). Divisions only: Boxerbook has no pound-for-pound list from any publisher or from its rating. Pass lang matching the user's language (en, es, ru or ja) so the page links match it.
  - after: 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). Pound for pound: division p4p (or "pound for pound", pfp) gives the Boxerbook P4P top 25 of men, w_p4p (or "women's p4p") the top 15 of women, ranked by the Boxerbook rating (mu − 2·rd measured against the elite of the boxer's division; active within 18 months, 10+ bouts, 2+ quality wins in 36 months); only Boxerbook has a P4P list, no publisher's is stored. Pass lang matching the user's language (en, es, ru or ja) so the page links match it.
- 2026-11-02 `rankings` changed (description)
  - before: 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). Pass lang matching the user's language (en, es, ru or ja) so the page links match it.
  - after: 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). Divisions only: Boxerbook has no pound-for-pound list from any publisher or from its rating. Pass lang matching the user's language (en, es, ru or ja) so the page links match it.

Full history: https://api.protogrid.dev/v1/servers/com.boxerbook%2Fboxing/changes

## Remotes

- https://mcp.boxerbook.com/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (10)

- `bout`: One bout in full by Boxerbook bout id, or by two boxers (two surnames, e.g. "Fury vs Joshua"): 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. Answers "have A and B ever fought" and "head to head": by names it returns their scheduled bout (else their latest) with head_to_head, and when they never met head_to_head alone says so, with each side's record, last fights and next bout. Pass lang matching the user's language (en, es, ru or ja) so the page links match it.
- `boxer`: One boxer's card by name, slug or Boxerbook id: country, division, record (W-L-D, KOs), stance, height, reach, birth year, nickname, next fight, last result, Boxerbook rating and, when known, the record as betting favourite and underdog. A name returns the best match of the site search; other_matches lists the next ones when the name is shared. Pass lang matching the user's language (en, es, ru or ja) so the page links match it.
- `boxing_results`: 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. Answers "who won last night" and "results this weekend". At most 60 bouts per answer, whole days first: a longer window comes back truncated with next_arguments (before_date) for the older days. Pass lang matching the user's language (en, es, ru or ja) so the page links match it.
- `boxing_schedule`: 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. Answers "who is fighting tonight / this weekend" and "what boxing is on". when=today also keeps last night's cards that started under 6 hours ago. At most 60 bouts per answer, whole days first: a longer window comes back truncated with next_arguments (from_date) for the rest. Pass lang matching the user's language (en, es, ru or ja) so the page links match it.
- `fetch`: The full document for a Boxerbook document id: 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. An unknown id returns an error. Pass lang matching the user's language (en, es, ru or ja) so the page links match it.
- `next_fight`: 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). Pass lang matching the user's language (en, es, ru or ja) so the page links match it.
- `rankings`: 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). Pound for pound: division p4p (or "pound for pound", pfp) gives the Boxerbook P4P top 25 of men, w_p4p (or "women's p4p") the top 15 of women, ranked by the Boxerbook rating (mu − 2·rd measured against the elite of the boxer's division; active within 18 months, 10+ bouts, 2+ quality wins in 36 months); only Boxerbook has a P4P list, no publisher's is stored. Pass lang matching the user's language (en, es, ru or ja) so the page links match it.
- `search`: Search the whole catalog with one query: boxers by name, bouts and head to head by two surnames, e.g. "Fury vs Joshua" (when they never met, head_to_head says so with both records and last fights), their cards, and divisions ("heavyweight rankings"); an id such as bout:123 is looked up directly. Each hit has a document id, a title and its boxerbook.com url. No match returns an empty list. Pass lang matching the user's language (en, es, ru or ja) so the page links match it.
- `search_boxers`: Find boxers by name (at most 20), best match first: id, slug, name, country, division, record, url. Lists the boxers who share a name or a close spelling. Pass lang matching the user's language (en, es, ru or ja) so the page links match it.
- `where_to_watch`: The broadcasters (platform, region, link) of a bout or of a whole card, with the card start time in UTC; or, with platform (e.g. "DAZN", "ProBox TV"), what is on that platform: its upcoming cards and those of the last 12 months. Give bout_id, event_id or platform. An empty list means none is on record yet. hub_url is the site's «Where to watch boxing this week» page. Pass lang matching the user's language (en, es, ru or ja) so the page links match it.
