PayPal Agent Toolkit MCP Server

使用说明

项目简介

PayPal Agent Toolkit MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,它充当 LLM 客户端与 PayPal API 之间的桥梁。通过该服务器,LLM 可以安全、可控地调用 PayPal 提供的各种功能,例如创建和管理发票、订单以及产品信息等。该项目旨在简化 LLM 应用与 PayPal 服务的集成,提供标准化的上下文服务框架。

主要功能点

  • 资源管理 (Resources): 支持管理 PayPal 的多种资源,例如发票、产品和订阅计划。目前主要体现在对发票和订单资源的工具支持上,可以进行创建、查询等操作。
  • 工具注册和执行 (Tools): 提供了一系列预定义的工具,封装了对 PayPal API 的调用,例如:
    • 'invoices.create': 创建发票
    • 'invoices.list': 列出发票
    • 'createOrder': 创建订单 (ai-sdk 工具)
    • 'getOrder': 获取订单详情 (ai-sdk 工具) 未来可能扩展更多工具以支持更丰富的 PayPal 功能。
  • Prompt 模板 (Prompts): 虽然仓库中没有显式定义 Prompt 模板,但工具的描述和参数定义可以被视为 Prompt 模板的基础,指导 LLM 如何有效地调用这些工具。
  • JSON-RPC 通信: MCP 服务器通过 JSON-RPC 协议与客户端通信(虽然仓库示例中主要展示了 Stdio 传输,但 MCP 本身支持多种协议)。
  • 会话管理和能力声明: MCP 服务器负责会话管理,并通过工具注册声明自身的能力,客户端可以据此了解服务器提供的功能。
  • 多种传输协议: 示例中展示了 Stdio 传输协议,MCP 服务器框架本身设计为支持多种传输协议,如 SSE, WebSocket 等。
  • 安全性: 通过 Access Token 机制保障 API 调用的安全性。
  • 可扩展性: 工具化的设计使得功能易于扩展,可以方便地添加更多 PayPal API 的支持。

安装步骤

  1. 安装 Node.js: 确保你的环境中安装了 Node.js 18 或更高版本。你可以从 Node.js 官网 下载并安装。

  2. 安装 PayPal Agent Toolkit 包: 如果你只是想使用预构建的包,而不需要修改源代码,可以通过 npm 安装:

    npm install @paypal/agent-toolkit

服务器配置

对于 MCP 客户端(如 Claude Desktop, Cursor, Cline 等),你需要配置 PayPal MCP 服务器的启动命令和参数,以便客户端能够连接并使用 PayPal 提供的工具。 以下是一个典型的 JSON 配置示例,你需要将其添加到 MCP 客户端的配置文件中(例如 Claude Desktop 的 '~/Claude/claude_desktop_config.json'):

{
   "mcpServers": {
     "paypal": {
       "command": "npx",
       "args": [
         "-y",
         "@paypal/mcp",
         "--tools=all"
       ],
       "env": {
         "PAYPAL_ACCESS_TOKEN": "YOUR_PAYPAL_ACCESS_TOKEN",
         "PAYPAL_ENVIRONMENT": "SANDBOX"
       }
     }
   }
}

配置参数说明:

  • server name (paypal): '"paypal"' 是你为这个 MCP 服务器连接自定义的名称,可以在客户端中引用。
  • command (npx): '"npx"' 指定用于启动 MCP 服务器的命令,这里使用 'npx' 来运行 npm 包。
  • args (启动参数): '"-y", "@paypal/mcp", "--tools=all"' 是传递给 'npx' 命令的参数:
    • '"-y"': 自动确认 npx 的安装提示。
    • '"@paypal/mcp"': 指定要运行的 npm 包是 '@paypal/mcp',即 PayPal Agent Toolkit MCP Server。
    • '"--tools=all"': 指示服务器加载所有可用的 PayPal 工具。你也可以根据需要指定特定的工具,例如 '"--tools=invoices.list,invoices.create"'。
  • env (环境变量): '"env": { ... }' 用于设置 MCP 服务器运行所需的环境变量:
    • '"PAYPAL_ACCESS_TOKEN": "YOUR_PAYPAL_ACCESS_TOKEN"': [必填] 你的 PayPal Access Token,用于 API 鉴权。你需要替换 '"YOUR_PAYPAL_ACCESS_TOKEN"' 为你实际的 Access Token。 请参考仓库 README 中 "Generating an Access Token" 部分获取 Access Token 的方法。 为了安全起见,推荐将 'PAYPAL_ACCESS_TOKEN' 设置为系统环境变量,而不是硬编码在配置文件中。
    • '"PAYPAL_ENVIRONMENT": "SANDBOX"': [可选] 指定 PayPal API 的环境。 '"SANDBOX"' 表示使用 PayPal Sandbox 测试环境, '"PRODUCTION"' 表示使用生产环境。 默认为 '"SANDBOX"'。 你需要根据实际需求选择环境。

注意:

  • 请务必替换 '"YOUR_PAYPAL_ACCESS_TOKEN"' 为你的有效 PayPal Access Token。
  • 你可以选择将 'PAYPAL_ACCESS_TOKEN' 直接写在配置文件中,或者设置为系统环境变量,MCP 服务器会自动读取环境变量。
  • 'PAYPAL_ENVIRONMENT' 环境变量或配置参数用于指定 PayPal API 环境,请根据你的需求设置为 '"SANDBOX"' (测试) 或 '"PRODUCTION"' (生产)。

基本使用方法

  1. 启动 MCP 服务器: 当你配置好 MCP 客户端并添加了上述服务器配置后,MCP 客户端通常会自动或手动连接到 MCP 服务器。 启动命令实际上是 MCP 客户端在需要使用 PayPal 功能时,通过 'npx' 动态运行 '@paypal/mcp' 包。

  2. 在 MCP 客户端中使用 PayPal 工具: 连接成功后,你可以在 MCP 客户端中,通过自然语言指令或特定操作来调用 PayPal 提供的工具。 例如,在 Claude Desktop 中,你可以直接提问:

    List my PayPal invoices

    客户端会将你的请求转换为对 MCP 服务器的工具调用,服务器执行相应的 PayPal API 操作,并将结果返回给客户端,最终呈现给你。

示例命令 (直接运行 MCP 服务器,用于测试或调试):

你也可以在命令行中直接运行 MCP 服务器进行测试:

npx -y @paypal/mcp --tools=all PAYPAL_ACCESS_TOKEN="YOUR_ACCESS_TOKEN" PAYPAL_ENVIRONMENT="SANDBOX"

替换 '"YOUR_ACCESS_TOKEN"' 为你的 PayPal Access Token。 这个命令会在你的终端中启动 MCP 服务器,并输出日志信息。 但通常情况下,MCP 服务器是由 MCP 客户端按需启动和管理的。

服务器信息