TablePredict

Build validated football table and World Cup group prediction links with TablePredict.

Should I use this

Quality & Safety

B
Description quality
93%
Schema completeness
77%
Naming quality
67%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'tablepredict_get_competition_teams' name length outside 3-30 rangein tablepredict_get_competition_teams
  • LOWTool 'tablepredict_build_prediction_link' name length outside 3-30 rangein tablepredict_build_prediction_link

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,226Tokens (tool definitions)
~4.1 KBTypical response size
Moderate attention impact (0.96% of 128k context)

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-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢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

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools
verifiedversion not recorded3 tools