Square MCP Extension
This tutorial will get you started with the official Square MCP Server as a Goose extension to enable interactive work for your Square seller account!
TLDR
Command
npx -y square-mcp-server start
Environment Variables
ACCESS_TOKEN: <YOUR_API_KEY>
SANDBOX: <true/false>
PRODUCTION: <true/false>
Note that you'll use SANDBOX
-or- PRODUCTION
, not both, and your ACCESS_TOKEN
will either be a sandbox or production token, depending on which environment you choose.
Configuration
info
Note that you'll need Node.js installed on your system to run this command, as it uses npx
.
- Goose Desktop
- Goose CLI
- Launch the installer
- Press
Yes
to confirm the installation - Get your Square Access Token and paste it in
- Keep
SANDBOX
as the environment variable, or change toPRODUCTION
, and set its value totrue
- Click
Save Configuration
- Scroll to the top and click
Exit
from the upper left corner
- Run the
configure
command:
goose configure
- Choose to add a
Command-line Extension
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◆ What type of extension would you like to add?
│ ○ Built-in Extension
│ ● Command-line Extension (Run a local command or script)
│ ○ Remote Extension
└
- Give your extension a name
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◆ What would you like to call this extension?
│ square-mcp
└
- Enter the command
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ square-mcp
│
◆ What command should be run?
│ npx -y square-mcp-server start
└
- Enter the number of seconds Goose should wait for actions to complete before timing out. Default is 300s
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ square-mcp
│
◇ What command should be run?
│ npx -y square-mcp-server start
│
◆ Please set the timeout for this tool (in secs):
│ 300
│
└
- Choose to add a description. If you select "Yes" here, you will be prompted to enter a description for the extension.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ square-mcp
│
◇ What command should be run?
│ npx -y square-mcp-server start
│
◆ Please set the timeout for this tool (in secs):
│ 300
│
◇ Would you like to add a description?
│ No
│
└
- Obtain a Square Access Token and paste it in.
┌ goose-configure
│
◇ What would you like to configure?
│ Add Extension
│
◇ What type of extension would you like to add?
│ Command-line Extension
│
◇ What would you like to call this extension?
│ square-mcp
│
◇ What command should be run?
│ npx -y square-mcp-server start
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
◇ Would you like to add a description?
│ No
│
◆ Would you like to add environment variables?
│ Yes
│
◇ Environment variable name:
│ ACCESS_TOKEN
│
◇ Environment variable value:
│ ▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪
│
◇ Add another environment variable?
│ Yes
│
◇ Environment variable name:
│ SANDBOX
│
◇ Environment variable value:
│ true
└ Added square-mcp extension
info
Change the SANDBOX
key to PRODUCTION
if using a production token
Example Usage
The Square MCP server allows you to interact with Square's connect API with an extensive service catalog to access the Square API ecosystem.
Goose Prompt
( O)> Find my food menu from the following image and import these into my Square seller account. "my-burger-menu.png"
Here's the menu image used in the demo.
Goose Output
I'll help you import these menu items into your Square catalog. I'll use the Square API to create catalog items for each burger. Let me break this down into steps:
1. First, I'll check the catalog API service info and types
2. Then I'll create catalog items for each burger
Now let me check the type info for creating catalog objects
Now I'll start creating catalog items for each burger in your menu. I'll create them one by one using the catalog API. Let me process each burger:
(output truncated)
I've successfully created all the burger items from your menu in your Square catalog. Each burger has been added with:
- The exact name from your menu
- The full description
- The correct price
- A standard variation for ordering
Here's a summary of what was created:
- The Classic - $10.00
- Cheeseburger - $11.00
- Primetime Burger - $12.00
- Double Bacon - $14.00
- Texas Meatlover - $12.50
- Buffalo Burger - $12.00
- The Atomic - $12.50
- Little Bird - $11.00
- Mushroom Burger - $10.00
All items are now available in your Square catalog and ready for use in your point of sale system. Each burger includes its complete description and comes with a "Regular" variation at the specified price. The items are set as both sellable and stockable by default, and they're available at all locations.