项目简介
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' 命令直接运行,无需全局安装。
-
确保您的系统已安装 Node.js 和 npm。
-
您需要一个 Square Access Token 来允许服务器访问您的 Square 账户数据。请参考 Square Access Tokens 获取您的 Access Token。
-
在命令行中运行服务器。您需要通过环境变量 '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 交互通常遵循以下模式,使用服务器提供的工具:
-
发现服务信息 ('get_service_info'): LLM 可以通过此工具查询 Square API 中可用的服务(如 'catalog', 'payments' 等)及其描述。
- 示例调用 (概念性,实际由LLM内部执行): 'get_service_info(service: "catalog")'
- 用途: 了解某个 Square API 领域提供了哪些功能。
-
理解类型信息 ('get_type_info'): 对于特定的服务和方法(如 'catalog.list'),LLM 可以通过此工具获取执行该操作所需的请求参数结构和描述。
- 示例调用 (概念性): 'get_type_info(service: "catalog", method: "list")'
- 用途: 帮助 LLM 构建正确的 API 请求参数。
-
执行 API 请求 ('make_api_request'): LLM 使用此工具实际调用 Square API 的某个服务和方法,并传入构造好的请求参数。
- 示例调用 (概念性): 'make_api_request(service: "catalog", method: "list", request: {})' (调用 Catalog API 的 list 方法,请求体为空)
- 用途: 执行实际的商业操作,如查询列表、创建记录、处理支付等。
通过这些工具,LLM 能够逐步探索 Square API 的能力,理解如何构建请求,并最终执行所需的商业任务。
信息
分类
商业系统