MCP server for the Live Tennis API
The
Tool surface and plan gating
The server registers eleven tools. Free-tier keys unlock basic match lookup: get_live_matches returns in-progress fixtures with scores, get_upcoming_matches lists scheduled starts, get_match and get_match_score provide detail or the minimal payload, search_players and get_player cover roster queries, and get_fixtures returns the forward schedule.
Paid tiers add get_recent_results, get_match_events for point-by-point momentum, get_match_odds with bid/ask/mid prices, and get_match_analysis that returns the model thesis and win probability. check_api_status reports key tier and endpoint reachability. All calls are gated server-side; a 403 is returned for unlicensed endpoints rather than a client-side check.
Because the implementation is a thin TypeScript wrapper around the upstream REST endpoints, latency tracks the source API. The package uses tsup for dual ESM/CJS builds and ships a manifest.json for MCP client discovery.
Installation and client configuration
Claude Code accepts a one-line registration:
claude mcp add livetennis -e LIVETENNISAPI_KEY=twjp_... -- npx -y livetennisapi-mcp
Claude Desktop, Cursor and Zed use the same npx invocation inside their JSON config, passing the key through the env object. The command pulls
Developers who already maintain MCP servers will notice the standard pattern: the server implements the protocolโs tool list and call handlers, then forwards authenticated requests. No additional proxy or queue is present, keeping the surface small.
Trade-offs for production use
The main constraint is plan segmentation. Agents that rely on odds or analysis will hit 403 responses until the key is upgraded, and the error message contains no upgrade link. Rate limits are inherited from the upstream service and are not documented in the MCP layer.
Because the server is stateless, each tool call opens a fresh HTTPS connection; sustained polling from an agent can therefore generate noticeable egress. The Dockerfile and .dockerignore are supplied, but most users run the npx form, which bypasses container overhead. No local caching or websocket feed is exposed, so repeated calls for the same match re-fetch from the origin.
For teams already routing LLM traffic through Cursor or Claude Desktop, the addition is a narrow but functional bridge to domain-specific tennis data. It does not replace direct API clients when full control over retries or response shaping is required.
FAQs
Does the server require a paid subscription? Free keys cover live scores, player search and schedules. Odds and model analysis need a paid plan.
Can the package run behind a corporate proxy? The npx invocation respects standard HTTPS_PROXY variables; no additional configuration is shipped.
Is the source code required for custom tool extensions? Yes. The repository is public, so developers can fork and register additional handlers before repackaging.
---
๐ Related articles
- Agentic Coding: Una Trappola per lo Sviluppo Software?
- File agents.md: utili per gli agenti di coding?
- Lean-ctx: Ottimizzatore Ibrido Riduce Consumo Token LLM del 89-99%
Need a consultation?
I help companies and startups build software, automate workflows, and integrate AI. Let's talk.
Get in touch