返回市场
模型上下文协议

模型上下文协议

作者:paypal170 星标更新:2025-11-22

项目介绍

【技术文档摘要】

PayPal 模型上下文协议

PayPal 模型上下文协议服务器允许您通过函数调用集成PayPal API。此协议支持各种工具与不同的PayPal服务进行交互。

要使用npx运行PayPal MCP服务器,请使用以下命令:

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

YOUR_ACCESS_TOKEN替换为您自己的PayPal访问令牌。有关如何生成PayPal访问令牌的信息,请参阅此处。或者,您可以将PAYPAL_ACCESS_TOKEN设置为环境变量。

使用MCP主机(Claude Desktop/Cline/Cursor/GitHub Copilot)

本指南解释了如何将PayPal连接器与Claude Desktop集成。

先决条件

  • 已安装Claude Desktop应用程序
  • 在本地安装Node.js

安装步骤

1. 安装Node.js

PayPal连接器需要Node.js才能正常工作:

  1. 访问Node.js官方网站,下载并安装它。
  2. 要求:Node 18+

2. 配置PayPal连接器与MCP主机(Claude桌面/Cursor/Cline)

我们将展示与Claude桌面的集成。您可以使用您喜欢的MCP主机。

  1. 打开Claude Desktop
  2. 导航到设置
  3. 查找开发者或高级设置部分
  4. 定位外部工具或连接器配置区域
  5. 将以下PayPal连接器配置添加到此~/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"
       }
     }
   }
}

确保将YOUR_PAYPAL_ACCESS_TOKEN替换为您的实际PayPal访问令牌。或者,您可以将PAYPAL_ACCESS_TOKEN设置为环境变量。您也可以在“args”中使用--access-token传递它。 将PAYPAL_ENVIRONMENT值设置为SANDBOX用于阶段测试,PRODUCTION用于生产环境。

  1. 保存您的配置更改

3. 测试集成

  1. 退出并重新启动Claude Desktop以应用更改
  2. 通过要求Claude执行与PayPal相关的任务来测试连接
    • 示例:"列出我的PayPal发票"

可用工具

发票

  • create_invoice:在PayPal系统中创建新的发票
  • list_invoices:列出带有可选分页和过滤的发票
  • get_invoice:检索特定发票的详细信息
  • send_invoice:将发票发送给收件人
  • send_invoice_reminder:为现有发票发送提醒
  • cancel_sent_invoice:取消已发送的发票
  • generate_invoice_qr_code:为发票生成二维码

支付

  • create_order:根据提供的详细信息在PayPal系统中创建订单
  • get_order:检索订单的详细信息
  • pay_order:处理授权订单的付款
  • create_refund:处理捕获付款的退款
  • get_refund:获取特定退款的详细信息

争议管理

  • list_disputes:检索所有开放争议的摘要
  • get_dispute:检索特定争议的详细信息
  • accept_dispute_claim:接受争议索赔

运输跟踪

  • create_shipment_tracking:创建运输跟踪记录
  • get_shipment_tracking:检索运输跟踪信息

目录管理

  • create_product:在PayPal目录中创建新产品
  • list_products:列出带有可选分页和过滤的产品
  • show_product_details:检索特定产品的详细信息
  • update_product:更新现有产品

订阅管理

  • create_subscription_plan:创建新的订阅计划
  • update_plan:更新现有计划
  • list_subscription_plans:列出订阅计划
  • show_subscription_plan_details:检索特定订阅计划的详细信息
  • create_subscription:创建新的订阅
  • show_subscription_details:检索特定订阅的详细信息
  • update_subscription:更新现有订阅
  • cancel_subscription:取消活动订阅

报告和洞察

  • list_transactions:列出带有可选分页和过滤的交易

环境变量

可以使用以下环境变量:

  • PAYPAL_ACCESS_TOKEN:您的PayPal访问令牌
  • PAYPAL_ENVIRONMENT:设置为SANDBOX用于沙盒模式,PRODUCTION用于生产(默认为SANDBOX模式)

本指南解释了如何为PayPal API集成生成访问令牌,包括如何找到您的客户端ID和客户端密钥。

先决条件

  • PayPal开发者账户(用于沙盒)
  • PayPal商业账户(用于生产)

查找您的客户端ID和客户端密钥

  1. 创建PayPal开发者账户

  2. 访问您的凭证

    • 在开发者仪表板中,点击菜单中的应用和凭证
    • 根据需要在沙盒实时模式之间切换
  3. 创建或查看应用

    • 要创建新应用,请点击创建应用
    • 给您的应用命名,并选择一个关联的业务账户
    • 对于现有应用,点击应用名称以查看详细信息
  4. 检索凭证

    • 创建或选择应用后,您会看到一个包含以下内容的屏幕:
      • 客户端ID:您应用的公共标识符
      • 客户端密钥:私钥(点击“显示”后显示)
    • 安全地保存这些凭证,因为它们是生成访问令牌所必需的

生成访问令牌

使用cURL

curl -v https://api-m.sandbox.paypal.com/v1/oauth2/token \\
  -H \"Accept: application/json\" \\
  -H \"Accept-Language: en_US\" \\
  -u \"CLIENT_ID:CLIENT_SECRET\" \\
  -d \"grant_type=client_credentials\"

CLIENT_IDCLIENT_SECRET替换为您的实际凭证。对于生产,使用https://api-m.paypal.com而不是沙盒URL。

使用Postman

  1. 创建一个新的请求到https://api-m.sandbox.paypal.com/v1/oauth2/token
  2. 设置方法为POST
  3. 授权下,选择基本认证并输入您的客户端ID和客户端密钥
  4. 正文下,选择x-www-form-urlencoded并添加键grant_type,值为client_credentials
  5. 发送请求

响应

成功的响应如下所示:

{
  "scope": "...",
  "access_token": "您的访问令牌",
  "token_type": "Bearer",
  "app_id": "APP-80W284485P519543T",
  "expires_in": 32400,
  "nonce": "..."
}

复制access_token值以用于您的Claude Desktop集成。

令牌详情

  • 沙盒令牌:有效期3-8小时
  • 生产令牌:有效期8小时
  • 建议在过期前实现令牌刷新逻辑

使用令牌与Claude Desktop

一旦您有了访问令牌,请更新Claude Desktop连接器配置中的PAYPAL_ACCESS_TOKEN值:

{
  "env": {
    "PAYPAL_ACCESS_TOKEN": "YOUR_NEW_ACCESS_TOKEN",
    "PAYPAL_ENVIRONMENT": "SANDBOX"
  }
}

最佳实践

  1. 安全存储客户端ID和客户端密钥
  2. 实现令牌刷新逻辑以处理令牌过期
  3. 使用环境特定的令牌(沙盒用于测试,生产用于真实交易)
  4. 避免在应用程序代码中硬编码令牌

免责声明

@paypal/mcp 提供可能不准确或不完整的AI生成内容。用户需独立验证任何信息,不应依赖于此。PayPal不对输出准确性做出保证,也不对使用其产生的任何决策、行动或后果负责。