limitlesstcg-mcp
The Limitless TCG MCP Server is designed to integrate LLMs with the Limitless TCG API, facilitating access to tournament and team/decklist data. It handles various endpoints, supports authentication, and ensures seamless integration for querying tournament data.
Limitless TCG MCP Server
The Limitless TCG Model Context Protocol (MCP) server allows you to use LLMs to integrate with the Limitless TCG API to access tournament and team/decklist data.
Setup
To run the Limitless TCG MCP server using npx, use the following command:
$ npx limitlesstcg-mcp api-key=<LIMITLESS_API_KEY_HERE>
You can also set LIMITLESS_API_KEY as an env var without passing api-key
as a command line argument.
Usage with Claude Desktop
Add the following to your claude_desktop_config.json
. See here for more details.
{
"mcpServers": {
"limitlesstcg": {
"command": "npx",
"args": ["limitlesstcg-mcp"],
"env": {
"LIMITLESS_API_KEY": "<LIMITLESS_API_KEY_HERE>"
}
}
}
}
Getting a Limitless TCG API Key
To use this MCP server, you'll need a Limitless TCG API key:
- Go to your user API settings in the Limitless TCG platform
- Fill out the form linked at the top of the page
- Once approved, you can find your key on that same page
Authentication
The server supports authentication via HTTP Headers, as provided by the Limitless TCG API:
{
'X-Access-Key': <LIMITLESS_API_KEY_HERE>
}
API Connection
The server connects to the Limitless TCG API at https://play.limitlesstcg.com/api
and handles the following endpoints:
/tournaments
- List of all tournaments/tournaments/{id}/details
- Details for a specific tournament/tournaments/{id}/standings
- Standings for a specific tournament/tournaments/{id}/pairings
- Match pairings for a specific tournament
MCP Resources
The server exposes the corresponding MCP resources to LLMs:
-
limitless://tournaments{?game,format,organizerId,limit,page}
- List of tournamentsgame
: Game ID, e.g. PTCG, VGCformat
: Format IDorganizerId
: Organization ID for a specific organizer's tournamentslimit
: Number of tournaments to be returned (default: 50)page
: Used for pagination
-
limitless://tournament/{id}/details
- Details for a specific tournament -
limitless://tournament/{id}/standings
- Standings for a specific tournament -
limitless://tournament/{id}/pairings
- Match pairings for a specific tournament
Using with LLMs
When connected to an MCP-compatible LLM (like Claude), you can ask about tournaments and teams with specific queries such as:
- "Show me the latest Pokémon VGC tournaments"
- "Get the standings for the latest Nino FF"
- "what were the most popular restricted duos in the Smogon Challenge?"
The MCP server handles the API authentication and data formatting for seamless integration with the LLM.
Author's Note
Interested in the progress of this project? Feel free to follow the repo for live updates!
If you need to get a hold of me regarding this project, feel free to either:
- email me at
- tweet me @professorragna
If you're interested in helping to fund this project, you can support me here. Any and all support is greatly appreciated!