livetennisapi-mcp
Real-time tennis data for ATP, WTA, Challenger and ITF: live scores, player rankings, match-winner odds, and model win-probability. 12 read-only tools; a tier-gated endpoint returns a plain-English explanation of which plan it needs rather than a bare 403. Requires a paid API key.
README
<div align="center">
<img src="https://raw.githubusercontent.com/livetennisapi/.github/main/profile/banner.jpg" alt="Live Tennis API" width="640">
livetennisapi-mcp
MCP server for the Live Tennis API.
Give Claude, Cursor, Zed or any MCP client live tennis scores, players, odds and model win-probability — for ATP, WTA, Challenger and ITF.
Documentation · Get an API key
</div>
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 key at livetennisapi.com.
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?"
Tools
| Tool | Does | Plan |
|---|---|---|
get_live_matches |
Matches in progress, with live scores | BASIC |
get_upcoming_matches |
Matches starting soon | BASIC |
get_match |
Full detail for one match | BASIC |
get_match_score |
Current score only — fastest read | BASIC |
search_players |
Find players by name | BASIC |
get_player |
Profile, ranking, country, handedness | BASIC |
get_fixtures |
Forward schedule | BASIC |
get_recent_results |
Completed matches and winners | BASIC |
get_match_events |
Breaks, games, sets, momentum runs | PRO |
get_match_odds |
Match-winner prices — bid / ask / mid | PRO |
get_match_analysis |
Model thesis, win probability, key factors | ULTRA |
check_api_status |
Reachability + which plan your key is on | — |
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 at https://livetennisapi.com/#pricing
check_api_status probes upward to report which plan your key is actually on,
so you can diagnose that without guessing.
Plans
| BASIC | PRO | ULTRA | |
|---|---|---|---|
| Matches, scores, players, fixtures, results | ✅ | ✅ | ✅ |
| Match events + odds | — | ✅ | ✅ |
| Model analysis + win probability | — | — | ✅ |
Notes
- Read-only. Every tool is a GET; nothing here can modify anything.
- Your key stays local. It is read from the environment by the server
process on your machine and sent only to
api.livetennisapi.com. - Requires Node 18+.
Development
npm install
npm run build
LIVETENNISAPI_KEY=twjp_… node dist/index.js # speaks MCP over stdio
Built on the official livetennisapi
client.
Related
Everything in the Live Tennis API developer surface:
| Install | Source | Package | |
|---|---|---|---|
| Python client | pip install livetennisapi |
repo | package |
| JavaScript / TypeScript client | npm install livetennisapi |
repo | package |
| MCP server for LLM agents (this repo) | npx livetennisapi-mcp |
— | package |
- API reference — https://docs.livetennisapi.com (plain-HTML version, no JavaScript required)
- OpenAPI 3.1 specification — livetennisapi/openapi
- Website and plans — https://livetennisapi.com
Licence
MIT — see LICENSE. Use of the API service is governed by the Terms of Service.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.