Skip to main content
Glama

wyze_get_scales

Retrieves a list of all Wyze scales linked to your account, enabling easy monitoring and management of connected health tracking devices through the MCP Wyze Server.

Instructions

Get list of all Wyze scales associated with the account

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The main handler function for the 'wyze_get_scales' tool, decorated with @mcp.tool() which both defines and registers the tool with the FastMCP server. It lists all Wyze scales using the Wyze SDK, formats their information (MAC, nickname, model, online status, firmware), and returns a success response or error details.
    @mcp.tool() def wyze_get_scales() -> Dict[str, Any]: """Get list of all Wyze scales associated with the account""" try: client = get_wyze_client() scales = client.scales.list() scale_list = [] for scale in scales: scale_info = { "mac": str(scale.mac) if scale.mac else "Unknown", "nickname": str(scale.nickname) if scale.nickname else "Unknown", "product_model": str(getattr(scale, 'product_model', 'Unknown')) if getattr(scale, 'product_model', 'Unknown') else "Unknown", "product_type": str(getattr(scale, 'product_type', 'Scale')) if getattr(scale, 'product_type', 'Scale') else "Scale", "is_online": bool(getattr(scale, 'is_online', True)), "firmware_ver": str(getattr(scale, 'firmware_ver', 'N/A')), } scale_list.append(scale_info) return { "status": "success", "scales": scale_list, "count": len(scale_list) } except WyzeClientConfigurationError as e: return {"status": "error", "message": f"Configuration error: {str(e)}"} except WyzeRequestError as e: return {"status": "error", "message": f"API error: {str(e)}"} except Exception as e: return {"status": "error", "message": f"Unexpected error: {str(e)}"}
  • The @mcp.tool() decorator registers the wyze_get_scales function as an MCP tool.
    @mcp.tool()
  • Helper function get_wyze_client() used by wyze_get_scales to obtain the authenticated Wyze SDK client instance from environment variables.
    def get_wyze_client() -> Client: """Get or create Wyze client instance with auto-login if credentials available""" global _wyze_client if _wyze_client is None: # Get credentials from environment email = os.getenv("WYZE_EMAIL") password = os.getenv("WYZE_PASSWORD") key_id = os.getenv("WYZE_KEY_ID") api_key = os.getenv("WYZE_API_KEY") if not all([email, password, key_id, api_key]): raise WyzeClientConfigurationError( "Missing required environment variables: WYZE_EMAIL, WYZE_PASSWORD, WYZE_KEY_ID, WYZE_API_KEY" ) _wyze_client = Client( email=email, password=password, key_id=key_id, api_key=api_key ) return _wyze_client

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/aldilaff/mcp-wyze-server'

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