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