TablePredict
Build validated football table and World Cup group prediction links with TablePredict.
Should I use this
Quality & Safety
Findings (2)
- LOWin tablepredict_get_competition_teams
- LOWin tablepredict_build_prediction_link
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"tablepredict": {
"url": "https://tablepredict.com/api/mcp"
}
}
}Remote endpoints
https://tablepredict.com/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (3)
🟢tablepredict_list_competitions
List competitions currently configured in TablePredict, including season, prediction mode, roster size, cutoff, and predictor URL. Call this before requesting a roster or building a prediction link. Returns no user data.
Input Schema
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"competitions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"country": {
"type": "string"
},
"season": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"table",
"groups"
]
},
"teamCount": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"predictionLockAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Preseason editing cutoff, not the domestic late-entry deadline."
},
"acceptingPredictions": {
"type": "boolean",
"description": "Legacy preseason availability flag. False does not rule out domestic late entry; use entryStatus."
},
"entryStatus": {
"type": "string",
"enum": [
"preseason",
"check_late_entry_on_site",
"closed"
],
"description": "Check live late-entry eligibility and penalties at predictorUrl; the catalog does not read member entries."
},
"predictorUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"name",
"country",
"season",
"mode",
"teamCount",
"predictionLockAt",
"acceptingPredictions",
"entryStatus",
"predictorUrl"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"competitions",
"total"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢tablepredict_get_competition_teams(competition)
Return the exact canonical club names for domestic leagues or national-team names for grouped tournaments. Grouped competitions preserve their official group membership. Use an id, route slug, or display name from tablepredict_list_competitions.
Input Schema
{
"type": "object",
"properties": {
"competition": {
"type": "string",
"minLength": 1,
"description": "Competition id, route slug, or display name."
}
},
"required": [
"competition"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"competition": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"country": {
"type": "string"
},
"season": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"table",
"groups"
]
},
"teamCount": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"predictionLockAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Preseason editing cutoff, not the domestic late-entry deadline."
},
"acceptingPredictions": {
"type": "boolean",
"description": "Legacy preseason availability flag. False does not rule out domestic late entry; use entryStatus."
},
"entryStatus": {
"type": "string",
"enum": [
"preseason",
"check_late_entry_on_site",
"closed"
],
"description": "Check live late-entry eligibility and penalties at predictorUrl; the catalog does not read member entries."
},
"predictorUrl": {
"type": "string",
"format": "uri"
}
},
"required": [
"id",
"name",
"country",
"season",
"mode",
"teamCount",
"predictionLockAt",
"acceptingPredictions",
"entryStatus",
"predictorUrl"
],
"additionalProperties": false
},
"teams": {
"type": "array",
"items": {
"type": "string"
}
},
"groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"label": {
"type": "string"
},
"teams": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"key",
"label",
"teams"
],
"additionalProperties": false
}
}
},
"required": [
"competition"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢tablepredict_build_prediction_link(competition, season, order, groups)
Validate a complete prediction and return a source-attributed TablePredict URL prefilled with that ranking. Domestic competitions require order; grouped competitions require every group. This tool does not save, publish, or create an account.
Input Schema
{
"type": "object",
"properties": {
"competition": {
"type": "string",
"minLength": 1,
"description": "Competition id, route slug, or display name."
},
"season": {
"description": "Optional season check; must match the current catalog season.",
"type": "string"
},
"order": {
"description": "Complete top-to-bottom club ranking for a domestic table competition.",
"type": "array",
"items": {
"type": "string"
}
},
"groups": {
"description": "Every group and its complete ranked team order for a grouped competition.",
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"minLength": 1
},
"teams": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"key",
"teams"
]
}
}
},
"required": [
"competition"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Output Schema
{
"type": "object",
"properties": {
"competitionId": {
"type": "string"
},
"competitionName": {
"type": "string"
},
"season": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"table",
"groups"
]
},
"predictionUrl": {
"type": "string",
"format": "uri"
},
"source": {
"type": "string",
"const": "mcp"
},
"saved": {
"type": "boolean",
"const": false
}
},
"required": [
"competitionId",
"competitionName",
"season",
"mode",
"predictionUrl",
"source",
"saved"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Evidence