项目简介

Square Model Context Protocol Server (Beta) 是一个实现了 Model Context Protocol (MCP) 标准的应用后端。它旨在允许支持 MCP 的 AI 助手或其他大型语言模型 (LLM) 客户端以结构化和安全的方式访问和操作 Square 的商业数据和服务。通过提供对 Square Connect API 的标准化接口,该服务器使得 LLM 能够理解和执行与商业运营相关的任务,例如管理商品目录、处理支付、查找客户或预订信息等。

主要功能点

  • Square API 集成: 提供对 Square Connect API 各项服务的访问,包括支付、目录、客户、订单、劳务、发票、礼品卡等。
  • 标准化工具: 将复杂的 Square API 操作封装为易于 LLM 理解和调用的标准化工具。
  • 上下文信息: 能够向 LLM 提供关于 Square 账户、地点、商品、客户等的实时上下文信息。
  • 灵活部署: 支持通过简单的命令行方式启动,并可通过环境变量进行基本配置。
  • 客户端兼容性: 提供针对特定 MCP 客户端(如 Goose 和 Claude Desktop)的便捷集成安装命令。

安装步骤

Square MCP Server 是一个 Node.js 应用,可以通过 'npx' 命令直接运行,无需全局安装。

  1. 确保您的系统已安装 Node.js 和 npm。

  2. 您需要一个 Square Access Token 来允许服务器访问您的 Square 账户数据。请参考 Square Access Tokens 获取您的 Access Token。

  3. 在命令行中运行服务器。您需要通过环境变量 'ACCESS_TOKEN' 提供您的 Square Access Token。您也可以通过 'SANDBOX=true' 环境变量指定使用 Square 的沙盒环境进行测试。

    # 基本启动(使用生产环境,需要设置 ACCESS_TOKEN 环境变量)
    ACCESS_TOKEN=YOUR_SQUARE_ACCESS_TOKEN npx square-mcp-server start
    
    # 使用沙盒环境(需要设置 ACCESS_TOKEN 环境变量)
    ACCESS_TOKEN=YOUR_SQUARE_ACCESS_TOKEN SANDBOX=true npx square-mcp-server start
    
    # 对于某些客户端,可能支持自动安装和配置
    npx square-mcp-server install

    将 'YOUR_SQUARE_ACCESS_TOKEN' 替换为您实际的 Square Access Token。

服务器配置

MCP 客户端需要配置启动 MCP 服务器的命令和参数。对于 'square-mcp-server',其基本启动命令是 'npx square-mcp-server start'。配置时,您需要为客户端提供此命令,并通过环境变量将 Square Access Token 等信息传递给服务器进程。

以下是一个示例 MCP 客户端配置(JSON 格式),展示了如何配置启动 'square-mcp-server',并传递必要的环境变量:

// 这是一段用于 MCP 客户端的配置示例,不是直接运行的代码
{
  "mcpServers": {
    "mcp_square_api": { // 服务器标识符
      "command": "npx", // 用于启动服务器的命令
      "args": [ // 传递给 command 的参数列表
        "square-mcp-server",
        "start"
      ],
      "env": { // 传递给服务器进程的环境变量
        "ACCESS_TOKEN": "YOUR_SQUARE_ACCESS_TOKEN", // 您的 Square Access Token
        "SANDBOX": "true" // 是否使用沙盒环境 ("true" 或 "false")
        // 其他可选的环境变量如 DISALLOW_WRITES, SQUARE_VERSION
      }
    }
    // ... 其他 MCP 服务器配置
  }
}

请将 'YOUR_SQUARE_ACCESS_TOKEN' 替换为您的实际 Access Token,并根据需要调整 'SANDBOX' 或其他环境变量。这些配置通常在 MCP 客户端的应用设置中完成。

基本使用方法

LLM 客户端与 Square MCP Server 交互通常遵循以下模式,使用服务器提供的工具:

  1. 发现服务信息 ('get_service_info'): LLM 可以通过此工具查询 Square API 中可用的服务(如 'catalog', 'payments' 等)及其描述。

    • 示例调用 (概念性,实际由LLM内部执行): 'get_service_info(service: "catalog")'
    • 用途: 了解某个 Square API 领域提供了哪些功能。
  2. 理解类型信息 ('get_type_info'): 对于特定的服务和方法(如 'catalog.list'),LLM 可以通过此工具获取执行该操作所需的请求参数结构和描述。

    • 示例调用 (概念性): 'get_type_info(service: "catalog", method: "list")'
    • 用途: 帮助 LLM 构建正确的 API 请求参数。
  3. 执行 API 请求 ('make_api_request'): LLM 使用此工具实际调用 Square API 的某个服务和方法,并传入构造好的请求参数。

    • 示例调用 (概念性): 'make_api_request(service: "catalog", method: "list", request: {})' (调用 Catalog API 的 list 方法,请求体为空)
    • 用途: 执行实际的商业操作,如查询列表、创建记录、处理支付等。

通过这些工具,LLM 能够逐步探索 Square API 的能力,理解如何构建请求,并最终执行所需的商业任务。

信息

分类

商业系统