Skip to main content
Glama
rishijatia

Fantasy Premier League MCP Server

get_manager_info

Retrieve detailed Fantasy Premier League manager data, including league participation and performance statistics, based on a specific team ID. Useful for tracking progress and comparing FPL manager profiles.

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

  • Registers the 'get_manager_info' tool using @mcp.tool() decorator. This is where the tool is registered with the MCP server.
    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)
  • Core implementation of the get_manager_info tool logic: fetches raw data, parses basic info, performance, and leagues, then combines them.
    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 }
  • Helper function to fetch raw manager data from FPL API, used by _get_manager_info.
    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 to parse basic manager information from raw 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"), }
  • Helper to parse manager performance stats from raw data.
    def parse_manager_performance(data: Dict[str, Any]) -> Dict[str, Any]: """Parse manager performance information""" return { "overall_points": data.get("summary_overall_points"), "overall_rank": data.get("summary_overall_rank"), "current_event": data.get("current_event"), "current_event_points": data.get("summary_event_points"), "current_event_rank": data.get("summary_event_rank"), "team_value": ( data.get("last_deadline_value", 0) / 10 if data.get("last_deadline_value") else None ), "bank": ( data.get("last_deadline_bank", 0) / 10 if data.get("last_deadline_bank") else None ), "total_transfers": data.get("last_deadline_total_transfers"), }

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