User Guide — Battle Court Stats
Welcome! This connector gives your AI assistant direct, read-only access to the Battle Court (World Jai Alai League) statistics database — every match charted throw by throw since Fall 2024. You ask questions in plain English; the assistant looks up the real numbers and answers with them.
It works with Claude, ChatGPT, and Cursor. This guide says "Claude" throughout, but everything applies the same way in the others.
No spreadsheets, no SQL, no exports. Just ask.
One-time setup (2 minutes)
Pick the app you use:
- Open claude.ai → Settings → Connectors (same place in the Claude desktop app).
- Click Add custom connector and paste the URL you were given:
https://mcp.reboteanalytics.com/mcp - The Battle Court Stats sign-in page opens — see Signing in below.
- Back in Claude, make sure the connector is enabled in your chat's tools menu (the sliders icon).
On mobile: set the connector up on the web or desktop app first; it then works in the mobile apps automatically.
- Custom connectors need a paid ChatGPT plan. On Plus/Pro, first switch on developer mode: Settings → Apps & Connectors → Advanced settings → Developer mode. (On Business/Enterprise, a workspace admin may need to enable custom connectors.)
- Go to Settings → Apps & Connectors → Create and fill in:
— Name: Battle Court Stats
— MCP server URL:https://mcp.reboteanalytics.com/mcp
— Authentication: OAuth - Click Create. The Battle Court Stats sign-in page opens — see Signing in below.
- In a chat, open the + menu, choose Developer mode, and switch the connector on — then just ask your question.
- Open Cursor Settings → MCP (also listed under Tools & Integrations) and click New MCP server — this opens your
~/.cursor/mcp.jsonfile. - Add this entry and save:
{ "mcpServers": { "battle-court-stats": { "url": "https://mcp.reboteanalytics.com/mcp" } } } - Back in the MCP settings list, the server appears with a Needs login button — click it. The Battle Court Stats sign-in page opens — see Signing in below.
- Ask your question in Cursor's chat (Agent mode). Cursor calls the stats tools automatically and may ask you to approve each tool the first time.
Signing in
Whichever app you use, the same Battle Court Stats sign-in page appears. Either:
- click Continue with Google and pick your account (easiest), or
- enter your email + password. First time? Open the invite link you were sent and choose a password — you'll be connected in the same step.
That's it. You'll occasionally be asked to sign in again (roughly monthly if you haven't used it) — same one-click process.
How to ask
Just describe what you want to know, the way you'd ask an analyst:
"Who has the best rebote percentage this season among backcourters — minimum 40 attempts?"
Claude figures out which lookups to run, pulls live numbers, and explains the answer. A few habits get you noticeably better results:
| Habit | Why |
|---|---|
| Name the season or date range ("in Spring 2026", "since March") | Otherwise you get career-to-date numbers |
| Ask for minimums ("min 30 attempts") | Filters out tiny samples that make leaderboards silly |
| Say doubles or singles when it matters | They're tracked separately |
| Ask it to show the numbers | "…and show the table" gets you the underlying data, not just the verdict |
| Push back | "That looks off — double-check against the glossary" makes Claude re-verify definitions |
Player names resolve automatically — if you type "goenaga" or even misspell it, Claude searches the roster for the right spelling before running stats.
What's in the database (plain English)
- Doubles matches (2v2) from Fall 2024 onward and singles (1v1) from Winter 2025 onward — lineups, ranks, final scores, playoffs flags.
- Point-by-point logs: every point's rally length, server, winner, running score, and how it ended (winner, tip, out, screen, pad, double fault, chula…).
- Throw-by-throw logs: every individual ball touch — who threw, from where on the court, what they threw (placement and side), and what happened to it. This unlocks situational questions: kill rates from the outside of the court, performance against specific opponents, off-the-back-wall throws, "% of throws not returned" in any scenario you can describe.
- Per-player, per-match stats in five families:
- Catching — catch rates overall and by side (forehand / backhand / costado)
- Serving — serve %, first-serve %, aces, double faults
- Kill shots — attempts and success by type (two-wall, splitter, filo, dejada, three-wall, cortada)
- Rebotes — back-wall catch success (the biggest skill separator in the league)
- Errors — balls thrown out, into the screen, or into the pad
- Team context — who carries the throwing load on each pair, franchise results, ranks (1 = elite … 6 = bottom).
Anything Claude reports is computed from this real data at the moment you ask. New matches appear after the league's stats pipeline runs — ask "What's the most recent match date in the database?" anytime to see how current it is.
Built-in shortcuts
Two one-click reports live in Claude's prompt menu for this connector:
- Scouting report — a full profile of any player: record, catching, serving, kill shots, rebotes, errors, league context, strengths/weaknesses.
- Compare two players — side-by-side stats with a plain-English verdict.
You can always just ask for these in words too.
Trust & limits
- Read-only, guaranteed. Nothing you or Claude can type changes the database — the connection is locked to reading at four independent layers. Experiment freely; you cannot break anything.
- Counting conventions (worth knowing): a "kill" = a kill-shot attempt that won the point; a double fault counts as two faults (first + second serve); rates are always recomputed from raw counts, never averaged.
- Substitution matches are excluded from player skill stats by default (they distort who-did-what); results listings still include them, labeled.
- Small samples — if a stat is built on 6 attempts, Claude is instructed to say so. Take those numbers as hints, not conclusions.
- Long custom analyses may take a few seconds; very heavy queries are automatically time-capped at 15 seconds.
If something's wrong
| Symptom | What to do |
|---|---|
| Claude says it can't reach the connector | Re-enable it in the tools menu; if that fails, Settings → Connectors → reconnect |
| Asked to sign in again | Normal after inactivity — one click with Google, or email + password |
| Forgot password | Ask the administrator for a fresh invite link, open it, set a new one |
| A number looks wrong | Ask Claude to "re-check that using the glossary and show the query" — and if it still looks wrong, tell the administrator |
| Want access for someone else | Only the administrator can add users — send them the request |
Need more? See the FAQ and the sample questions gallery.