使用说明

项目简介

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 客户端按需启动和管理的。

信息

分类

商业系统