Table tennis data inside your AI assistant.
Add one address to Claude, ChatGPT, Cursor or any app that takes MCP servers. Ask in plain words; it picks the right tool and calls the API with your key, on your plan.
https://tabletennisapi.com/mcp/your-keyfind_players head_to_headWang Chuqin leads 7-2 in their 9 meetings since December 2024, winning 29 games to 17.
| Champions Macao, quarter-final | 4-1 Wang |
| Grand Smash Singapore, final | 2-4 Harimoto |
| Champions Chongqing, semi-final | 4-3 Wang |
Three of their meetings went to a deciding game.
Set up in a minute
The address has your key in it, so the assistant can call the API as you. Keep it as private as the key.
Get a key
Sign up with Google. Your key and its MCP address show together, once, when the key is made.
Add the address
Paste it where your app adds connectors or MCP servers. The examples below show where.
Ask
"Who won the women's final in Macao?" The assistant picks the tools and shows what it used.
Claude and ChatGPT
Add a custom connector in the app's settings and paste the address as its URL. No sign-in is needed: the key is in the address.
https://tabletennisapi.com/mcp/your-key
Claude Code
One command in your terminal adds it to your project.
claude mcp add --transport http tabletennis \ https://tabletennisapi.com/mcp/your-key
Cursor
Add it to .cursor/mcp.json in your project, or the global one.
{"mcpServers": {"tabletennis": {
"url": "https://tabletennisapi.com/mcp/your-key"
}}}Your own agent
Any MCP client that speaks streamable HTTP. The key can go in a header instead of the address.
POST https://tabletennisapi.com/mcp Authorization: Bearer your-key
To teach an agent the whole API as well, give it the agent skill: save it as ~/.claude/skills/tabletennisapi/SKILL.md, or upload it as a skill in Claude's settings.
14 tools, one for each question
Each tool is one API endpoint, so answers are the same data your code would get. The free key covers results, events and players.
live_matchesEvery match being played now, with the score in games and the points in the game in progress.
Live, Completefind_matchesMatches on a day or across dates, filtered by discipline, age group, tier or status.
Every planget_matchOne match: both sides, the score of every game, length and table.
Every planresults_yesterdayYesterday's official results, every event.
Every planfind_eventsEvents past, running and scheduled, by name, country, tier or dates.
Every planget_eventOne event: dates, place, tier and its draws.
Every planevent_matchesAn event's matches, by draw and round.
Every planfind_playersPlayers by name or country.
Every planget_playerOne player and their record by discipline.
Every planplayer_matchesA player's matches, newest first.
Live, Archive, Completehead_to_headTwo players against each other: wins, games and every meeting.
Live, Archive, Completeworld_rankingsThe world rankings for a week: the top 100 of any list, with points and movement.
Every planplayer_rankingsA player's world ranking week by week.
Live, Archive, Completematch_pointsPoint by point for a match followed live: every score, with who served.
Every planGood to know
Does it use my allowance?
Yes. Each tool call is one API call on your key, with your plan's daily and per-minute limits. Your dashboard shows them with the rest of your calls.
What if my plan does not include a tool?
The assistant is told which plans include it, with a link to pricing, and can still answer with the tools you do have.
Someone saw my address. What now?
Revoke that key on your dashboard and make a new one. The old address stops working at once.
Is anything stored about my questions?
No. We see which tool was called and when, like any API call, never what you asked the assistant.
Ask your assistant about tonight's matches
A free key, its MCP address and 50 calls a day, with no card.