Square MCP server for AI agents and assistants

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Square MCP or direct API to process payments, send invoices, manage orders, and access customer data through natural language.

Square logoSquare
Oauth2

Square is a platform for payment processing, POS, invoicing, and e-commerce. It empowers businesses to accept payments, manage sales, and streamline operations from one place.

96 Tools

Try Square now

Type what you want done — sign in and watch it run live in the Tool Router playground.

TOOL ROUTER PLAYGROUND
Square
Try asking
TOOLS

Supported Tools

Every Square action and event your agent gets out of the box.

Accept Dispute

Accept a dispute and acknowledge liability, returning funds to the cardholder.

Add Group to Customer

Tool to add a customer to a customer group.

Calculate Order

Tool to preview order pricing without creating an order.

Cancel Invoice

Cancels a Square invoice, preventing further payments from being collected.

Cancel Payment

Cancels (voids) a payment that is in APPROVED status.

Create Bulk Customers

Tool to create multiple customer profiles in a single request.

Create Card

Tool to create a card on file.

Create Customer

Tool to create a new customer profile in Square.

Create Customer Custom Attribute Definition

Tool to create a customer-related custom attribute definition.

Create Customer Group

Tool to create a new customer group for a business.

Create Dispute Evidence File

Tool to upload a file as dispute evidence.

Create Dispute Evidence Text

Upload text evidence for a dispute challenge.

Create Invoice Attachment

Upload and attach a file to a Square invoice.

Create Location

Tool to create a new business location in a Square account.

Create Location Custom Attribute Definition

Tool to create a location-related custom attribute definition.

Delete Customer

Tool to delete a Square customer profile.

Delete Customer Custom Attribute

Tool to delete a custom attribute from a customer profile.

Delete Customer Custom Attribute Definition

Tool to delete a customer-related custom attribute definition.

Delete Customer Group

Tool to delete a customer group by its ID.

Bulk Delete Customers

Tool to bulk delete customer profiles from Square.

Delete Dispute Evidence

Removes a specific piece of evidence from a dispute.

Delete Invoice

Tool to delete a Square invoice (only DRAFT invoices can be deleted).

Delete Invoice Attachment

Tool to delete an attachment from a Square invoice.

Delete Location Custom Attribute

Tool to delete a custom attribute from a location.

Delete Location Custom Attribute Definition

Tool to delete a location-related custom attribute definition.

Delete Locations Custom Attributes (Batch)

Tool to delete custom attributes from multiple locations in a single batch request.

Delete Merchant Custom Attribute

Tool to delete a custom attribute from a merchant profile.

Delete Merchant Custom Attribute Definition

Tool to delete a merchant-related custom attribute definition.

Delete Merchants Custom Attributes (Batch)

Tool to delete custom attributes from multiple merchants in a single batch request.

Delete Webhook Subscription

Permanently deletes a webhook subscription by its ID.

Get Business Booking Profile

Tool to retrieve the business booking profile for a Square merchant via GraphQL.

Get Current Merchant

Tool to retrieve merchant information associated with the access token using Square's GraphQL API.

Get Customer Custom Attribute

Retrieves a custom attribute from a customer profile in Square.

Get Customer Custom Attribute Definition

Tool to retrieve a customer-related custom attribute definition from Square.

Get Customers via GraphQL

Tool to retrieve customer profiles from Square Customer Directory using GraphQL API.

Get Dispute Evidence

Retrieves detailed information about a specific piece of evidence that was uploaded for a dispute.

Get Invoice

Retrieves detailed information about a specific Square invoice by its ID.

Get Merchant

Tool to retrieve detailed information about a specific Square merchant by ID.

Get Online Checkout Location Settings

Tool to retrieve location-level settings for Square online checkout.

List Channels

Tool to list requested channels from Square.

List Customer Custom Attribute Definitions

Tool to list customer-related custom attribute definitions from Square.

List Customer Custom Attribute Definitions (GraphQL)

Tool to retrieve customer custom attribute definitions via Square's GraphQL API.

List Customer Custom Attributes

Tool to list custom attributes for a customer profile.

List Customer Groups

Tool to retrieve the list of customer groups of a business.

List Customers

Tool to retrieve customer profiles associated with a Square account.

List Customer Segments

