Skip to main content
Glama

loyalty

Manage Square loyalty programs, accounts, and promotions. Create programs, handle customer accounts, accumulate or adjust points, and run promotions.

Instructions

Manage loyalty operations

Args: operation: The operation to perform. Valid operations: Programs: - create_loyalty_program - retrieve_loyalty_program Accounts: - create_loyalty_account - search_loyalty_accounts - retrieve_loyalty_account - accumulate_loyalty_points - adjust_loyalty_points - search_loyalty_events Promotions: - create_loyalty_promotion - cancel_loyalty_promotion params: Dictionary of parameters for the specific operation

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
operationYes
paramsYes

Implementation Reference

  • The primary handler for the 'loyalty' tool. Registered via @mcp.tool() decorator. Dispatches loyalty operations (e.g., create_loyalty_program, accumulate_loyalty_points) to the Square API client based on the 'operation' parameter. Includes input description in docstring serving as informal schema, error handling, and returns API response.
    @mcp.tool() async def loyalty( operation: str, params: Dict[str, Any] ) -> Dict[str, Any]: """Manage loyalty operations Args: operation: The operation to perform. Valid operations: Programs: - create_loyalty_program - retrieve_loyalty_program Accounts: - create_loyalty_account - search_loyalty_accounts - retrieve_loyalty_account - accumulate_loyalty_points - adjust_loyalty_points - search_loyalty_events Promotions: - create_loyalty_promotion - cancel_loyalty_promotion params: Dictionary of parameters for the specific operation """ try: match operation: # Programs case "create_loyalty_program": result = square_client.loyalty.create_loyalty_program(params) case "retrieve_loyalty_program": result = square_client.loyalty.retrieve_loyalty_program(**params) # Accounts case "create_loyalty_account": result = square_client.loyalty.create_loyalty_account(params) case "search_loyalty_accounts": result = square_client.loyalty.search_loyalty_accounts(params) case "retrieve_loyalty_account": result = square_client.loyalty.retrieve_loyalty_account(**params) case "accumulate_loyalty_points": result = square_client.loyalty.accumulate_loyalty_points(**params) case "adjust_loyalty_points": result = square_client.loyalty.adjust_loyalty_points(**params) case "search_loyalty_events": result = square_client.loyalty.search_loyalty_events(params) # Promotions case "create_loyalty_promotion": result = square_client.loyalty.create_loyalty_promotion(**params) case "cancel_loyalty_promotion": result = square_client.loyalty.cancel_loyalty_promotion(**params) case _: raise McpError(INVALID_PARAMS, ErrorData(message=f"Invalid operation: {operation}")) return result.body except Exception as e: raise McpError(INTERNAL_ERROR, ErrorData(message=str(e)))

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/block/square-mcp'

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