square mcp

Local 2025-08-31 23:25:36 0

A server that enables interaction with Square's API via Goose, supporting queries for locations, customers, and more with context preservation and MCP-compliant responses.


A Model Context Protocol (MCP) server that provides access to Square API functionality.

Setup

  1. Install dependencies:

    uv sync

  2. Set environment variables:

    # Required
    export SQUARE_ACCESS_TOKEN=your_access_token_here
    
    # Optional - defaults to 'sandbox' if not set
    export SQUARE_ENVIRONMENT=sandbox  # or 'production' for production environment

  3. Run the server:

    uv pip install .
    square-mcp

Or for development:

source .venv/bin/activate
mcp dev src/square_mcp/server.py

Environment Variables

Variable Required Default Description
SQUARE_ACCESS_TOKEN Yes - Your Square API access token
SQUARE_ENVIRONMENT No sandbox Square API environment (sandbox or production)
[
  {
    "description": "Manage payment operations using Square APInn    Args:n        operation: The operation to perform. Valid operations:n            Payments:n                - list_paymentsn                - create_paymentn                - get_paymentn                - update_paymentn                - cancel_paymentn            Refunds:n                - refund_paymentn                - list_refundsn                - get_refundn            Disputes:n                - list_disputesn                - retrieve_disputen                - accept_disputen                - create_dispute_evidencen            Gift Cards:n                - create_gift_cardn                - link_customer_to_gift_cardn                - retrieve_gift_cardn                - list_gift_cardsn            Bank Accounts:n                - list_bank_accountsn                - get_bank_accountn        params: Dictionary of parameters for the specific operationn    ",
    "inputSchema": {
      "properties": {
        "operation": {
          "title": "Operation",
          "type": "string"
        },
        "params": {
          "title": "Params",
          "type": "object"
        }
      },
      "required": [
        "operation",
        "params"
      ],
      "title": "paymentsArguments",
      "type": "object"
    },
    "name": "payments"
  },
  {
    "description": "Manage Square Terminal operationsnn    Args:n        operation: The operation to perform. Valid operations:n            Checkout:n                - create_terminal_checkoutn                - search_terminal_checkoutsn                - get_terminal_checkoutn                - cancel_terminal_checkoutn            Devices:n                - create_terminal_devicen                - get_terminal_devicen                - search_terminal_devicesn            Refunds:n                - create_terminal_refundn                - search_terminal_refundsn                - get_terminal_refundn                - cancel_terminal_refundn        params: Dictionary of parameters for the specific operationn    ",
    "inputSchema": {
      "properties": {
        "operation": {
          "title": "Operation",
          "type": "string"
        },
        "params": {
          "title": "Params",
          "type": "object"
        }
      },
      "required": [
        "operation",
        "params"
      ],
      "title": "terminalArguments",
      "type": "object"
    },
    "name": "terminal"
  },
  {
    "description": "Manage orders and checkout operationsnn    Args:n        operation: The operation to perform. Valid operations:n            Orders:n                - create_ordern                - batch_retrieve_ordersn                - calculate_ordern                - clone_ordern                - search_ordersn                - pay_ordern                - update_ordern            Checkout:n                - create_checkoutn                - create_payment_linkn            Custom Attributes:n                - upsert_order_custom_attributen                - list_order_custom_attribute_definitionsn        params: Dictionary of parameters for the specific operationn    ",
    "inputSchema": {
      "properties": {
        "operation": {
          "title": "Operation",
          "type": "string"
        },
        "params": {
          "title": "Params",
          "type": "object"
        }
      },
      "required": [
        "operation",
        "params"
      ],
      "title": "ordersArguments",
      "type": "object"
    },
    "name": "orders"
  },
  {
    "description": "Manage catalog operationsnn    Args:n        operation: The operation to perform. Valid operations:n            - create_catalog_objectn            - batch_delete_catalog_objectsn            - batch_retrieve_catalog_objectsn            - batch_upsert_catalog_objectsn            - create_catalog_imagen            - delete_catalog_objectn            - retrieve_catalog_objectn            - search_catalog_objectsn            - update_catalog_objectn            - update_item_modifier_listsn            - update_item_taxesn        params: Dictionary of parameters for the specific operationn    ",
    "inputSchema": {
      "properties": {
        "operation": {
          "title": "Operation",
          "type": "string"
        },
        "params": {
          "title": "Params",
          "type": "object"
        }
      },
      "required": [
        "operation",
        "params"
      ],
      "title": "catalogArguments",
      "type": "object"
    },
    "name": "catalog"
  },
  {
    "description": "Manage inventory operationsnn    Args:n        operation: The operation to perform. Valid operations:n            - batch_change_inventoryn            - batch_retrieve_inventory_changesn            - batch_retrieve_inventory_countsn            - retrieve_inventory_adjustmentn            - retrieve_inventory_changesn            - retrieve_inventory_countn            - retrieve_inventory_physical_countn            - retrieve_inventory_transfern        params: Dictionary of parameters for the specific operationn    ",
    "inputSchema": {
      "properties": {
        "operation": {
          "title": "Operation",
          "type": "string"
        },
        "params": {
          "title": "Params",
          "type": "object"
        }
      },
      "required": [
        "operation",
        "params"
      ],
      "title": "inventoryArguments",
      "type": "object"
    },
    "name": "inventory"
  },
  {
    "description": "Manage subscription operationsnn    Args:n        operation: The operation to perform. Valid operations:n            - create_subscriptionn            - search_subscriptionsn            - retrieve_subscriptionn            - update_subscriptionn            - cancel_subscriptionn            - list_subscription_eventsn            - pause_subscriptionn            - resume_subscriptionn            - swap_plann        params: Dictionary of parameters for the specific operationn    ",
    "inputSchema": {
      "properties": {
        "operation": {
          "title": "Operation",
          "type": "string"
        },
        "params": {
          "title": "Params",
          "type": "object"
        }
      },
      "required": [
        "operation",
        "params"
      ],
      "title": "subscriptionsArguments",
      "type": "object"
    },
    "name": "subscriptions"
  },
  {
    "description": "Manage invoice operationsnn    Args:n        operation: The operation to perform. Valid operations:n            - create_invoicen            - search_invoicesn            - get_invoicen            - update_invoicen            - cancel_invoicen            - publish_invoicen            - delete_invoicen        params: Dictionary of parameters for the specific operationn    ",
    "inputSchema": {
      "properties": {
        "operation": {
          "title": "Operation",
          "type": "string"
        },
        "params": {
          "title": "Params",
          "type": "object"
        }
      },
      "required": [
        "operation",
        "params"
      ],
      "title": "invoicesArguments",
      "type": "object"
    },
    "name": "invoices"
  },
  {
    "description": "Manage team operationsnn    Args:n        operation: The operation to perform. Valid operations:n            Team Members:n                - create_team_membern                - bulk_create_team_membersn                - update_team_membern                - retrieve_team_membern                - search_team_membersn            Wages:n                - retrieve_wage_settingn                - update_wage_settingn            Labor:n                - create_break_typen                - create_shiftn                - search_shiftsn                - update_shiftn                - create_workweek_confign            Cash Drawers:n                - list_cash_drawer_shiftsn                - retrieve_cash_drawer_shiftn        params: Dictionary of parameters for the specific operationn    ",
    "inputSchema": {
      "properties": {
        "operation": {
          "title": "Operation",
          "type": "string"
        },
        "params": {
          "title": "Params",
          "type": "object"
        }
      },
      "required": [
        "operation",
        "params"
      ],
      "title": "teamArguments",
      "type": "object"
    },
    "name": "team"
  },
  {
    "description": "Manage customer operationsnn    Args:n        operation: The operation to perform. Valid operations:n            Customers:n                - list_customersn                - create_customern                - delete_customern                - retrieve_customern                - update_customern                - search_customersn            Groups:n                - create_customer_groupn                - delete_customer_groupn                - list_customer_groupsn                - retrieve_customer_groupn                - update_customer_groupn            Segments:n                - list_customer_segmentsn                - retrieve_customer_segmentn            Custom Attributes:n                - create_customer_custom_attribute_definitionn                - delete_customer_custom_attribute_definitionn                - list_customer_custom_attribute_definitionsn        params: Dictionary of parameters for the specific operationn    ",
    "inputSchema": {
      "properties": {
        "operation": {
          "title": "Operation",
          "type": "string"
        },
        "params": {
          "title": "Params",
          "type": "object"
        }
      },
      "required": [
        "operation",
        "params"
      ],
      "title": "customersArguments",
      "type": "object"
    },
    "name": "customers"
  },
  {
    "description": "Manage loyalty operationsnn    Args:n        operation: The operation to perform. Valid operations:n            Programs:n                - create_loyalty_programn                - retrieve_loyalty_programn            Accounts:n                - create_loyalty_accountn                - search_loyalty_accountsn                - retrieve_loyalty_accountn                - accumulate_loyalty_pointsn                - adjust_loyalty_pointsn                - search_loyalty_eventsn            Promotions:n                - create_loyalty_promotionn                - cancel_loyalty_promotionn        params: Dictionary of parameters for the specific operationn    ",
    "inputSchema": {
      "properties": {
        "operation": {
          "title": "Operation",
          "type": "string"
        },
        "params": {
          "title": "Params",
          "type": "object"
        }
      },
      "required": [
        "operation",
        "params"
      ],
      "title": "loyaltyArguments",
      "type": "object"
    },
    "name": "loyalty"
  },
  {
    "description": "Manage booking operationsnn    Args:n        operation: The operation to perform. Valid operations:n            Bookings:n                - create_bookingn                - search_bookingsn                - retrieve_bookingn                - update_bookingn                - cancel_bookingn            Team Member Bookings:n                - bulk_retrieve_team_member_bookingsn                - retrieve_team_member_booking_profilen            Location Profiles:n                - list_location_booking_profilesn                - retrieve_location_booking_profilen            Custom Attributes:n                - create_booking_custom_attribute_definitionn                - update_booking_custom_attribute_definitionn        params: Dictionary of parameters for the specific operationn    ",
    "inputSchema": {
      "properties": {
        "operation": {
          "title": "Operation",
          "type": "string"
        },
        "params": {
          "title": "Params",
          "type": "object"
        }
      },
      "required": [
        "operation",
        "params"
      ],
      "title": "bookingsArguments",
      "type": "object"
    },
    "name": "bookings"
  },
  {
    "description": "Manage business operationsnn    Args:n        operation: The operation to perform. Valid operations:n            Merchants:n                - list_merchantsn                - retrieve_merchantn            Locations:n                - list_locationsn                - create_locationn                - retrieve_locationn                - update_locationn            Vendors:n                - bulk_create_vendorsn                - bulk_retrieve_vendorsn                - create_vendorn                - search_vendorsn                - update_vendorn            Sites:n                - list_sitesn        params: Dictionary of parameters for the specific operationn    ",
    "inputSchema": {
      "properties": {
        "operation": {
          "title": "Operation",
          "type": "string"
        },
        "params": {
          "title": "Params",
          "type": "object"
        }
      },
      "required": [
        "operation",
        "params"
      ],
      "title": "businessArguments",
      "type": "object"
    },
    "name": "business"
  }
]