Tool to retrieve the list of customer segments of a business.

List Dispute Evidence

Tool to list evidence items associated with a given dispute.

List Invoices

Tool to list invoices for a Square location.

List Location Custom Attribute Definitions

Tool to list location-related custom attribute definitions from Square.

List Locations

Tool to retrieve all business locations from a Square account.

List Locations Custom Attributes

Tool to list custom attributes for a specific location in Square.

List Merchant Custom Attribute Definitions

Tool to list merchant-related custom attribute definitions from Square.

List Merchants

Tool to retrieve merchant account information associated with the access token.

List Merchants Custom Attributes

Tool to list custom attributes for a specific merchant in Square.

List Payments

Tool to list payments by location and time range to enable reconciliation and net sales reporting from Square POS.

List Webhook Event Types

Tool to list available webhook event types.

List Webhook Subscriptions

List all webhook subscriptions owned by your application.

Remove Group From Customer

Removes a customer from a customer group.

Retrieve Bulk Customers

Tool to retrieve multiple customer profiles in a single request.

Retrieve Channel

Retrieve a Square channel by its ID.

Bulk Retrieve Channels

Tool to bulk retrieve multiple Square channels by their IDs in a single request.

Retrieve Customer

Tool to retrieve detailed information about a specific Square customer by ID.

Retrieve Customer Group

Tool to retrieve a specific Square customer group by ID.

Retrieve Customer Segment

Tool to retrieve a specific customer segment by its ID.

Retrieve Dispute

Tool to retrieve a Square dispute by ID.

Retrieve Location

Tool to retrieve detailed information about a specific Square location by ID.

Retrieve Location Custom Attribute

Retrieves a custom attribute associated with a location in Square.

Retrieve Location Custom Attribute Definition

Tool to retrieve a location-related custom attribute definition.

Retrieve Merchant Custom Attribute

Retrieves a custom attribute associated with a merchant in Square.

Retrieve Merchant Custom Attribute Definition

Tool to retrieve a merchant-related custom attribute definition from Square.

Retrieve Merchants

Tool to retrieve merchant information including status, main location details, and capabilities using Square's GraphQL API.

Retrieve Order

Retrieves detailed information about a specific Square order by its ID.

Retrieve Payment Link

Retrieves a Square-hosted payment link by ID.

Retrieve Token Status

Tool to retrieve information about an OAuth access token or personal access token.

Retrieve Webhook Subscription

Retrieve a Square webhook subscription by its ID.

Search Customers

Tool to search customer profiles in Square Customer Directory.

Search Orders

Tool to search orders across one or more Square locations with filters.

Submit Dispute Evidence

Submits evidence for a dispute to the cardholder's bank.

Test Webhook Subscription

Tests a webhook subscription by sending a test event to the configured notification URL.

Update Customer

Tool to update an existing Square customer profile.

Update Customer Custom Attribute Definition

Tool to update a customer-related custom attribute definition in Square.

Update Customer Group

Tool to update a customer group's information by its ID.

Bulk Update Customers

Tool to update multiple customer profiles in a single batch operation.

Update Location

Tool to update an existing business location in a Square account.

Update Location Custom Attribute Definition

Tool to update a location-related custom attribute definition in Square.

Update Merchant Custom Attribute Definition

Tool to update a merchant-related custom attribute definition in Square.

Update Online Checkout Location Settings

Tool to update location-level settings for Square online checkout.

Update Order

Updates an existing Square order by adding, modifying, or removing fields.

Update Webhook Subscription

Tool to update a Square webhook subscription.

Update Webhook Subscription Signature Key

Tool to rotate the signature key for a webhook subscription.

Upsert Customer Custom Attribute

Tool to create or update a custom attribute for a customer profile.

Batch Upsert Customer Custom Attributes

Tool to create or update custom attributes for multiple customers in a single batch request.

Upsert Location Custom Attribute

Tool to create or update a custom attribute for a location.

Batch Upsert Locations Custom Attributes

Tool to create or update custom attributes for multiple locations in a single batch request.

Upsert Merchant Custom Attribute

Tool to create or update a custom attribute for a merchant profile.

Batch Upsert Merchants Custom Attributes

Tool to create or update custom attributes for multiple merchants in a single batch request.

