Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Square in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
Let your AI work with your Square business: look up payments, refunds and orders, manage customers, search and edit the item catalog, check inventory, create and send invoices, and see locations and team members. Sandbox or production, with your own access token.
Try asking
Example prompts for Square
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Square, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
Square + ChatGPT
Let your AI work with your Square business: look up payments, refunds and orders, manage customers, search and edit the item catalog, check inventory, create and send invoices, and see locations and team members. Sandbox or production, with your own access token.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
SQUARE_ACCESS_TOKEN, SQUARE_API_URL
Step 1 — Get credentials
- Sign in at developer.squareup.com/apps with your Square account and click Create an application (any name will do).
- Open the application and go to Credentials. The toggle at the top switches between Sandbox and Production.
- Next to the Access token of the environment you want, click Show, copy the token and paste it into
SQUARE_ACCESS_TOKEN, without the word Bearer and without spaces. - Set
SQUARE_API_URLtohttps://connect.squareupsandbox.comfor a sandbox token or tohttps://connect.squareup.comfor a production token, without a trailing slash. A token only works against its own environment. - Install the connector and run
square_get_merchant: it shows the business name, country and currency the token reaches.
Access token: the token on the Credentials page is a personal access token with full access to your own Square account, which is what the connector needs. It does not expire, but anyone holding it can act for your business: keep it secret, and if it leaks, replace it on the same page and paste the new one into SQUARE_ACCESS_TOKEN.
Sandbox and production: the sandbox token belongs to a default test seller, so no real money or customers are involved. To see the results as a seller, open the developer console → Sandbox test accounts → the account → Square Dashboard. The sandbox never emails invoices; open the invoice's public link instead.
Permissions and read-only setup: the token from the Credentials page always has full access, so a read-only setup is done in the connector: disable square_refund_payment, square_create_order, square_create_customer, square_update_customer, square_upsert_catalog_object, square_create_invoice, square_publish_invoice and square_cancel_invoice.
Switched off at install: square_delete_customer, square_delete_catalog_object and square_delete_invoice. Turn them on only if the AI should delete customer profiles, catalog objects (an item goes together with its variations) or draft invoices (their order is canceled too).
Money and customer emails: square_refund_payment sends money back to the customer and cannot be undone, square_publish_invoice emails the invoice to the customer and makes it payable, and square_cancel_invoice stops a published invoice from being paid and notifies the customer. Before calling them, the AI states the amount, the customer and the ids and waits for your yes. It does the same before changing an existing catalog item with square_upsert_catalog_object.
Invoices: an invoice is built on an open order. The AI creates the order with square_create_order (nothing is charged), then a draft with square_create_invoice; nothing reaches the customer until square_publish_invoice. For email delivery the customer profile needs an email address.
Catalog edits replace the whole item: square_upsert_catalog_object replaces an existing object as a whole, so the AI first reads the item with square_get_catalog_object and sends back the complete copy; fields left out, variations included, would be removed. Inventory counts are kept per item variation and location, not per item.
Locations: most data belongs to a location, and square_list_locations shows them all. Without a location, square_list_payments covers only the main location, and invoices are always listed per location. Orders taken offline can take up to 72 hours to appear.
Common errors: 401 UNAUTHORIZED means the token is wrong or does not match SQUARE_API_URL (a sandbox token with the production URL, or the other way round): check both. 403 means the token lacks a permission for the call; a token from the Credentials page has full access, so check that you pasted that one. 400 VERSION_MISMATCH means the object changed in the meantime and has to be read again; other 400 INVALID_REQUEST_ERROR answers name the field that is wrong. 404 NOT_FOUND means a wrong id, or an object from another location or environment. 429 RATE_LIMITED means Square is rate limiting the account: wait a moment and try again.
The connector does not take card payments and does not handle gift cards, loyalty, bookings, subscriptions, payouts or webhooks.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in ChatGPT
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
ChatGPT connects to MCP servers as custom apps in developer mode, available on paid plans (not on Free). On Business and Enterprise workspaces an admin may have to allow it first.
- In ChatGPT, open Settings → Security and login and turn on Developer mode.
- Go to chatgpt.com/plugins and click +.
- Enter a name and a short description, e.g. Name:
Square. - Under Connection, enter the MCP server URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_IDand create the connection. - When ChatGPT asks, sign in to AnythingMCP (OAuth) and allow access.
Available tools
| Tool | What it does |
|---|---|
square_get_merchant | Read the seller account behind the token: business name, country, currency, language, status and main_location_id |
square_list_locations | List the business locations: id, name, address, timezone, currency, status and capabilities |
square_get_location | Read one location by id, or the main location with "main": address, hours, currency, capabilities |
square_list_payments | List payments (newest first by default) with amount, status, card details, order and customer ids, refunds and receipt URL |
square_get_payment | Read one payment: amounts (total, tip, app fee, refunded), status (APPROVED, PENDING, COMPLETED, CANCELED, FAILED), source and card… |
square_list_refunds | List refunds (newest first by default) across all locations unless one is given: amount, status, reason, payment id |
square_get_refund | Read one refund: amount, status, reason, payment and order ids |
square_refund_payment | Refund a payment in full or in part |
square_search_orders | Search orders of 1 to 10 locations by state, dates, customers or source, with line items, totals, tenders and fulfillments |
square_get_order | Read one order: state, line items with modifiers, taxes and discounts, totals, tenders (payments), refunds and fulfillments |
square_create_order | Create an OPEN order, for example as the basis of an invoice |
square_list_customers | List customer profiles: id, names, company, email, phone, address, reference id, version |
square_search_customers | Search customer profiles by email, phone, reference id, creation or update time, or group |
square_get_customer | Read one customer profile with its current version, groups and preferences |
square_create_customer | Create a customer profile |
square_update_customer | Update a customer profile |
square_delete_customer | Delete a customer profile for good |
square_list_catalog | List catalog objects of the given types (100 per page): items with variations and prices, categories, taxes, discounts, modifier lists |
square_search_catalog_items | Search items by text (name, description, SKU, UPC), category, location, stock level or product type |
square_search_catalog_objects | Search any catalog objects (items, variations, categories, taxes, discounts...) by keywords, exact or prefix attribute values, or change… |
square_get_catalog_object | Read one catalog object by id with its version (needed to update it), optionally with the objects it references |
square_upsert_catalog_object | Create a catalog object, or REPLACE an existing one as a whole: fields left out (variations included) are removed, so for an update send… |
square_delete_catalog_object | Delete a catalog object for good; deleting an item also deletes its variations |
square_get_inventory_counts | Read inventory counts for many item variations and locations at once: quantity (a string) per state such as IN_STOCK, newest first |
square_get_inventory_count | Read the inventory count of one item variation, per location and state |
square_list_invoices | List the invoices of one location: id, number, status (DRAFT, UNPAID, SCHEDULED, PARTIALLY_PAID, PAID, CANCELED, ...), recipient, payment… |
square_search_invoices | Search the invoices of one location, optionally of one customer, sorted by invoice date |
square_get_invoice | Read one invoice: status, version (needed to publish or cancel), order, recipient, payment requests with computed amounts, public_url and… |
square_create_invoice | Create a DRAFT invoice for an OPEN order (make one with square_create_order) |
square_publish_invoice | Publish a draft invoice: Square sends it to the customer (EMAIL delivery) or makes it payable at public_url, and it can no longer be edited… |
square_cancel_invoice | Cancel a published invoice so it can no longer be paid; the customer is notified |
square_delete_invoice | Delete a DRAFT invoice; its order is canceled too |
square_search_team_members | Search team members by location, status or owner flag: id, names, email, phone, status, is_owner and assigned locations |
square_get_team_member | Read one team member: names, email, phone, status, owner flag and location assignments |
Example prompts
- "Which payments did we take at the main location yesterday, and were any of them refunded?"
- "Find the customer [email protected] and show me her orders from the last three months."
- "How many units of the Espresso Blend 1 kg do we have in stock at each location?"
- "Create an invoice for Acme Ltd for 3 hours of consulting at 90 EUR, due on 1 November, and show it to me before you send it."
FAQ
Does the free ChatGPT plan work with custom MCP connectors? No. Custom MCP connections need developer mode, which is only on paid plans.
Next steps
Was this guide helpful?