square/square-mcp-server
square-mcp-server is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.
If you are the rightful owner of square-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Square Model Context Protocol Server (Beta) allows AI assistants to interact with Square's connect API using the Model Context Protocol standard.
Try square-mcp-server with chat:
Has a README
Github repo has a README.md.
Has a License
Github repo has license info.
Server can be inspected
View server inspector
Server schema can be extracted
Can get at lease one tool info from the README or server.
Online hosted on MCPHub
Can be automatically deployed by MCPHub.
Has social accounts
Do not have any social accounts.
Claimed by the author or certified by MCPHub
If you are the author, claim authorship
AI Evaluation ReportTotal Score: 8/10
The agent demonstrates a strong understanding of the Square API's services, providing detailed and accurate information about various methods and their functionalities. It effectively explains the purpose, request structure, and parameters for different API methods, such as those in the Catalog and Payments services. However, there are minor inaccuracies, such as mentioning non-existent methods like 'Cancel Payment by Idempotency Key' and 'Update Payment' in the Payments service. Additionally, the agent could improve by offering alternative methods for achieving tasks, such as using the 'list' or 'searchObjects' methods to retrieve catalog objects by type. Overall, the agent is informative and useful, with room for improvement in accuracy and completeness.
Test case 1
Score: 9/10Get information about 'catalog' service.Here is the information about the Catalog service from the Square API, including its various operations:
Catalog Service Operations
-
Batch Delete Objects
- Description: Deletes specified objects and their children (e.g., deleting a CatalogItem will also delete its variations). Only one delete request is processed at a time per seller account.
-
Batch Get Objects
- Description: Retrieves a set of CatalogItems, including all related child information like variations and modifier lists.
-
Batch Upsert Objects
- Description: Inserts or updates target objects in batches. If one object in a batch is malformed, the entire batch is disregarded. Each batch can contain up to 1,000 objects.
-
Create Image
- Description: Creates a CatalogImage which can be unattached to any CatalogObject if not specified. Accepts multipart/form-data requests with image files (JPEG, PNG, GIF) limited to 15MB.
-
Update Image
- Description: Updates an existing CatalogImage. Accepts multipart/form-data requests with a maximum file size of 15MB.
-
Catalog Info
- Description: General information about the Catalog service.
-
List
- Description: Lists CatalogObjects by type (e.g., ITEM, ITEM_VARIATION). Deleted items are not included; to retrieve them, use SearchCatalogObjects with
include_deleted_objectsset to true.
- Description: Lists CatalogObjects by type (e.g., ITEM, ITEM_VARIATION). Deleted items are not included; to retrieve them, use SearchCatalogObjects with
-
Upsert Object
- Description: Updates or inserts a single object. Only one update request is processed at a time per seller account.
-
Delete Object
- Description: Deletes a specific CatalogObject and all its children, processing only one delete request at a time per seller account.
-
Get Object
- Description: Retrieves a specific CatalogObject along with its detailed information, including variations and modifier lists.
-
Search Objects
- Description: Searches for any type of catalog objects, allowing for more comprehensive searches than just items.
-
Search Items
- Description: Similar to SearchObjects but specifically for items or item variations. Supports custom attribute query filters.
-
Update Item Modifier Lists
- Description: Updates the modifier lists associated with a specific item.
-
Update Item Taxes
- Description: Updates the tax information associated with a specific item.
Summary
The Catalog service in the Square API provides a comprehensive set of operations for managing catalog items, including creation, modification, deletion, and retrieval. Each operation has specific constraints and behaviors, especially concerning batch processing and consistency.
-
Test case 2
Score: 9/10use get_type_info, get information for createImage method in 'catalog' service.Information on the
createImageMethod in thecatalogServiceThe
createImagemethod is part of the Square API's Catalog service, specifically designed to upload an image to the catalog. Here's a detailed breakdown of its functionality and requirements:Overview
- Description: The
createImagemethod allows you to create aCatalogImageobject. If theobject_idis not specified, the resulting image will be unattached to anyCatalogObject.
Request Format
- Content Type: This endpoint accepts HTTP multipart/form-data requests containing both a JSON part and an image file part.
- Supported Image Formats: JPEG, PJPEG, PNG, or GIF.
- Maximum File Size: 15MB.
Required Parameters
The following parameters are required when making a request to create an image:
-
idempotency_key (string):
- Description: A unique string to identify the
CreateCatalogImagerequest. It must be unique for every request. - Required: Yes
- Description: A unique string to identify the
-
image (CatalogObject):
- Description: A
CatalogObjectof theIMAGEtype, specifically aCatalogImageobject that encapsulates the specified image file. - Required: Yes
- Description: A
-
image_file (string):
- Description: The path to the image file to upload.
- Required: Yes
Optional Parameters
The following parameters are optional:
-
object_id (string):
- Description: The unique ID of the
CatalogObjectto which thisCatalogImagewill be attached. If left empty, the image will be unattached. - Required: No
- Description: The unique ID of the
-
is_primary (boolean):
- Description: If set to
true, this image will be the primary image for the object referenced byobject_id. If the object already has a primary image, this will replace it. - Required: No (Default is
falsefor API version 2021-12-15 or later)
- Description: If set to
API Structure
The
createImagemethod is defined as follows in the API:{ "idempotency_key": "string", "object_id": "string", "image": { "type": "IMAGE", "id": "string", "updated_at": "string", "version": "integer", "is_deleted": "boolean" }, "is_primary": "boolean", "image_file": "string" }Conclusion
Using the
createImagemethod allows you to efficiently manage images within the Square API catalog. Ensure to follow the specifications regarding file types and sizes, and utilize the idempotency key to prevent duplicate requests. If you have any further questions about implementing this method or other aspects of the API, feel free to ask!- Description: The
Test case 3
Score: 9/10use get_type_info, get information for batchGetobjects method in 'catalog' service.Here's the information regarding the
batchGetobjectsmethod in the Catalog service from Square:Overview of
batchGetobjectsMethod- Description:
The
batchGetobjectsmethod retrieves a set ofCatalogItemobjects, including all related information. EachCatalogItemreturned in the set includes:- All of its child
CatalogItemVariationobjects. - References to its
CatalogModifierListobjects. - The IDs of any
CatalogTaxobjects that apply to it.
- All of its child
Request Structure
BatchRetrieveCatalogObjectsRequest
The request for this method includes the following properties:
-
object_ids:
- Type: array
- Description: The IDs of the
CatalogObjectsto be retrieved. - Required: Yes
-
include_related_objects:
- Type: boolean
- Description: If
true, the response will include additional objects related to the requested objects, which are defined by ID in the results. - Default value:
false - Required: No
-
catalog_version:
- Type: integer
- Description: The specific version of the catalog objects to be included in the response, allowing you to retrieve historical versions.
- Required: No
-
include_deleted_objects:
- Type: boolean
- Description: Indicates whether to include deleted objects in the response, specifically those with the
is_deletedattribute set totrue. - Required: No
-
include_category_path_to_root:
- Type: boolean
- Description: Specifies whether or not to include the
path_to_rootlist for each returned category instance, which shows the hierarchy from the immediate parent category to the root category. - Required: No
Example Use Case
This method is particularly useful for applications that need to display detailed information about multiple catalog items and their variations, such as inventory management systems or point-of-sale systems where users need to see all relevant data in one query.
Additional Information
For more details on how to use this method effectively, you might want to review the official Square API documentation or test the API via their provided endpoints.
If you need further assistance or specific examples regarding this method, feel free to ask!
- Description:
The
Test case 4
Score: 7/10Lists CatalogObjects by type (e.g., ITEM, ITEM_VARIATION) use batchGetobjects method in 'catalog' service.To list
CatalogObjectsby type using thebatchGetobjectsmethod from the Square API'scatalogservice, you'll need to specify the object IDs you want to retrieve. ThebatchGetobjectsmethod requires at least one object ID to be provided in theobject_idsarray, and it can also include related objects based on theinclude_related_objectsparameter.Steps to Use
batchGetobjectsMethod-
Collect Object IDs: First, you need to gather the IDs of the catalog objects you want to retrieve. This can be done using another method such as
listorsearchObjectsto get the IDs ofITEM,ITEM_VARIATION, etc. -
Make the API Call:
- You will call the
batchGetobjectsmethod by passing the collected object IDs. - Optionally, you can set
include_related_objectstotrueto get related objects.
- You will call the
Example of the Request
Here is how the request structure looks:
{ "object_ids": ["id1", "id2"], // replace with actual IDs "include_related_objects": true }Error Handling
If you try to call
batchGetobjectswithout any IDs, as you saw in the previous attempt, you'll receive an error indicating that the array must have at least one value.Next Steps
- List Catalog Objects: Use the
listmethod to retrieve the IDs of the catalog objects based on your requirements (e.g., filtering by type such asITEM,ITEM_VARIATION). - Fetch Objects: Once you have the IDs, you can then call
batchGetobjectswith those IDs.
Would you like me to help you get a list of catalog object IDs by type (e.g.,
ITEM,ITEM_VARIATION)?-
Test case 5
Score: 8/10Get information about 'payment' service.Here's the information about the Payments service in the Square API:
Overview of Payment Service Methods
-
List Payments
- Description: Retrieves a list of payments. Results are eventually consistent, meaning new payments or changes might take several seconds to appear.
- Notes: The maximum results per page is 100.
-
Create Payment
- Description: Charges a card (credit/debit card or Square gift card) or records a payment received outside of Square (such as cash payments). This creates a
Paymentobject which is returned in the response.
- Description: Charges a card (credit/debit card or Square gift card) or records a payment received outside of Square (such as cash payments). This creates a
-
Cancel Payment by Idempotency Key
- Description: Used when the status of a
CreatePaymentrequest is unknown (for example, after a network error). It allows you to cancel the payment using the same idempotency key from theCreatePaymentrequest. If no payment with the specified key is found, no action is taken.
- Description: Used when the status of a
-
Get Payment
- Description: Retrieves details for a specific payment.
-
Update Payment
- Description: Updates the
amount_moneyandtip_moneyfor a payment.
- Description: Updates the
-
Cancel Payment
- Description: Cancels a payment that has an APPROVED status.
-
Complete Payment
- Description: Completes a payment that has an APPROVED status. Payments are typically completed immediately after creation by default.
This summary provides an overview of how you can manage payments through the Square API, including creating, updating, canceling, and retrieving payment information. If you need further details or specific actions within any of these methods, feel free to ask!
-