Skip to main content
Glama
rishijatia

Fantasy Premier League MCP Server

get_manager_info

Retrieve detailed Fantasy Premier League manager information including team performance, league standings, and statistics for any FPL team ID.

Instructions

Get detailed information about an FPL manager

Args: team_id: FPL team ID (defaults to authenticated user) Returns: Manager info with leagues and performance stats

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
team_idNo

Implementation Reference

  • Core handler function that fetches raw manager data from API and parses it into structured sections: basic_info, performance, and leagues.
    async def _get_manager_info(team_id: Optional[int] = None) -> Dict[str, Any]: """Get detailed information about an FPL manager""" # Get raw manager data data = await get_manager_data(team_id) # Check for errors if "error" in data: return data # Parse different sections basic_info = parse_manager_basic_info(data) performance = parse_manager_performance(data) leagues = parse_manager_leagues(data) # Return combined data return { "basic_info": basic_info, "performance": performance, "leagues": leagues }
  • Registers the 'get_manager_info' tool using the @mcp.tool() decorator, providing input schema via type hints and docstring.
    def register_tools(mcp): """Register manager tools with the MCP server""" @mcp.tool() async def get_manager_info( team_id: Optional[int] = None ) -> Dict[str, Any]: """Get detailed information about an FPL manager Args: team_id: FPL team ID (defaults to authenticated user) Returns: Manager info with leagues and performance stats """ return await _get_manager_info(team_id)
  • Top-level registration call that invokes register_manager_tools(mcp), which registers the get_manager_info tool with the MCP server.
    # Register team, manager, league, and player tools register_team_tools(mcp) register_manager_tools(mcp) register_league_tools(mcp) register_player_tools(mcp)
  • Helper function that fetches raw manager/team entry data from the FPL API using authentication.
    async def get_manager_data(team_id: Optional[int] = None) -> Dict[str, Any]: """ Get raw manager data from the FPL API Args: team_id: FPL team ID (defaults to authenticated user) Returns: Raw manager data from the API """ auth_manager = get_auth_manager() # Use default team ID if not provided if team_id is None: team_id = auth_manager.team_id if not team_id: return { "error": "No team ID specified and no default team ID found" } # Get manager data try: data = await auth_manager.get_entry_data(team_id) return data except Exception as e: logger.error(f"Error fetching manager data: {e}") return {"error": f"Failed to retrieve manager data: {str(e)}"}
  • Helper that parses basic manager details like name, team, region from raw API data.
    def parse_manager_basic_info(data: Dict[str, Any]) -> Dict[str, Any]: """Parse basic manager information""" first_name = data.get('player_first_name', '') last_name = data.get('player_last_name', '') return { "team_id": data.get("id"), "team_name": data.get("name"), "manager_name": f"{first_name} {last_name}", "region": data.get("player_region_name"), "started_event": data.get("started_event"), "favourite_team": data.get("favourite_team"), "joined_time": data.get("joined_time"), "kit": data.get("kit"), "years_active": data.get("years_active"), }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rishijatia/fantasy-pl-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server