プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。Google でログインするとレビューを書けます。プロトタイプ · 30分ごとに更新
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Livetennisapi MCP

作者:livetennisapiバージョン 1.6.5i★ 135iパソコンでもクラウドでも
レジストリ名io.github.livetennisapi/livetennisapi-mcp

インストール方法

What it does

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

  • Connects パソコンでもクラウドでも
  • Account or key Cloud: Works without a key · add Authorization if you have one (often raises limits) · Local: Needs LIVETENNISAPI_KEY
  • Category その他

インストール

使っているAIアプリを選んで、設定をコピーしてください。

チェック 5/5 合格 · 質問内容は提供元のサーバー(mcp.livetennisapi.com)を通ります · ✓ コマンド確認済み 2026年11月13日

まず:どの AI を使っていますか?

使っているアプリを選ぶと、下に手順が表示されます。

Claude につなげます · 約 2 分

キー不要、インストール不要 · claude.ai かデスクトップアプリで一度設定すれば、チャットで使えます · 無料アカウントは 1 つまで · Team/Enterprise はオーナー(Owner)が追加

  1. Claude の Connectors ページを開く

    CustomizeConnectors

    CustomizeConnectors1Add2https://…3Add4
  2. 「Add」→「Custom」→「Web」を押し、この 2 つを入力

    ここからコピーして Claude の同じ名前の欄に貼り付け、Continue を押します

    Name · 名前Livetennisapi MCP
    Remote MCP server URL · アドレスhttps://mcp.livetennisapi.com/mcp

    Claude が検出したサインイン設定の画面で Continue を押す · Authentication は作者の説明どおり(Sign in now・Sign in when needed・No sign in)を選び Add を押します

  3. チャットで有効にする

    +ConnectorsLivetennisapi MCP

  4. 試してみる

    Livetennisapi MCP を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude が Livetennisapi MCP を使っていると言うか、回答に Livetennisapi MCP のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

ChatGPT との接続はプランしだい

フル MCP:Web 版 ChatGPT の Business・Enterprise・Edu · Pro:読み取り/取得の権限で接続、データを変えるツールは使えないことがあります · Plus:公式ドキュメントで未確認。プラグイン画面にカスタム MCP を追加する項目があれば試せます · Web のみ

  1. Web 版 ChatGPT で MCP の追加ページを開く

    Plugins+Add custom MCP server

    ChatGPTPlugins1+2https://…3Create4
  2. 名前とアドレスを入力

    名前を入れ、Connection にアドレスを貼り付け、注意事項にチェックして Create as a plugin を押します

    Name · 名前Livetennisapi MCP
    Connection · アドレスhttps://mcp.livetennisapi.com/mcp
  3. チャットで Livetennisapi MCP を選ぶ

    新しいチャットを開き、入力前にプラグインの一覧から Livetennisapi MCP を選びます

  4. 試してみる

    Livetennisapi MCP を使って、私に何ができるか教えて、1 つやってみせて

    ✓ ChatGPT が Livetennisapi MCP を使っていると言うか、回答に Livetennisapi MCP のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に OpenAI のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Claude Code につなげます · 約 2 分

キー不要、インストール不要

  1. ターミナルを開く

    Mac:Command+スペースで Terminal と入力 · Windows:PowerShell を開く

  2. このコマンドを貼り付けて Enter

    claude mcp add --transport http --scope user livetennisapi https://mcp.livetennisapi.com/mcp
  3. Claude Code で /mcp と入力

    Livetennisapi MCP が一覧にあり、接続済みと表示されれば OK です

  4. 試してみる

    Livetennisapi MCP を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Claude Code が Livetennisapi MCP を使っていると言うか、回答に Livetennisapi MCP のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Anthropic のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Cursor につなげます · 約 2 分

キー不要、インストール不要

  1. このボタンで Cursor を開く

    Cursor で開く

    Cursor がインストールの確認をするので Install を押します

  2. Cursor の AI チャットを Agent モードで開く

  3. 試してみる

    Livetennisapi MCP を使って、私に何ができるか教えて、1 つやってみせて

    ✓ Cursor が Livetennisapi MCP を使っていると言うか、回答に Livetennisapi MCP のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に Cursor のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

VS Code につなげます · 約 2 分

キー不要、インストール不要

  1. このボタンで VS Code を開く

    VS Code で開く

    VS Code がインストールの確認をするので Install を押します

  2. VS Code の AI チャットを Agent モードで開く

  3. 試してみる

    Livetennisapi MCP を使って、私に何ができるか教えて、1 つやってみせて

    ✓ VS Code が Livetennisapi MCP を使っていると言うか、回答に Livetennisapi MCP のツール名が出れば接続成功です

メニュー名は 2026年11月11日 に VS Code のヘルプページで確認 · アプリのバージョンにより画面が少し違うことがあります

Windsurf、Zed、Gemini CLI など MCP を使える他のアプリは追加方法がそれぞれ違います。アプリ一覧で確認してください

MCP を使えるアプリをすべて見る →

Web 経由でつなぐアプリ用のアドレス

アドレスhttps://mcp.livetennisapi.com/mcp

JSON 設定は下の「開発者向け」にあります

