mcpField
A
A commerce-centric demo featuring Agent Development Kit with Paypal Agent Toolkit via MCPs

A commerce-centric demo featuring Agent Development Kit with Paypal Agent Toolkit via MCPs

本地服务
github.com/gkcngAI 与智能体175 周前更新

关于 A commerce-centric demo featuring Agent Development Kit with Paypal Agent Toolkit via MCPs

这是一个使用 Google ADK 和 PayPal Agent Toolkit 的电商演示,支持对话式售前交流、下单和物流查询。它结合商品推荐与 PayPal 沙盒中的订单及配送操作。

主要功能

  1. 01对话式售前交流
  2. 02根据图片搜索商品
  3. 03创建 PayPal 订单
  4. 04查询订单与配送详情
  5. 05订阅操作

适用场景

  1. 01根据上传图片推荐正式风格商品
  2. 02查询物流跟踪和订单详情
  3. 03通过 PayPal 沙盒下单
  4. 04创建或管理订阅

MCP 相关

该演示通过 MCP 服务将 Google ADK 接入 PayPal Agent Toolkit。MCP 工具涵盖 PayPal 订单、配送和订阅操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

一个以商务为核心的演示:通过 MCP 使用 Agent Development Kit 和 Paypal Agent Toolkit

这个 4 分钟的演示展示了如何通过 MCP 使用 PayPal 的 Agent Toolkit 和 Google 的 Agent Development Kit,快速开展对话式售前互动。

Paypal Sandbox

在 developer.paypal.com 注册后,你可以设置多个应用,每个应用都附带:

  • 供应用调用 API 的 Client ID 和 Secret Key。
  • 一个沙盒账户,包含可用于登录 sandbox.paypal.com 的邮箱和密码。
  • 沙盒账户包含可用于测试交易的测试信用卡、地址和银行详细信息。

使用 Paypal API 的注意事项

可用 API

这些 API 主要面向商家,共有 25 个 API,涵盖:

  • 争议
  • 发票
  • 订单
  • 订阅
  • 物流跟踪
  • 交易

本演示中

本演示仅使用以下 API,它们已经过测试并确认可正常运行。 演示中仅包含订单和物流:

  • 'orders.create',
  • 'orders.get',
  • 'orders.capture',
  • 'shipment.create',
  • 'shipment.get',
  • 'subscriptions.create',
  • 'subscriptions.show',
  • 'subscriptions.cancel'
图片描述

请参阅 arch/paypal_mcp_adk_a2a.svg,了解演示结尾提到远程 Agent 的部分。 这些外部 Agent 可以单独定义,代码也存放在别处;但借助 A2A,你的 Agent 可以利用这些外部 Agent 的智能为客户提供服务,而无需了解它们是如何构建的。

API 依赖关系

以下是 API 之间的依赖关系和操作注意事项:

  • 创建订单会返回一个付款 URL,供用户登录并手动付款。
  • 只有在消费者完成交易后,调用订单捕获才会成功。
  • 商家调用接受争议申诉之前,必须先由用户在沙盒环境中创建争议。
  • 只有事先创建了产品和订阅计划,才能创建订阅。
  • list_transactions 显示最新交易时会有延迟。

设置

Python 包

需要 Google ADK 0.3.0+:

python3 -m venv ~/.ppmcp_adk
source ~/.ppmcp_adk/bin/activate
pip install "google-adk==0.3.0"
pip install "google-cloud-aiplatform==1.90.0"

或者,如果你更倾向于使用 poetry:

poetry install

MCP 客户端

从 Node.js 网站安装 nodejs 和 npx

确保配置类似以下内容,使 node 和 npx 位于 PATH 中:

$ which node
/Users/USERNAME/.nvm/versions/node/v22.14.0/bin/node

$ which npx
/Users/USERNAME/.nvm/versions/node/v22.14.0/bin/npx

配置

将 'env.example' 复制为 '.env' 并设置 '.env` 文件:

  • 填入以下任一项:你的 Google API Key,或你的 Google Cloud Project ID 和 Location
  • 找到并填入 Paypal Sandbox PAYPAL_CLIENT_ID 和 PAYPAL_SECRET

填入 Paypal 沙盒中实际存在的订单信息:

  • 在 paypal_mcp_agent/util.py 中的函数 load_user_profile() 内。
  • 修改 user_profile 和 orders 字典。 这些数据会在 before_agent_callback 期间加载。

运行 ADK Developer UI

  1. 在工作目录 pp_mcp_adk 中运行 adk web,该目录下需有 .env 文件。
  2. 你会看到 INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
  3. 在浏览器中访问 http://localhost:8000/dev-ui?app=paypal_mcp_agent

示例交互

[用户]:我订购的狗玩具到哪儿了?

[Agent]:[调用 get_shipment_tracking API]

[Agent]:您的 Dido Dog Toy 订单(ID:2RH052419P314283P)已于 2025-04-24 通过 UPS 发货,跟踪号码为 1Z1234567890123456。

[用户]:那也给我看看订单信息吧?

[Agent]:[调用 get_order API]

[Agent]:以下是您的订单信息:

  • 订单 ID:2RH052419P314283P
  • 状态:COMPLETED
  • 商品:Dido Dog Toy
  • 数量:3
  • 总金额:30.00 USD
  • 收货地址:1 Main St,San Jose,CA 95131,US

[用户]:(手动点击聊天框左侧的回形针图标,将绿色连衣裙图片加载到聊天框中。该图片位于 ./paypal_mcp_agent/images,然后说……)推荐一款风格相似、更加正式的款式。

[Agent]:好的,我明白了。您想找一款更正式、但与您发送的图片中的连衣裙风格相似的款式。 ……图片中的连衣裙具有以下特点:

[Agent]:[调用 product_search 工具]

README 配图

……

[Agent]:我找到三款您可能感兴趣的连衣裙:

……

[用户]:我喜欢第二款连衣裙!

[Agent]:太好了……您想订购它吗?

[用户]:是的,就这么办。

[Agent]:[调用 create_order API]

[Agent]:您的 Floral Mermaid Summer Dress 订单已下单!

订单详情如下:

订单 ID:7EK45304FF8688429
商品名称:Floral Mermaid Summer Dress
价格:220 USD
付款链接:https://www.sandbox.paypal.com/checkoutnow?token=7EK45304FF8688429
README 配图

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。