Prototyp · Vorschau: alle Server aus der offiziellen Registry, alle 30 Minuten synchronisiert. Mit Google anmelden, um Bewertungen zu schreiben.
PopNx MCPMCP-Server für alle, die KI nutzen · in einfachen Worten erklärt

Livetennisapi MCP

von livetennisapiVersion 1.6.5i★ 134iComputer oder Cloud
Name in der Registryio.github.livetennisapi/livetennisapi-mcp

So installierst du es

What it does

Live tennis scores, players, rankings, odds and win-probability. ATP, WTA, Challenger, ITF, juniors.

  • Connects Computer oder Cloud
  • Account or key Cloud: Works without a key · add Authorization if you have one (often raises limits) · Local: Needs LIVETENNISAPI_KEY
  • Category Sonstiges

Installation

Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.

5/5 Prüfungen bestanden · Was du fragst, läuft über den Server des Anbieters (mcp.livetennisapi.com)

Zuerst: Welche KI nutzt du?

Wähle deine App, dann erscheinen die Schritte unten.

Klappt mit Claude · etwa 2 Min.

Kein Schlüssel, nichts zu installieren · Einmal auf claude.ai oder in der Desktop-App einrichten, dann im Chat nutzen · kostenlose Konten können 1 hinzufügen · bei Team/Enterprise fügt ein Owner ihn hinzu

  1. Öffne die Connectors-Seite von Claude

    CustomizeConnectors

    CustomizeConnectors1+ Add2https://…3Add4
  2. Klicke „+ Add“ → „Add custom connector“ und fülle diese 2 Felder aus

    Kopiere jeden Wert in das gleichnamige Feld in Claude und klicke Continue

    Name · NameLivetennisapi MCP
    Remote MCP server URL · Adressehttps://mcp.livetennisapi.com/mcp

    Authentication so lassen, wie Claude es erkannt hat, dann Add klicken

  3. Im Chat einschalten

    +ConnectorsLivetennisapi MCP

  4. Ausprobieren

    Nutze Livetennisapi MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude sagt, dass es Livetennisapi MCP nutzt, oder ein Werkzeug von Livetennisapi MCP in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit ChatGPT nur in Firmen-Tarifen

ChatGPT Business, Enterprise oder Edu im Web, hinzugefügt von Admin oder Inhaber des Workspace · Mit Free, Plus oder Pro: Dein ChatGPT-Tarif kann MCP noch nicht selbst verbinden

  1. In ChatGPT im Web die Seite zum Hinzufügen von MCP öffnen

    Plugins+Add custom MCP server

    ChatGPTPlugins1+2https://…3Create4
  2. Name und Adresse eintragen

    Namen eingeben, Adresse unter Connection einfügen, Risikohinweis abhaken und Create as a plugin klicken

    Name · NameLivetennisapi MCP
    Connection · Adressehttps://mcp.livetennisapi.com/mcp
  3. Livetennisapi MCP im Chat auswählen

    Neuen Chat öffnen und vor dem Tippen Livetennisapi MCP aus deinen Plugins wählen

  4. Ausprobieren

    Nutze Livetennisapi MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn ChatGPT sagt, dass es Livetennisapi MCP nutzt, oder ein Werkzeug von Livetennisapi MCP in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von OpenAI abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit Claude Code · etwa 2 Min.

Kein Schlüssel, nichts zu installieren

  1. Terminal öffnen

    Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen

  2. Diesen Befehl einfügen und Enter drücken

    claude mcp add --transport http --scope user livetennisapi https://mcp.livetennisapi.com/mcp
  3. /mcp in Claude Code eingeben

    Livetennisapi MCP sollte in der Liste als verbunden erscheinen

  4. Ausprobieren

    Nutze Livetennisapi MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Claude Code sagt, dass es Livetennisapi MCP nutzt, oder ein Werkzeug von Livetennisapi MCP in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit Cursor · etwa 2 Min.

Kein Schlüssel, nichts zu installieren

  1. Mit diesem Button Cursor öffnen

    In Cursor öffnen

    Cursor fragt nach einer Bestätigung; klicke Install

  2. KI-Chat in Cursor im Agent-Modus öffnen

  3. Ausprobieren

    Nutze Livetennisapi MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn Cursor sagt, dass es Livetennisapi MCP nutzt, oder ein Werkzeug von Livetennisapi MCP in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Klappt mit VS Code · etwa 2 Min.

