square-mcp-server

square/square-mcp-server

4.1

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:

MCPHub score:4.06

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 Report
Total 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/10
    Get information about 'catalog' service.

    Here is the information about the Catalog service from the Square API, including its various operations:

    Catalog Service Operations

    1. 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.
    2. Batch Get Objects

      • Description: Retrieves a set of CatalogItems, including all related child information like variations and modifier lists.
    3. 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.
    4. 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.
    5. Update Image

      • Description: Updates an existing CatalogImage. Accepts multipart/form-data requests with a maximum file size of 15MB.
    6. Catalog Info

      • Description: General information about the Catalog service.
    7. List

      • Description: Lists CatalogObjects by type (e.g., ITEM, ITEM_VARIATION). Deleted items are not included; to retrieve them, use SearchCatalogObjects with include_deleted_objects set to true.
    8. Upsert Object

      • Description: Updates or inserts a single object. Only one update request is processed at a time per seller account.
    9. Delete Object

      • Description: Deletes a specific CatalogObject and all its children, processing only one delete request at a time per seller account.
    10. Get Object

      • Description: Retrieves a specific CatalogObject along with its detailed information, including variations and modifier lists.
    11. Search Objects

      • Description: Searches for any type of catalog objects, allowing for more comprehensive searches than just items.
    12. Search Items

      • Description: Similar to SearchObjects but specifically for items or item variations. Supports custom attribute query filters.
    13. Update Item Modifier Lists

      • Description: Updates the modifier lists associated with a specific item.
    14. 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/10
    use get_type_info, get information for createImage method in 'catalog' service.

    Information on the createImage Method in the catalog Service

    The createImage method 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 createImage method allows you to create a CatalogImage object. If the object_id is not specified, the resulting image will be unattached to any CatalogObject.
    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:

    1. idempotency_key (string):

      • Description: A unique string to identify the CreateCatalogImage request. It must be unique for every request.
      • Required: Yes
    2. image (CatalogObject):

      • Description: A CatalogObject of the IMAGE type, specifically a CatalogImage object that encapsulates the specified image file.
      • Required: Yes
    3. image_file (string):

      • Description: The path to the image file to upload.
      • Required: Yes
    Optional Parameters

    The following parameters are optional:

    1. object_id (string):

      • Description: The unique ID of the CatalogObject to which this CatalogImage will be attached. If left empty, the image will be unattached.
      • Required: No
    2. is_primary (boolean):

      • Description: If set to true, this image will be the primary image for the object referenced by object_id. If the object already has a primary image, this will replace it.
      • Required: No (Default is false for API version 2021-12-15 or later)

    API Structure

    The createImage method 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 createImage method 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!

  • Test case 3
    Score: 9/10
    use get_type_info, get information for batchGetobjects method in 'catalog' service.

    Here's the information regarding the batchGetobjects method in the Catalog service from Square:

    Overview of batchGetobjects Method

    • Description: The batchGetobjects method retrieves a set of CatalogItem objects, including all related information. Each CatalogItem returned in the set includes:
      • All of its child CatalogItemVariation objects.
      • References to its CatalogModifierList objects.
      • The IDs of any CatalogTax objects that apply to it.

    Request Structure

    BatchRetrieveCatalogObjectsRequest

    The request for this method includes the following properties:

    1. object_ids:

      • Type: array
      • Description: The IDs of the CatalogObjects to be retrieved.
      • Required: Yes
    2. 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
    3. 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
    4. include_deleted_objects:

      • Type: boolean
      • Description: Indicates whether to include deleted objects in the response, specifically those with the is_deleted attribute set to true.
      • Required: No
    5. include_category_path_to_root:

      • Type: boolean
      • Description: Specifies whether or not to include the path_to_root list 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!

  • Test case 4
    Score: 7/10
    Lists CatalogObjects by type (e.g., ITEM, ITEM_VARIATION) use batchGetobjects method in 'catalog' service.

    To list CatalogObjects by type using the batchGetobjects method from the Square API's catalog service, you'll need to specify the object IDs you want to retrieve. The batchGetobjects method requires at least one object ID to be provided in the object_ids array, and it can also include related objects based on the include_related_objects parameter.

    Steps to Use batchGetobjects Method

    1. 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 list or searchObjects to get the IDs of ITEM, ITEM_VARIATION, etc.

    2. Make the API Call:

      • You will call the batchGetobjects method by passing the collected object IDs.
      • Optionally, you can set include_related_objects to true to get related objects.

    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 batchGetobjects without 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

    1. List Catalog Objects: Use the list method to retrieve the IDs of the catalog objects based on your requirements (e.g., filtering by type such as ITEM, ITEM_VARIATION).
    2. Fetch Objects: Once you have the IDs, you can then call batchGetobjects with 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/10
    Get information about 'payment' service.

    Here's the information about the Payments service in the Square API:

    Overview of Payment Service Methods

    1. 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.
    2. 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 Payment object which is returned in the response.
    3. Cancel Payment by Idempotency Key

      • Description: Used when the status of a CreatePayment request is unknown (for example, after a network error). It allows you to cancel the payment using the same idempotency key from the CreatePayment request. If no payment with the specified key is found, no action is taken.
    4. Get Payment

      • Description: Retrieves details for a specific payment.
    5. Update Payment

      • Description: Updates the amount_money and tip_money for a payment.
    6. Cancel Payment

      • Description: Cancels a payment that has an APPROVED status.
    7. 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!