Square MCP Extension
🎥 Square MCP Server Video Walkthrough
This tutorial will get you started with the Square MCP server to enable interactive and automated work for your Square seller account. The Square MCP server is an open source project that allows you to interact with the Square API using Goose.
Square offers two versions of the MCP server:
- Remote MCP server hosted by Square, which uses OAuth for authentication and allows fine-grained permissions on API usage.
- Local MCP server that you can run on your own machine, which uses an access token for authentication and allows full API access.
Note that you'll need Node.js installed on your system to run installation commands, which use npx
.
Configuration
- Square Remote MCP
- Square Local MCP
- Goose Desktop
- Goose CLI
Command
npx mcp-remote https://mcp.squareup.com/sse
- Goose Desktop
- Goose CLI
- Launch the installer
- Click
OK
to confirm the installation - Goose should open a browser tab to an OAuth permissions page. Double-check which permissions you want to allow, and click
Grant Access
. - It will ask you to login or reauthenticate to Square, and may ask you to confirm the permissions you want to allow.
- In Goose, navigate to the chat
- 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 (SSE)
│ ○ Remote Extension (Streaming HTTP)
└
- 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-remote
└
- Enter the command to run when this extension is used.
┌ 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-remote
│
◆ What command should be run?
│ npx mcp-remote https://mcp.squareup.com/sse
└
- Enter the number of seconds Goose should wait for actions to complete before timing out. Default is
300
seconds.
┌ 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-remote
│
◇ What command should be run?
│ npx mcp-remote https://mcp.squareup.com/sse
│
◆ Please set the timeout for this tool (in secs):
│ 300
└
- Choose to add a description. If you select
No
, Goose will skip it.
┌ 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-remote
│
◇ What command should be run?
│ npx mcp-remote https://mcp.squareup.com/sse
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
◆ Would you like to add a description?
│ No
└
- Choose
No
when asked to add environment variables.
┌ 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-remote
│
◇ What command should be run?
│ npx mcp-remote https://mcp.squareup.com/sse
│
◇ 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?
│ No
│
└ Added square-mcp-remote extension
When you start the next session, Goose will open a browser where you can grant permissions and sign in to your Square account.
- Goose Desktop
- Goose CLI
Command
npx 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.
- Goose Desktop
- Goose CLI
- Launch the installer
- Click
OK
to confirm the installation - Get your Square Access Token and paste it in
Set either SANDBOX or PRODUCTION to true (the access token must match the environment) - Click
Add Extension
- Click the button in the top-left to open the sidebar
- Navigate to the chat
- 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 (SSE)
│ ○ Remote Extension (Streaming HTTP)
└
- 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 to run when this extension is used.
┌ 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 square-mcp-server start
└
- Enter the number of seconds Goose should wait for actions to complete before timing out. Default is
300
seconds.
┌ 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 square-mcp-server start
│
◆ Please set the timeout for this tool (in secs):
│ 300
└
- Choose to add a description. If you select
No
, Goose will skip it.
┌ 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 square-mcp-server start
│
◇ Please set the timeout for this tool (in secs):
│ 300
│
◆ Would you like to add a description?
│ No
└
- Add environment variables for square-mcp.
SANDBOX
or PRODUCTION
to true (the access token must match the environment)┌ 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 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
│
◇ Add another environment variable?
│ No
│
└ Added square-mcp extension
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.