Kein Schlüssel, nichts zu installieren

  1. Mit diesem Button VS Code öffnen

    In VS Code öffnen

    VS Code fragt nach einer Bestätigung; klicke Install

  2. KI-Chat in VS Code im Agent-Modus öffnen

  3. Ausprobieren

    Nutze Livetennisapi MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache

    ✓ Wenn VS Code sagt, dass es Livetennisapi MCP nutzt, oder ein Werkzeug von Livetennisapi MCP in der Antwort zeigt, bist du verbunden

Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen

Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach

Alle Apps mit MCP ansehen →

Adresse für Apps, die über das Web verbinden

Adressehttps://mcp.livetennisapi.com/mcp

JSON-Einstellungen stehen unten unter „Für Entwickler“

Hängst du fest? Frag Leute, die Livetennisapi MCP nutzen💬 Diskussion →
Für Entwickler: Terminal-Befehle und JSON-Einstellungen

Über das Web

Claude Code

claude mcp add --transport http --scope user livetennisapi https://mcp.livetennisapi.com/mcp

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "livetennisapi": {
      "url": "https://mcp.livetennisapi.com/mcp"
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "livetennisapi": {
      "type": "http",
      "url": "https://mcp.livetennisapi.com/mcp"
    }
  }
}

Auf deinem Computer installiert

Claude Code

claude mcp add --scope user livetennisapi --env LIVETENNISAPI_KEY=your-value -- npx -y livetennisapi-mcp

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "livetennisapi": {
      "command": "npx",
      "args": [
        "-y",
        "livetennisapi-mcp"
      ],
      "env": {
        "LIVETENNISAPI_KEY": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "livetennisapi": {
      "command": "npx",
      "args": [
        "-y",
        "livetennisapi-mcp"
      ],
      "env": {
        "LIVETENNISAPI_KEY": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "livetennisapi": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "livetennisapi-mcp"
      ],
      "env": {
        "LIVETENNISAPI_KEY": "your-value"
      }
    }
  }
}

Werte, die du selbst einträgst

  • LIVETENNISAPI_KEY geheim env
    Your Live Tennis API key (twjp_...). Get one free, no card, at https://livetennisapi.com/subscribe/free — the server runs without it but only the status check will work.
  • Authorization geheim HTTP header
    Bearer twjp_… — your Live Tennis API key. Tools are listable without it; calling one needs it. Free key, no card: https://livetennisapi.com/subscribe/free

Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.

Auf einen Blick

Downloads pro Wochei
148/Wo.
Verbindung
Computer oder Cloud
Transport
stdio, streamable-http
Neueste Versioni
1.6.5
Kategoriei
Sonstiges
In der Registry veröffentlichti
28. Okt. 2026
Code zuletzt geänderti
9. Nov. 2026
Entwickler
livetennisapi
Pakete
npm: livetennisapi-mcp
Registry-Status
Aktiv

Welche Apps ihn nutzen können

Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.

Verbinden sich über das Internet in

ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

Laufen auf deinem Computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

Alle Apps, mit Vor- und Nachteilen →

Was er kann

