Skip to main content
Glama
block

Square MCP Server

by block

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