# Square MCP

> Square connects your payments, customer data, and inventory into one chat interface. Use your AI client to automate commerce tasks that usually require jumping between separate apps. Check real-time stock counts (`get_stock_count`), find specific customers by name or ID (`search_customers`), list recent transactions (`list_payments`), and even create new payments with a single command.

## Overview
- **Category:** industry-titans
- **Price:** Free
- **Tags:** square, payment-processing, point-of-sale, inventory-management, customer-crm, ecommerce-api, order-tracking, financial-tools, mcp

## Description

**Square MCP Server - Payments, Inventory & CRM Tools**

Your AI client connects directly to your full Square account. You use this server to automate commerce tasks that usually mean jumping through a dozen different apps. It lets you manage everything from processing sales to checking stock counts without ever leaving your chat window.

**Processing Transactions and Financial Data**

To run a new sale, simply call `create_payment`, which generates a complete payment record right in your Square account. You can pull a list of recent payments using `list_payments`; this tool even lets you filter by date ranges or payment types to narrow down the data. If you need deep metadata on any completed or pending transaction, use `get_payment_details` to grab all the specifics about that payment record.

**Managing Customers and Leads**

You don't gotta guess who bought what; your AI client handles it. You can search for specific customer profiles by name or other identifying details using `search_customers`. If you know the ID, `get_customer` retrieves all the specific profile information for that one person. For a full roster of everyone in your database, use `list_customers` to return a list of every single customer profile stored in Square.

**Tracking Orders and Store Activity**

You can pull metadata for an entire order lifecycle using `get_order_details`, which includes line items and the grand totals. To check historical sales across your business, you search for store orders with `search_orders`; this function requires you to specify which location IDs you want it to look through.

**Inventory and Product Catalog Management**

When you need to know what you've got on hand, use the tools. To get the current inventory level for any specific catalog item SKU, just run `get_stock_count`. For a complete view of every product available in your store, `list_catalog` shows you the entire product list across all categories. You can also check out all the physical and online business sites you manage by calling `list_store_locations`, which returns a comprehensive list of all your locations.

**Putting It All Together**

The server lets you combine these functions into complex workflows. For example, if you need to know how many widgets you have in stock (`get_stock_count`) and want to verify the purchase history for a client named Bob (`search_customers`), your AI client executes both steps sequentially within one conversation thread. You can also pull up all orders associated with a specific location ID that you just pulled from `list_store_locations`, giving you a complete view of operations without switching tabs.

This setup lets you run complex business logic—like checking stock levels across multiple locations or reviewing a customer's entire order history while simultaneously processing a new payment—all using natural conversation. It’s built to handle the whole commerce stack, making sure your AI agent has all the data it needs right where it is.

## Tools

### create_payment
Generates a new payment record in your Square account.

### get_customer
Retrieves specific profile details for one customer by ID.

### list_catalog
Shows every available product in your entire store's product list.

### get_stock_count
Returns the current inventory level for a specific catalog item SKU.

### get_order_details
Pulls metadata for a specific order, including line items and totals.

### get_payment_details
Gets detailed transaction information about a payment record.

### list_customers
Returns a list of all customer profiles stored in Square.

### list_store_locations
Retrieves a list of all physical and online business locations you manage.

### list_payments
Lists recent payments made at your store, with support for filtering by dates or types.

### search_customers
Finds specific customers by name or other identifying details.

### search_orders
Searches for store orders, requiring you to specify which location IDs to look through.

## Prompt Examples

**Prompt:** 
```
List all active business locations in my Square account.
```

**Response:** 
```
I've retrieved your locations. You have 3 active ones: 'Main Street Boutique', 'Downtown Café', and 'Online Store'. Which one would you like to check inventory for?
```

**Prompt:** 
```
Show me all payments from today with their status, amounts, and payment methods.
```

**Response:** 
```
67 payments today totaling $12,340. Completed (62): $11,890. Pending (3): $340. Failed (2): $110 (insufficient funds). By method: Credit card (45, $8,900), Apple Pay (12, $2,100), Cash (8, $980), Gift card (2, $360). Average transaction: $184.18. Largest: $890 (order #SQ-4523). By location: "Downtown Store" (34 payments, $6,200), "Mall Kiosk" (23, $4,100), "Online" (10, $2,040). Tips collected: $456. Refunds processed: 2 ($89 total).
```

**Prompt:** 
```
Search for all orders from customer David Chen and show his purchase history.
```

