使用说明
项目简介
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 的支持。
安装步骤
-
安装 Node.js: 确保你的环境中安装了 Node.js 18 或更高版本。你可以从 Node.js 官网 下载并安装。
-
安装 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"' (生产)。
基本使用方法
-
启动 MCP 服务器: 当你配置好 MCP 客户端并添加了上述服务器配置后,MCP 客户端通常会自动或手动连接到 MCP 服务器。 启动命令实际上是 MCP 客户端在需要使用 PayPal 功能时,通过 'npx' 动态运行 '@paypal/mcp' 包。
-
在 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 客户端按需启动和管理的。
信息
分类
商业系统