つまずいたら?Livetennisapi MCP を使っている人に聞いてみましょう💬 ディスカッション →
開発者向け:ターミナルのコマンドと JSON 設定

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"
    }
  }
}

パソコンにインストール

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"
      }
    }
  }
}

自分で入力する値

  • LIVETENNISAPI_KEY 秘密 必須 env
    Live Tennis API キー(twjp_...)。https://livetennisapi.com/subscribe/free で無料・カード不要で取得できます。キーがなくてもサーバーは動作しますが、利用できるのはステータス確認のみです。
    英語の原文を見る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 秘密 HTTP header
    Bearer twjp_… — Live Tennis API キー。キーなしでもツールの一覧は表示できますが、ツールの呼び出しにはキーが必要です。無料キー、カード不要:https://livetennisapi.com/subscribe/free
    英語の原文を見る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

説明は自動翻訳です。変数名は原文のままです。迷ったら原文を確認してください。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

ひと目でわかる

週あたりのダウンロードi
148/週
接続方法
パソコンでもクラウドでも
最新バージョンi
1.6.5
カテゴリi
その他
レジストリ公開日i
2026年10月28日
コードの最終更新i
2026年11月13日
作者
livetennisapi
パッケージ
npm: livetennisapi-mcp
ウェブサイト
livetennisapi.com
レジストリでの状態
有効

使えるアプリ

このサーバーのつなぎ方と、各アプリの公式ドキュメントに基づきます。2026年11月10日に確認。

インターネット経由でつなげるアプリ

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

パソコン上で動かせるアプリ

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

すべてのアプリと長所・短所 →

できること

ツールの名前と説明は、サーバーが2026年11月14日に返したそのままの内容です。書いたのは作者で、私たちではありません。プレーンテキストとして表示しています。

  • 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.

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月15日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント livetennisapi で確認済みです

  • ✓ 合格

    今もメンテナンスされている

    コードの最終更新:一昨日

  • ✓ 合格

    ライセンスがある

    MITを使用

  • ✓ 合格

    エンドポイントが応答する

    140ミリ秒で応答(HTTP 200)

  • – 対象外

    OAuthでサインイン

    サインイン不要

  • ✓ 合格

    ツールの説明に隠れた指示がない

    25件のツールの説明を読み、AIへの隠れた指示は見つかりませんでした

公開済みの脆弱性(OSV.dev)

まだ確認していません

確認していること → · JSON

作者の方へ:再確認の依頼・情報の誤りの報告

話し合い

質問、コツの共有、使えないことの報告ができます。「役に立った」の多い順です。

まだ投稿はありません。最初の質問や共有をどうぞ。

ここの投稿は利用者によるもので、PopNx チームのものではありません。

Google でログインして投稿

ユーザーレビュー

まだレビューはありません

Google でログインしてレビューを書く

その他のほかのサーバーとの比較i

  • このカテゴリのほかの19822件のうち99%よりスターが多い
  • このカテゴリのほかの19822件のうち70%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの19822件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Livetennisapi MCPは安全ですか?

当てはまる基本チェック5項目のうち5項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:LIVETENNISAPI_KEY

パソコンで動きますか、それともクラウドですか?

どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は一昨日、最新バージョン(1.6.5)がレジストリに届いたのは18 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URL で接続するので、リモート MCP を受け付けるアプリでも使えます。例:Web 版 ChatGPT(Business 以上はフル MCP、Pro は読み取りのみ)。

代わりに使えるものは?

同じカテゴリには:World Monitor, openstatus, Oh My Posh Validator, Strata, Jitsu

似た働きのほかの候補

同じカテゴリでほかの作者のもの。コマンドは確認済み。公式を先に、次にスター順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

World Monitor

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

作者:koala73広く使われている★ 9.1万昨日更新

クラウドで動く✓ 提供元 · worldmonitor.app

openstatus

Manage monitors, status pages, incidents and maintenances in your openstatus workspace.

作者:openstatusHQ広く使われている★ 92652 か月前更新

クラウドで動く✓ 提供元 · openstatus.dev

Oh My Posh Validator

Validate oh-my-posh configurations and segment snippets against the official schema.

作者:JanDeDobbeleer広く使われている★ 2.4万 リポジトリ全体のスター26 日前更新

クラウドで動く✓ 提供元 · ohmyposh.dev

Strata

MCP server for progressive tool usage at any scale (see https://klavis.ai)

作者:Klavis-AI成長中★ 582814 か月前更新

クラウドで動くリポジトリはアーカイブ済み✓ klavis.ai

Jitsu

Manage Jitsu data pipelines: destinations, streams, connections, functions, live events.

作者:jitsucom広く使われている★ 51354 か月前更新

クラウドで動く✓ 提供元 · jitsu.com
  • World Monitor — クラウドで動き、インストール不要 · キー不要
  • openstatus — クラウドで動き、インストール不要 · キー不要
  • Oh My Posh Validator — クラウドで動き、インストール不要 · キー不要
  • Strata — クラウドで動き、インストール不要 · キー不要
  • Jitsu — クラウドで動き、インストール不要 · キー不要

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

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

冒頭だけを表示しています。続きはリポジトリで読めます