Tool-Namen und -Beschreibungen genau so, wie der Server sie am 12. Nov. 2026 gemeldet hat. Geschrieben hat sie der Entwickler, nicht wir; wir zeigen sie als reinen Text.

  • get_live_matches

    List tennis matches currently in progress, with live scores. Covers ATP, WTA, Challenger, ITF and juniors. Use this for "what tennis is on right now". Works on the FREE plan (no card needed).

  • get_upcoming_matches

    List tennis matches scheduled to start soon, with players, tournament and start time. Use this for "who plays next" or to find a match id before it starts. Works on the FREE plan (no card needed).

  • get_match

    Full detail for one match by id: players, score, surface, round and status. Includes market prices on PRO and model analysis on ULTRA. Works on the FREE plan (no card needed).

  • get_match_score

    Current score for one match. This is the fastest read, with the lowest latency. Use it when you only need the score and already know the match id. Works on the FREE plan (no card needed).

  • search_players

    Search tennis players by name. Returns id, country, ranking and tour. Use the returned id with get_player. Works on the FREE plan (no card needed).

  • get_player

    One player's profile: ranking, country, handedness, date of birth and cached stats. Works on the FREE plan (no card needed).

  • get_fixtures

    Upcoming scheduled tennis fixtures, earliest first. This is the forward schedule, filterable by tour. Use this for "what is on this week". Works on the FREE plan (no card needed).

  • search_tournaments

    Search the tournament catalogue. Its ids are the tournament_id that match objects carry. Returns surface, indoor, host city/country and category where curated. Works on the FREE plan (no card needed).

  • get_tournament

    One tournament by its stable id, the tournament_id carried on match objects. Name, tour, surface, indoor, plus host city/country and category where curated. Works on the FREE plan (no card needed).

  • get_recent_results

    Recently completed tennis matches with final scores and winners. Filterable by tour, player, nationality and play date. Requires the BASIC plan or any History plan.

  • search_archive_matches

    Search the results archive: completed-match RESULTS from 1968 through 2022. ATP and WTA, main draws, qualifying and the ITF/futures tiers. Each record has winner and loser, final score, and seeds and ranks AT THE TIME of the match. Use this for historical questions ("Borg's Wimbl

  • get_archive_match

    One result from the results archive (1968 to 2022), with per-match serve statistics where the era recorded them. Stats are null for most rows before 1991, never synthesised. Requires the BASIC plan or any History plan.

  • search_archive_players

    The people of the results archive (1968 to 2022): hand, date of birth, country, height, and career-high rank with the week it was first reached. Their ids are corpus person ids (the winner/loser player_id on archive results), not roster ids. For current players use search_players

  • get_archive_career

    One player's whole career over the results archive (1968 to 2022). W-L record in total and by surface/level/year, titles, and summed serve statistics. The corpus records serve stats from 1991 only, so matches_with_stats says how many matches the serve block covers. The name must

  • get_h2h

    The all-time record between two players, across BOTH halves of the product. That is the results archive (1968 to 2022) plus the completed matches from 2023 onward. Names are the keys. An ambiguous fragment returns the candidate list to choose from, and nothing is guessed. Totals

  • get_match_events

    Timeline of events for a match: breaks, games won, sets won, momentum runs. Requires the PRO plan.

  • get_match_odds

    Match-winner market prices for a match: implied probability per player, with bid, ask and mid. Requires the PRO plan. Match rows carry has_market, so check it first. A match with no market mapped has no prices to return.

  • get_rankings

    The FULL published ranking table in rank order for one system, from the newest week at or before as_of. Rows carry player_name as published and a null player_id for players outside our roster, so the table has no silent holes. ATP/WTA history runs deep. The ITF circuits begin 202

  • player_stats

    One player's record over completed singles matches from 2023 onward, by default the last 365 days. It gives W/L overall, over the last 12 months and by surface, venue, level and season. It also gives tiebreaks, deciding sets, the record after winning or losing the first set, come

  • get_match_analysis

    Model analysis for a match: predicted win probability, the model's thesis and the main factors behind it. Requires the ULTRA plan. Match rows carry has_analysis, so check it first. A match with no thesis or profile has nothing to return.

  • get_player_rankings

    Point-in-time ranking records for SPECIFIC players. Per system, the newest record in force ON OR BEFORE as_of, never one dated after it. Every other ranking field in this API is the CURRENT value joined at read time. This one is the historical answer. Systems are never collapsed:

  • get_match_statistics

    In-play (or final) statistics for one match, in TWO families kept separate on purpose. DERIVED is rebuilt from the point-by-point record (holds/breaks, break points, service/return points). MEASURED is counted per match. It includes what no point record can yield: aces, double fa

  • get_charting_player

    Career profile from shot-level charting data, summed over the player's charted matches. Serve placement (deuce/ad x wide/body/T), return depth and outcomes, net play, and clutch break/game/set-point serving. Also winners and errors by wing, and rally-length tendencies. COVERAGE I

  • get_charting_match

    Every charting stat family for ONE charted match, both players, with the per-set split (set 1, set 2, ..., Total) exactly as charted. Charting ids are their own id space (1960 to 2026). Most of these matches have no counterpart in the live tables. Requires the ULTRA plan.

  • check_api_status

    Check whether the Live Tennis API is reachable and which plan the configured key is on. Use it to find out why other tools are refusing data. Works with no key.

Basischecksi

Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 12. Nov. 2026

  • ✓ Bestanden

    Entwickler passt zum Repo

    Der Registry-Name wurde mit dem GitHub-Konto livetennisapi bestätigt, dem das Repo gehört

  • ✓ Bestanden

    Wird noch gepflegt

    Code zuletzt geändert: vor 3 Tagen

  • ✓ Bestanden

    Hat eine Lizenz

    Nutzt MIT

  • ✓ Bestanden

    Endpunkt antwortet

    Antwort in 252 ms (HTTP 200)

  • – Nicht zutreffend

    Anmeldung mit OAuth

    Keine Anmeldung nötig

  • ✓ Bestanden

    Keine versteckten Anweisungen in Tool-Beschreibungen

    Wir haben 25 Tool-Beschreibungen gelesen und keine versteckten Anweisungen an die KI gefunden

Diskussion

Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.

Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.

Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.

Mit Google anmelden, um zu posten

Nutzerbewertungen

Noch keine Bewertungen

Mit Google anmelden, um zu bewerten

Im Vergleich mit anderen in Sonstigesi

  • Mehr Sterne als 99 % der anderen 19401 Server in dieser Kategorie
  • Neuer in der Registry veröffentlicht als 72 % der anderen 19401 Server in dieser Kategorie
  • Basischecks gleich gut wie oder besser als bei 100 % der anderen 19401 Server in dieser Kategorie

Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.

Häufige Fragen

Ist Livetennisapi MCP sicher?

Er hat 5 von 5 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.

Welche Schlüssel oder Codes braucht er?

Das musst du eintragen: LIVETENNISAPI_KEY

Läuft er auf meinem Computer oder in der Cloud?

Beides geht: Installiere ihn auf deinem Computer oder verbinde dich mit der Cloud-Version.

Wird er noch gepflegt?

Das GitHub-Repo wurde zuletzt vor 3 Tagen geändert, und die neueste Version (1.6.5) kam vor 15 Tagen in die Registry.

Welche Apps können ihn nutzen?

Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL und funktioniert daher auch in Apps mit Remote-MCP, etwa ChatGPT Business und höher.

Was kann ich stattdessen nutzen?

In derselben Kategorie: World Monitor, Claude Flow, Windmill

Andere in derselben Kategorie

Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.

So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti

World Monitor

Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 104 tools.

von koala73Weit verbreitet★ 90.526Aktualisiert heute

Läuft in der Cloud✓ vom Dienst · worldmonitor.app

Claude Flow

AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.

von ruvnetWeit verbreitet↓ 13.513/Wo.★ 81.524Aktualisiert vor 14 Monaten

Läuft auf deinem Computer

Windmill

Run Windmill scripts and flows and manage jobs, schedules, resources and variables.

von windmill-labsWeit verbreitet★ 18.530Aktualisiert heute

Läuft in der Cloud

README vom Entwickler

README öffnen

Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.

livetennisapi-mcp

MCP server for the [Live Tennis API](https://livetennisapi.com).

Give Claude, Cursor, Zed or any MCP client live tennis scores, players and fixtures — for ATP, WTA, Challenger, ITF and juniors. Odds, rankings, match statistics, charting and model win-probability tools are included, and require the PRO and ULTRA plans.

Documentation · Get a free API key


Setup

Claude Code

claude mcp add livetennis -e LIVETENNISAPI_KEY=twjp_… -- npx -y livetennisapi-mcp

Claude Desktop — add to claude_desktop_config.json:

{

"mcpServers": { "livetennis": { "command": "npx", "args": ["-y", "livetennisapi-mcp"], "env": { "LIVETENNISAPI_KEY": "twjp_…" } } } }

Cursor / Zed / others — same command, same env var. No install step; npx fetches it on demand.

Get a free key (no card) at livetennisapi.com, or a paid plan at pricing.

Try it

*"What tennis matches are live right now?"*

*"Who's winning the Alcaraz match, and what does the model give him?"*

*"Show me Sinner's ranking and recent results."*

*"What are the current odds on match 18953?"*

*"What's the all-time head-to-head between Borg and McEnroe?"*

*"List Navratilova's Grand Slam finals from the archive."*

*"Who was ATP #1 the week Alcaraz first entered the top 10?"*

*"How is Sabalenka serving in her live match — aces, hold rate, break points?"*

Tools

ToolDoesPlan
get_live_matchesMatches in progress, with live scoresFREE
get_upcoming_matchesMatches starting soonFREE
get_matchFull detail for one matchFREE
get_match_scoreCurrent score only — the smallest payloadFREE
search_playersFind players by nameFREE
get_playerProfile, ranking, country, handednessFREE
get_fixturesForward scheduleFREE
search_tournamentsTournament catalogue — surface, location, categoryFREE
get_tournamentOne tournament by its stable idFREE
get_recent_resultsCompleted matches and winnersBASIC
search_archive_matchesResults archive (1968–2022) — historical results with ranks and seeds at the timeBASIC
get_archive_matchOne archive result, with serve stats where the era recorded themBASIC
search_archive_playersArchive bios — hand, DOB, career-high rankBASIC
get_archive_careerCareer W-L, titles and serve aggregates over the archiveBASIC
get_h2hCross-era head-to-head — archive + current, one recordBASIC
get_match_eventsBreaks, games, sets, momentum runsPRO
get_match_oddsMatch-winner prices — bid / ask / midPRO
get_rankingsFull published ranking table per system (ATP, WTA, ITF circuits), any weekPRO
player_statsOne player's W/L by surface, level and season, set-based record, recent matches; serve/return sums on ULTRAPRO
get_player_rankingsPoint-in-time ranking records for specific players, as of any dateULTRA
get_match_statisticsIn-play statistics — aces, serve split, hold/break %, break pointsULTRA
get_charting_playerCareer profile from shot-level charting dataULTRA
get_charting_matchOne charted match, every stat family, per-set splitULTRA
get_match_analysisModel thesis, win probability, key factorsULTRA
check_api_statusReachability + which plan your key is on—

The six BASIC history tools are also unlocked by any History plan, which works on top of a free key. The results archive (1968–2022) — ATP and WTA, main draws, qualifying and the ITF/futures tiers — ends exactly where the current results begin (2023), so search_archive_matches answers "Borg's Wimbledon finals" and get_recent_results answers "yesterday's scores"; get_h2h spans both in one call.

Tier awareness

The API gates endpoints by plan and returns a bare 403 {"error":"upgrade_required"}. Handed that, a model will usually invent a reason or retry pointlessly.

So every tool that can hit a tier wall returns a plain-English explanation — as a normal result, not an error — naming the tier required and where to upgrade. The assistant can then tell you something true and actionable:

This data requires the ULTRA plan, and the configured API key is on a lower

tier. Nothing is wrong with the key — the endpoint is simply not included in

the current plan. Upgrade in place at https://livetennisapi.com/subscribe/upgrade

check_api_status probes upward to report which plan your key is actually on, so you can diagnose that without guessing.

Plans

FREEBASICPROULTRA
Matches, scores, players, fixtures, tournaments✅✅✅✅
Completed-match listings (results)¹—✅✅✅
Results archive (1968–2022) + head-to-head¹—✅✅✅
Match events, odds + rankings listing——✅✅
Model analysis, as-of rankings, match statistics + charting———✅
$0 — no card$9.99/mo$29.99/mo$99.99/mo

¹ Also unlocked by any History plan, which works on top of a free key.

Request quotas
FREEBASICPROULTRA
Requests per minute3060300600
Requests per day1001,00010,000500,000

FREE is 100 requests/day, so poll no faster than every 15 minutes on a free key; for an always-on dashboard, BASIC is the plan to recommend. Every response carries X-RateLimit-Limit / -Remaining / -Reset headers, and the tools relay the three distinct 429 shapes honestly — per-minute (retry shortly), daily cap (the error names the exact reset instant), and the abuse block (don't retry; fix the loop).

Hosted endpoint

Most people should use the stdio server above — your key never leaves your machine. For clients that can only speak HTTP, there is also a hosted Streamable-HTTP endpoint:

https://mcp.livetennisapi.com/mcp

Send your key as Authorization: Bearer twjp_…, X-API-Key: twjp_…, or ?token= if your client cannot set headers. Tools are listable without a key, so directories can introspect the server; calling one needs a key.

It is multi-tenant and holds no key of its own: every request builds its own server bound to the key that request presented, and there is deliberately no fallback to the host's environment. The endpoint applies its own transport-level limit per caller — 60 req/min anonymous, 300 keyed. That limit only protects this host process. It is not your API quota, which the API enforces per key and tier (see the quota table above).

Self-hosting it: deploy/install-http.sh and deploy/TUNNEL.md.

Use with Claude

As a connector. In Claude, add a custom connector and paste the endpoint with your key as a query parameter — no OAuth, nothing to install:

https://mcp.livetennisapi.com/mcp?token=twjp_…

?token= exists for clients that cannot set request headers. The tradeoff, stated plainly: a key in a URL is not written to our logs, but it *is* visible to the CDN in front of the endpoint and is stored in the connector's configuration. Prefer Authorization: Bearer twjp_… wherever your client lets you set a header.

From the Messages API. Claude can call the endpoint directly. Both halves are required — the server *and* a matching toolset entry; sending mcp_servers alone is rejected as a validation error:

client.beta.messages.create(

model="claude-opus-4-8", max_tokens=4096, betas=["mcp-client-2025-11-20"], mcp_servers=[{ "type": "url", "name": "livetennisapi", "url": "https://mcp.livetennisapi.com/mcp", "authorization_token": os.environ["LIVETENNISAPI_KEY"], }], tools=[{"type": "mcp_toolset", "mcp_server_name": "livetennisapi"}], messages=[{"role": "user", "content": "What tennis is live right now?"}], )

The authorization_token is sent as a bearer token, which is exactly what this server already accepts — no separate credential to obtain.

Use with Codex

One command:

codex mcp add livetennisapi \

--url https://mcp.livetennisapi.com/mcp \ --bearer-token-env-var LIVETENNISAPI_KEY

Or write it to ~/.codex/config.toml yourself — Codex shares that file across the CLI, the IDE extension and the desktop app:

[mcp_servers.livetennisapi]

url = "https://mcp.livetennisapi.com/mcp" bearer_token_env_var = "LIVETENNISAPI_KEY"

Use bearer_token_env_var, not bearer_token: it keeps the key in your environment rather than committing it to a config file.

There is also a Codex plugin, on its own marketplace:

codex plugin marketplace add livetennisapi/livetennisapi-codex-plugin

That registers the marketplace; install the plugin from Codex's plugin picker. Source: livetennisapi-codex-plugin.

The stdio route works too, unchanged: npx -y livetennisapi-mcp.

Bundled skill: Polymarket / Kalshi tennis trading data

The Claude Code plugin (.claude-plugin/plugin.json) also ships the polymarket-tennis Agent Skill under skills/polymarket-tennis/. It teaches Claude the observe-only polymarket-tennis Python package (market discovery, market-to-match matching, joined price/live-score view), the free-tier budget (30 req/min, 100 requests/day), and the verbatim retirement/walkover settlement rules for Polymarket, Polymarket US and Kalshi. Canonical copy lives in the polymarket-tennis repo; this one is mirrored for plugin installs. No order execution, ever.

Notes

  • Read-only. Every tool is a GET; nothing here can modify anything.
  • Your key stays local with the stdio server. It is read from the environment by the server process on your machine and sent only to api.livetennisapi.com.
  • Requires Node 20+.

Development

npm install

npm run build LIVETENNISAPI_KEY=twjp_… node dist/index.js # speaks MCP over stdio node dist/http.js # speaks MCP over HTTP, port 8081

npm test # protocol + parity with livetennisapi-ai + transport isolation + rate limiting + tool output npm run test:mutation # proves those tests fail when the code breaks

test:mutation is worth understanding before changing src/http.ts. It reintroduces each bug the tests claim to catch and asserts the suite goes red. It is not ceremony: the first version of the rate-limit test passed while the limiter was bucketing every caller together.

Built on the official livetennisapi client.

Related

Everything in the Live Tennis API developer surface:

InstallSourcePackage
Python clientpip install livetennisapirepopackage
JavaScript / TypeScript clientnpm install livetennisapirepopackage

| MCP server for LLM agents (this repo) | npx livetennisapi-mcp | — | [package](https://www.npmjs.com/p

Nur der Anfang wird gezeigt; den Rest findest du im Repo