Search and manage transaction, merchant, and payment data
Details
Author
square
GitHub stars
100
Downloads
383
Transport
SSE
Categories
Remote MCP, Developer Tools, Other, API
Jump to
- Discover Square API methods with get_service_info
- Inspect parameter requirements via get_type_info
- Execute any Square API call with make_api_request
- Switch between sandbox and production environments
- Restrict operations to read-only with DISALLOW_WRITES
- Integrates with Goose and Claude Desktop
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
Run the server locally using npx square-mcp-server start, optionally setting environment variables like ACCESS_TOKEN, SANDBOX, PRODUCTION, DISALLOW_WRITES, or SQUARE_VERSION. Alternatively, use the hosted remote MCP server at https://mcp.squareup.com/sse which supports OAuth authentication. Integrate with Goose via npx square-mcp-server install or by copying a goose:// URL. For Claude Desktop, add a local or remote configuration to claude_desktop_config.json. Use the three MCP tools—get_service_info, get_type_info, and make_api_request—in sequence to discover, understand, and execute Square API calls.
make_api_request
Unified tool for all Square API operations. Be sure to get types before calling. Available services:
applepay, bankaccounts, bookingcustomattributes, bookings, cards, cashdrawers, catalog, checkout, customercustomattributes, customergroups, customersegments, customers, devices, disputes, events, giftcardactivities, giftcards, inventory, invoices, labor, locationcustomattributes, locations, loyalty, merchantcustomattributes, merchants, oauth, ordercustomattributes, orders, payments, payouts, refunds, sites, snippets, subscriptions, team, terminal, vendors, webhooksubscriptions.
get_type_info
Get type information for a Square API method. You must call this before calling the make_api_request tool.
get_service_info
Get information about a Square API service. Call me before trying to get type info
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
# Square Model Context Protocol Server (Beta)
This project follows the [Model Context Protocol](https://modelcontextprotocol.com/) standard, allowing AI assistants to interact with Square's connect API.
<a href="https://glama.ai/mcp/servers/@square/square-mcp-server">
<img width="380" height="200" src="https://glama.ai/mcp/servers/@square/square-mcp-server/badge" alt="Square Model Context Protocol Server MCP server" />
</a>
## Quick Start
Get up and running with the Square MCP server using npx:
```bash
# Basic startup
npx square-mcp-server start
# With environment configuration
ACCESS_TOKEN=YOUR_SQUARE_ACCESS_TOKEN SANDBOX=true npx square-mcp-server start
# local runs
npx /path/to/project/square-mcp-server
```
Replace `YOUR_SQUARE_ACCESS_TOKEN` with your actual Square access token. You can obtain your access token by following the guide at [Square Access Tokens](https://developer.squareup.com/docs/build-basics/access-tokens). You can also set environment variables before running the command.
## Remote MCP Server
Square now offers a hosted remote MCP server at:
```
https://mcp.squareup.com/sse
```
The remote MCP is recommended as it uses OAuth authentication, allowing you to log in with your Square account directly without having to create or manage access tokens manually.
## Configuration Options
| Environment Variable | Purpose | Example |
|---------------------|---------|---------|
| `ACCESS_TOKEN` | Your Square API access token | `ACCESS_TOKEN=sq0atp-...` |
| `SANDBOX` | Use Square sandbox environment | `SANDBOX=true` |
| `PRODUCTION` | Use Square production environment | `PRODUCTION=true` |
| `DISALLOW_WRITES` | Restrict to read-only operations | `DISALLOW_WRITES=true` |
| `SQUARE_VERSION` | Specify Square API version | `SQUARE_VERSION=2025-04-16` |
## Integration with AI Assistants
### Goose Integration
To configure the Square MCP Server with [Goose](https://block.github.io/goose/):
#### Remote MCP
To install the Square remote MCP in Goose, click this URL on a computer where Goose is installed:
[goose://extension?cmd=npx&arg=mcp-remote&arg=https%3A%2F%2Fmcp.squareup.com%2Fsse&id=square_mcp_production_remote&name=Square%20MCP%20Remote&description=Square%20Production%20MCP%20Remote](goose://extension?cmd=npx&arg=mcp-remote&arg=https%3A%2F%2Fmcp.squareup.com%2Fsse&id=square_mcp_production_remote&name=Square%20MCP%20Remote&description=Square%20Production%20MCP%20Remote)
Or copy and paste the URL into your browser's address bar.
```bash
# Automatic installation
npx square-mcp-server install
# Get URL for manual installation
npx square-mcp-server get-goose-url
```
The `install` command automatically updates your Goose configuration.
### Claude Desktop Integration
For Claude Desktop integration, see the [Model Context Protocol Quickstart Guide](https://modelcontextprotocol.io/quickstart/user). Add this configuration to your `claude_desktop_config.json`:
#### Remote MCP
```json
{
"mcpServers": {
"mcp_square_api": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.squareup.com/sse"]
}
}
}
```
This approach allows you to authenticate directly with your Square account credentials without needing to manage access tokens.
#### Local MCP
```json
{
"mcpServers": {
"mcp_square_api": {
"command": "npx",
"args": ["square-mcp-server", "start"],
"env": {
"ACCESS_TOKEN": "YOUR_SQUARE_ACCESS_TOKEN",
"SANDBOX": "true"
}
}
}
}
```
## Tool Reference
The Square MCP Server provides a streamlined set of tools for interacting with Square APIs:
| Tool | Description | Primary Use |
|------|-------------|------------|
| `get_service_info` | Discover methods available for a service | Exploration and discovery |
| `get_type_info` | Get detailed parameter requirements | Request preparation |
| `make_api_request` | Execute API calls to Square | Performing operations |
## Service Catalog
Square MCP Server provides access to Square's complete [API ecosystem](https://developer.squareup.com/reference/square). Check out the [Square API Documentation](https://developer.squareup.com/docs) for detailed information about each service:
| Service | Description |
|---------|-------------|
| `applepay` | Apple Pay integration |
| `bankaccounts` | Bank account management |
| `bookingcustomattributes` | Custom attributes for bookings |
| `bookings` | Appointment booking management |
| `cards` | Payment card management |
| `cashdrawers` | Cash drawer management |
| `catalog` | Catalog management (items, categories, etc.) |
| `checkout` | Checkout and payment processing |
| `customercustomattributes` | Custom attributes for customers |
| `customergroups` | Customer grouping |
| `customersegments` | Customer segmentation |
| `customers` | Customer management |
| `devices` | Square device management |
| `disputes` | Payment dispute handling |
| `events` | Event tracking |
| `giftcardactivities` | Gift card activity tracking |
| `giftcards` | Gift card management |
| `inventory` | Inventory tracking |
| `invoices` | Invoice management |
| `labor` | Workforce management |
| `locationcustomattributes` | Custom attributes for locations |
| `locations` | Location management |
| `loyalty` | Loyalty program management |
| `merchantcustomattributes` | Custom attributes for merchants |
| `merchants` | Merchant account management |
| `oauth` | Authentication |
| `ordercustomattributes` | Custom attributes for orders |
| `orders` | Order management |
| `payments` | Payment processing |
| `payouts` | Payout management |
| `refunds` | Refund management |
| `sites` | Website integration |
| `snippets` | Square Online Code integration |
| `subscriptions` | Subscription management |
| `team` | Staff management |
| `terminal` | Square Terminal management |
| `vendors` | Supplier management |
| `webhooksubscriptions` | Event notifications |
## Usage Pattern
For optimal interaction with the Square API through MCP:
1. **Discover**: Use `get_service_info` to explore available methods
```
get_service_info(service: "catalog")
```
2. **Understand**: Use `get_type_info` to learn parameter requirements
```
get_type_info(service: "catalog", method: "list")
```
3. **Execute**: Use `make_api_request` to perform the operation
```
make_api_request(service: "catalog", method: "list", request: {})
```
## Development and Debugging
### Using MCP Inspector
The [MCP Inspector](https://modelcontextprotocol.io/docs/tools/inspector) provides a visual interface for testing:
```bash
# Build the project
npm run build
# Start the inspector with the Square MCP Server
npx @modelcontextprotocol/inspector node dist/index.js start
```
### Development Workflow
1. Clone the repository
2. Install dependencies: `npm install`
3. Start development mode: `npm run watch`
4. Run the server: `node dist/index.js start`
5. Test your changes using the MCP Inspector
## Contributing
This repository is auto-generated from Square's OpenAPI Specification. While contributions are welcome, please note that changes will need to be incorporated into the generator that produces this code. Please open an issue to discuss proposed changes before submitting a pull request.
No reviews yet — be the first
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
Social sign-in isn’t configured yet. You can still create an account with email below, or ask an admin to add Google/GitHub/Discord OAuth credentials.
Sequential Thinking is an MCP server that provides a tool for dynamic and reflective problem-solving through a structured, step-by-step thinking process. It is…
Filesystem is a Node.js server that implements the Model Context Protocol (MCP) for filesystem operations. It enables AI assistants to read, write, and manage…