Skip to main content
Glama
kickbase-mcp

kickbase-mcp

by behretv

kickbase-mcp

MCP server for Kickbase (Bundesliga fantasy football) built on the unofficial, community-documented API v4.

It exposes your squad, budget, lineup, the transfer market, player stats, fixtures and real trading operations — so an AI assistant can build buy/sell strategies and (if you let it) execute them.

Install

uv sync

Related MCP server: FPL MCP Server

Credentials

The server needs KICKBASE_EMAIL and KICKBASE_PASSWORD, resolved in this order:

  1. Environment variables

  2. .env file (see .env.example)

Proton Pass (pass-cli)

Put secret references in .env:

KICKBASE_EMAIL="pass://MyVault/Kickbase/username"
KICKBASE_PASSWORD="pass://MyVault/Kickbase/password"

then launch the server through pass-cli run, which injects the resolved values as environment variables:

pass-cli run --env-file .env -- uv run kickbase-mcp

Run

uv run kickbase-mcp          # stdio transport (default)

MCP client config

With plain .env credentials:

{
  "mcpServers": {
    "kickbase": {
      "command": "uv",
      "args": ["--directory", "/path/to/kickbase-mcp", "run", "kickbase-mcp"]
    }
  }
}

With Proton Pass injection:

{
  "mcpServers": {
    "kickbase": {
      "command": "pass-cli",
      "args": [
        "run", "--env-file", "/path/to/kickbase-mcp/.env", "--",
        "uv", "--directory", "/path/to/kickbase-mcp", "run", "kickbase-mcp"
      ]
    }
  }
}

Tools

Read: list_leagues, get_my_status, get_league_overview, get_league_ranking, get_activity_feed, get_my_squad, get_my_lineup, get_market, get_market_player, search_players, get_scouted_players, get_player_profile, get_player_performance, get_player_market_value_history, get_player_transfer_history, get_manager_squad, get_manager_transfers, get_user_teamcenter, get_fixtures, get_competition_table

Trades (real side effects on your team): place_offer, withdraw_offer, accept_offer, decline_offer, list_player_for_sale, remove_player_from_market, sell_player_to_kickbase, set_lineup, scout_player, unscout_player, collect_daily_bonus

Strategy: analyze_transfer_market — one call that combines your budget, squad flags (injuries, falling value, low averages), every market listing scored by points-per-million, expiry urgency and next-fixture opponent strength.

Typical strategy prompt

Check my budget and squad, find weak players I should sell and undervalued players on the market with good upcoming fixtures, then propose concrete trades — but ask before executing anything.

Available Tools

32 tools
accept_offerAccept OfferB

Accept a manager's offer on one of your listed players. REAL SALE.

Inputs: offer_id (required), player_id (required), league_id.

analyze_transfer_marketAnalyze Transfer MarketA

Composite analysis for buy/sell strategy.

Returns your budget, squad valuation flags, and every market listing scored by points-per-million, market-value trend, expiry urgency and upcoming opponent strength (next N matchdays). Use this to decide which players to sell and which market bargains to buy.

Inputs: league_id, horizon_matchdays. Returns: object

collect_daily_bonusCollect Daily BonusB

Collect the daily login bonus if available.

Inputs: no named parameters.

decline_offerDecline OfferC

Decline a manager's offer on one of your listed players.

Inputs: offer_id (required), player_id (required), league_id.

get_activity_feedGet Activity FeedC

League activity feed (transfers, market events, comments).

Inputs: start, league_id, max_items.

get_competition_tableGet Competition TableB

Real Bundesliga table: team strength for fixture difficulty analysis.

Inputs: league_id. Returns: result

get_fixturesGet FixturesB

Bundesliga fixtures grouped by matchday (all or a specific day).

Inputs: day, league_id. Returns: object

get_league_overviewGet League OverviewC

League overview: name, competition, members and settings.

Inputs: league_id. Returns: object

get_league_rankingGet League RankingC

League table of managers (season points, matchday points, team values).

Inputs: day, league_id. Returns: object

get_manager_squadGet Manager SquadC

Another manager's squad. Get user ids from get_league_ranking.

Inputs: user_id (required), league_id. Returns: result

get_manager_transfersGet Manager TransfersC

A manager's recent buy/sell transactions.

Inputs: user_id (required), start, league_id.

get_marketGet MarketB

Players currently on the transfer market with price, expiry and offers.

sellerUserId is null for players listed by Kickbase itself (buy instantly at the listed price via place_offer) and set for manager listings.

Inputs: league_id. Returns: object

get_market_playerGet Market PlayerC

Details of one market player including all offers made so far.

Inputs: player_id (required), league_id. Returns: object