**Response:** 
```
Customer: David Chen (ID: cust_abc123). Member since: March 2024. Total orders: 23. Lifetime value: $4,567. Last order: May 14 (order #SQ-4501, $234, 3 items). Favorite items: "Espresso Blend" (ordered 12 times), "Ceramic Mug" (3 times). Average order: $198.57. Payment methods on file: Visa ending 4521, Apple Pay. Loyalty points: 2,340. Rewards redeemed: 4 ($120 total). Last visit: Downtown Store (2 days ago). Preferred location: Downtown Store (18 of 23 orders).
```

## Capabilities

### Process payments
Run a new transaction using `create_payment`.

### Get customer profiles
Retrieve specific details about any listed customer via `get_customer` or `search_customers`.

### Track order history
Pull metadata for a full order lifecycle using `get_order_details`.

### Check financial details
Retrieve deep metadata on completed or pending payments with `get_payment_details`.

### Monitor stock levels
Get the current count for any catalog item using `get_stock_count`.

### Manage locations and catalogs
List all your business sites (`list_store_locations`) or view the full list of available products (`list_catalog`).

## Use Cases

### Checking last-minute stock counts
A store associate needs to know if an item is available for a walk-in customer. Instead of walking to the back room or checking inventory software, they ask their agent to run `get_stock_count`. The agent replies with the real-time count, letting them close the sale instantly.

### Reconciling cash receipts
An operations manager needs to confirm all payments from a specific date. They tell their agent to run `list_payments`. The response shows total amounts, how many were processed by credit card vs. cash, and the average transaction value, eliminating manual spreadsheet work.

### Investigating a customer complaint
A support agent needs to know why a high-value customer hasn't bought anything in months. They use `search_customers` to find the profile and then run `get_order_details` to show the last order date, total lifetime value, and favorite products.

### Auditing multi-location sales
A manager needs a quick snapshot of all their sites. They ask to use `list_store_locations`. The agent returns a list with associated metadata for every location, confirming which ones are active and where the business operates.

## Benefits

- Stop switching apps. Instead of logging into the dashboard to check inventory, just ask your agent to run `get_stock_count` for a SKU and get an immediate number.
- Deep visibility on sales. You don't have to manually sift through reports; running `list_payments` gives you transaction totals, statuses (Pending/Failed), and methods used—all in one go.
- Customer history at your fingertips. Need to know what David Chen bought last year? Use `search_customers` followed by `get_order_details`. It pulls the whole timeline instantly.
- Location overview without clicking through menus. You can run `list_store_locations` and see metadata for every site you manage, keeping your multi-branch operations synced.
- Streamlined payment reconciliation. Instead of downloading PDFs to check revenue, use `get_payment_details` to verify specific amounts and methods used on any given transaction.

## How It Works

The bottom line is, you talk to your AI client like talking to an employee who has full access to every business dashboard.

1. 1. Subscribe to this server and enter your Square Personal Access Token from your developer dashboard.
2. 2. Tell your AI client what you need—for example, 'What were my payments last week?' or 'Check stock for SKU 456.'
3. 3. Your agent uses the relevant tool (like `list_payments` or `get_stock_count`) and delivers a plain-language summary of the results.

## Frequently Asked Questions

**How do I list payments for specific date ranges using list_payments?**
The agent handles the filtering by accepting start and end dates as parameters when you call `list_payments`. You just need to tell it the time window you're interested in.

**Can I search for customers by phone number using search_customers?**
Yes. The `search_customers` tool lets you query customer records using various identifiers, including phone numbers and names. It finds the ID first, then retrieves the full profile.

**What tools do I use to check inventory across multiple locations?**
You start by running `list_store_locations` to confirm your site IDs. Then, you pass those IDs and specific SKUs to `get_stock_count` for a comprehensive count.

**Which tool do I use if I want to know the total revenue from today?**
You should ask your agent to run `list_payments`. It aggregates all transactions for that period, giving you the grand total and status breakdown immediately.

**What credentials do I need to use list_store_locations?**
You must provide a Square Personal Access Token (PAT) with read permissions. This token is generated in your developer dashboard and grants your AI client the necessary access rights for location data.

**If I use get_order_details, what specific metadata can I retrieve?**
The tool gathers comprehensive order metadata. You get details like item lists, associated customer IDs, and confirmation of which payment method was used for that purchase.

**When running list_payments, how do I identify transactions that failed or are pending?**
The results contain a distinct 'status' field. You can filter the output by looking for statuses like 'FAILED', 'PENDING', or 'COMPLETED' to triage your revenue immediately.

**How do I use list_catalog to see every product we sell?**
This tool returns a master list of all catalog items. It provides item names, descriptions, and unique SKUs—perfect for building out an inventory manifest before checking current stock levels.

**How do I find my Square Personal Access Token?**
Log in to your [**Square Developer Dashboard**](https://developer.squareup.com/apps), create or select an application, and you will find your Personal Access Token in the **Credentials** section. Ensure you use the Production token for live data.