SETUP GUIDE

Connect Square MCP Tool with your Agent

1

Install Composio

typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
Install the Composio SDK and Claude Agent SDK
2

Create Tool Router Session

typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });

console.log("Creating Tool Router session...");
const { mcp } = await composio.create('your-user-id');
console.log(`Tool Router session created: ${mcp.url}`);
Initialize the Composio client and create a Tool Router session
3

Connect to AI Agent

typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText, stepCountIs } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: mcp.url,
    headers: { 'x-api-key': 'your-composio-api-key' }
  }
});

const tools = await client.tools();

const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{ role: 'user', content: 'Show me all invoices sent in the last month' }],
  stopWhen: stepCountIs( 5 )
});

console.log(`Agent: ${text}`);
Use the MCP server with your AI agent
SETUP GUIDE

Connect Square API Tool with your Agent

1

Install Composio

typescript
npm install @composio/openai
Install the Composio SDK
2

Initialize Composio and Create Tool Router Session

typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
Import and initialize Composio client, then create a Tool Router session
3

Execute Square Tools via Tool Router with Your Agent

typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'Show me all invoices sent in the last month'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
Get tools from Tool Router session and execute Square actions with your Agent

Why Use Composio?

AI Native Square Integration

  • Supports both Square MCP and direct API based integrations
  • Structured, LLM-friendly schemas for reliable tool execution
  • Rich coverage for reading, writing, and querying your Square data

Managed Auth

  • Built-in OAuth handling with automatic token refresh and rotation
  • Central place to manage, scope, and revoke Square access
  • Per user and per environment credentials instead of hard-coded keys

Agent Optimized Design

  • Tools are tuned using real error and success rates to improve reliability over time
  • Comprehensive execution logs so you always know what ran, when, and on whose behalf

Enterprise Grade Security

  • Fine-grained RBAC so you control which agents and users can access Square
  • Scoped, least privilege access to Square resources
  • Full audit trail of agent actions to support review and compliance
FAQ

Frequently asked questions

No. Composio provides a managed OAuth app for Square, so you sign in with your normal Square account and approve access. If you later want the consent screen to show your own company name, you can add your own Square OAuth app in the Composio dashboard, and every connection after that uses it.

Yes! Composio's Tool Router enables agents to use multiple toolkits. Learn more.

Yes. Composio is SOC 2 Type II compliant and is built to keep your Square connection and credentials secure. OAuth tokens and API keys are encrypted, and sensitive customer data is protected at rest and in transit.

Composio also undergoes independent security testing and continuously monitors its systems for security threats. You can review the latest reports and policies in the Composio Trust Center.

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

When you connect a Square account through Composio, every action runs under that account, so anything the agent creates, sends, or changes shows up in Square as done by you. Keep an approval step in your prompt for actions with side effects, such as sending or deleting, and have the agent draft first.

Exactly the ones Square lists on its consent screen when you connect. Review that screen before approving. If you connect a work account, your Square administrator may need to approve the app first, and you can revoke the access inside Square whenever you want.

Yes. Composio supports multiple connected accounts for the same app, and that works in Claude, ChatGPT, or any other assistant you connect through Composio. Give each Square connection a name such as work or personal, and the assistant uses the one you mention in the request. Each account keeps its own credentials and nothing is merged.

Composio refreshes Square tokens automatically, so day to day you do nothing. If you revoke access inside Square, or Square invalidates the session, the connection shows as expired in Composio and the agent stops acting on that account until you reconnect it, which is a single sign-in.

Composio's free plan includes 100,000 tool calls per month with no credit card, and up to 20,000 of those can run through Composio-managed apps like Square. Personal Square use rarely gets near that. Paid plans add higher limits and team features, and Square's own pricing is unaffected.

Built-in connectors usually give one AI access to a limited set of apps. Many people use Composio because it lets their AI connect to more apps than it normally supports, or connect to multiple accounts for the same app (e.g. connect Claude to multiple Square accounts).

With Composio, you connect Square once and then use it across different AI assistants without setting it up separately in each one. Connect your apps to Composio once, then connect Composio to whichever AI you use, whether that's Claude, ChatGPT, Hermes, or your own custom assistant.

Start with Square.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Square tool your agent needs.Free to start.

Start building