get_my_lineupGet My LineupC

Your current starting eleven and bench players.

Inputs: league_id. Returns: result

get_my_squadGet My SquadC

Your full squad with market value, trend, points, status and position.

Inputs: league_id. Returns: result

get_my_statusGet My StatusC

Get your status in a league: budget, team value, points and placement.

Inputs: league_id. Returns: object

get_player_market_value_historyGet Player Market Value HistoryC

Market value history for a player. timeframe = days back to look.

Inputs: player_id (required), league_id, timeframe.

get_player_performanceGet Player PerformanceC

Matchday-by-matchday points history for a player.

Inputs: player_id (required), league_id.

get_player_profileGet Player ProfileB

Full player profile: stats, market value, status and club info.

Inputs: player_id (required), league_id. Returns: object

get_player_transfer_historyGet Player Transfer HistoryC

Transfer history: who bought/sold this player and at which price.

Inputs: player_id (required), start, league_id.

get_scouted_playersGet Scouted PlayersC

Your watchlist / scouted players.

Inputs: league_id.

get_user_teamcenterGet User TeamcenterC

Team center of a user (points per player for a matchday).

Inputs: user_id (required), day, league_id.

list_leaguesList LeaguesA

List all Kickbase leagues the account is in (id, name, budget, users).

Inputs: no named parameters. Returns: result

list_player_for_saleList Player For SaleB

Put one of your squad players on the transfer market at an asking price.

Inputs: price (required), player_id (required), league_id.

place_offerPlace OfferB

Place an offer on a market player. REAL TRANSACTION.

For Kickbase-listed players (sellerUserId null), offering the listed price buys the player instantly if your budget covers it. For manager listings the offer goes to the manager for accept/decline.

Inputs: price (required), player_id (required), league_id.

remove_player_from_marketRemove Player From MarketB

Take your listed player off the transfer market (cancel the listing).

Inputs: player_id (required), league_id.

scout_playerScout PlayerC

Add a player to your watchlist.

Inputs: player_id (required), league_id.

search_playersSearch PlayersB

Search for any Bundesliga player by name (not only market listings).

Inputs: query (required), league_id, max_items.

sell_player_to_kickbaseSell Player To KickbaseC

Accept Kickbase's system offer on a listed player: instant sale. REAL SALE.

Inputs: player_id (required), league_id.

set_lineupSet LineupB

Set the starting eleven. REAL CHANGE to your team.

player_ids: exactly 11 player ids in lineup order. formation: kickbase formation type code (use the current value from get_my_lineup context or the app; '1' is a common default).

Inputs: player_ids (required), formation, league_id.

unscout_playerUnscout PlayerC

Remove a player from your watchlist.

Inputs: player_id (required), league_id.

withdraw_offerWithdraw OfferB

Withdraw your own pending offer on a market player.

Inputs: offer_id (required), player_id (required), league_id.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 32 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes: market vs. squad vs. watchlist vs. manager data vs. real transactions are well separated by prefixes and descriptions. Minor overlap exists among the read-only player data tools (get_player_profile, get_player_performance, get_player_market_value_history, get_player_transfer_history), but descriptions distinguish their data scopes adequately.

    Naming Consistency4/5

    All names use snake_case verb_noun patterns with a small, predictable verb set (get_, list_, set_, place_, accept_, decline_, withdraw_, remove_, scout_). Minor deviations like the 'my' qualifier vs. resource qualifiers and the long sell_player_to_kickbase are readable and don't break the pattern.

    Tool Count2/5

    32 tools is heavy for this domain; while each roughly earns its place, several read-only player-data tools could be merged or parameterized. The volume forces an agent to scan many similar get_ tools to find the right one.

    Completeness5/5

    Coverage spans the full lifecycle: league/status oversight, squad and lineup management, market browsing, offer placement/withdrawal/acceptance, listings, watchlist, player analytics, fixtures, and a composite analysis tool. No obvious CRUD or workflow gaps remain for the Kickbase fantasy-manager domain.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Enables AI assistants to analyze Fantasy Premier League data, providing tools for player search, fixture analysis, manager comparisons, and strategy prompts for transfer planning and lineup selection.
      19
      25 PyPI
      1
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides tools and resources to interact with the Fantasy Premier League API, enabling player analysis, fixture insights, and team management through natural language.
      60 npm
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Manages Fantasy Premier League teams via natural language, reading team data, analyzing players and fixtures, and executing actions like transfers, captain changes, and chips.
      18
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables AI assistants to read a Comunio fantasy football league's squad, market, offers, standings, and transfers, and to act on the user's behalf by bidding, selling, and setting the lineup.
      19
      1
      MIT