コンテンツにスキップ

ADK 向け PayPal MCP ツール

Supported in ADKPythonTypeScript

PayPal MCP Server は ADK エージェントを PayPal エコシステムへ接続します。 この連携により、エージェントは自然言語で決済、請求書、 サブスクリプション、紛争 (dispute) を管理でき、 自動化されたコマースワークフローとビジネス洞察を実現できます。

ユースケース

  • 財務オペレーションの効率化: コンテキストを切り替えずにチャットから 注文作成、請求書送信、返金処理を直接実行できます。 例: "クライアント X に請求"、"注文 Y を返金"。

  • サブスクリプションと商品管理: 商品作成、プラン設定、 購読者管理まで、継続課金ライフサイクル全体を自然言語で処理します。

  • 課題解決とパフォーマンス追跡: 紛争請求の要約/承認、 配送状況追跡、マーチャントインサイト取得により、その場でデータ駆動の意思決定を行えます。

前提条件

エージェントで使う

from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
from mcp import StdioServerParameters

PAYPAL_ENVIRONMENT = "SANDBOX"  # Options: "SANDBOX" or "PRODUCTION"
PAYPAL_ACCESS_TOKEN = "YOUR_PAYPAL_ACCESS_TOKEN"

root_agent = Agent(
    model="gemini-2.5-pro",
    name="paypal_agent",
    instruction="Help users manage their PayPal account",
    tools=[
        McpToolset(
            connection_params=StdioConnectionParams(
                server_params=StdioServerParameters(
                    command="npx",
                    args=[
                        "-y",
                        "@paypal/mcp",
                        "--tools=all",
                        # (Optional) Specify which tools to enable
                        # "--tools=subscriptionPlans.list,subscriptionPlans.show",
                    ],
                    env={
                        "PAYPAL_ACCESS_TOKEN": PAYPAL_ACCESS_TOKEN,
                        "PAYPAL_ENVIRONMENT": PAYPAL_ENVIRONMENT,
                    }
                ),
                timeout=300,
            ),
        )
    ],
)
from google.adk.agents import Agent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import SseConnectionParams

PAYPAL_MCP_ENDPOINT = "https://mcp.sandbox.paypal.com/sse"  # Production: https://mcp.paypal.com/sse
PAYPAL_ACCESS_TOKEN = "YOUR_PAYPAL_ACCESS_TOKEN"

root_agent = Agent(
    model="gemini-2.5-pro",
    name="paypal_agent",
    instruction="Help users manage their PayPal account",
    tools=[
        McpToolset(
            connection_params=SseConnectionParams(
                url=PAYPAL_MCP_ENDPOINT,
                headers={
                    "Authorization": f"Bearer {PAYPAL_ACCESS_TOKEN}",
                },
            ),
        )
    ],
)
import { LlmAgent, MCPToolset } from "@google/adk";

const PAYPAL_ENVIRONMENT = "SANDBOX"; // Options: "SANDBOX" or "PRODUCTION"
const PAYPAL_ACCESS_TOKEN = "YOUR_PAYPAL_ACCESS_TOKEN";

const rootAgent = new LlmAgent({
    model: "gemini-2.5-pro",
    name: "paypal_agent",
    instruction: "Help users manage their PayPal account",
    tools: [
        new MCPToolset({
            type: "StdioConnectionParams",
            serverParams: {
                command: "npx",
                args: [
                    "-y",
                    "@paypal/mcp",
                    "--tools=all",
                    // (Optional) Specify which tools to enable
                    // "--tools=subscriptionPlans.list,subscriptionPlans.show",
                ],
                env: {
                    PAYPAL_ACCESS_TOKEN: PAYPAL_ACCESS_TOKEN,
                    PAYPAL_ENVIRONMENT: PAYPAL_ENVIRONMENT,
                },
            },
        }),
    ],
});

export { rootAgent };

Note

トークン有効期限: PayPal Access Token の有効時間は 3〜8 時間です。 エージェントが動作しない場合はトークン失効を確認し、必要に応じて再発行してください。 有効期限に対応するトークン更新ロジックの実装を推奨します。

利用可能なツール

カタログ管理

Tool Description
create_product PayPal カタログに新規商品を作成
list_products PayPal カタログ商品一覧
show_product_details 特定商品の詳細表示
update_product 既存商品を更新

紛争管理

Tool Description
list_disputes フィルタ付きで全紛争の要約を取得
get_dispute 特定紛争の詳細取得
accept_dispute_claim 紛争請求を承認し購入者有利で解決

請求書

Tool Description
create_invoice PayPal システムで新規請求書作成
list_invoices 請求書一覧
get_invoice 特定請求書の詳細取得
send_invoice 指定受信者に既存請求書を送信
send_invoice_reminder 既存請求書のリマインダー送信
cancel_sent_invoice 送信済み請求書をキャンセル
generate_invoice_qr_code 請求書 QR コードを生成

支払い

Tool Description
create_order 指定詳細に基づく注文を作成
create_refund 取得済み支払いの返金処理
get_order 特定支払いの詳細取得
get_refund 特定返金の詳細取得
pay_order 承認済み注文の支払いをキャプチャ

レポートとインサイト

Tool Description
get_merchant_insights マーチャント向け BI 指標と分析を取得
list_transactions 全取引一覧を取得

配送追跡

Tool Description
create_shipment_tracking PayPal 取引の配送追跡情報を作成
get_shipment_tracking 特定配送の追跡情報を取得
update_shipment_tracking 特定配送の追跡情報を更新

サブスクリプション管理

Tool Description
cancel_subscription 有効サブスクリプションを解約
create_subscription 新規サブスクリプション作成
create_subscription_plan 新規サブスクリプションプラン作成
update_subscription 既存サブスクリプション更新
list_subscription_plans サブスクリプションプラン一覧
show_subscription_details 特定サブスクリプション詳細表示
show_subscription_plan_details 特定サブスクリプションプラン詳細表示

設定

--tools コマンドライン引数で有効化ツールを制御できます。 これはエージェント権限範囲を制限する際に有用です。

--tools=all で全ツール有効化、または 特定ツール識別子をカンマ区切りで指定できます。

注意: 以下の設定識別子はドット記法 (例: invoices.create) を使用し、 エージェントに公開されるツール名 (例: create_invoice) とは異なります。

Products: products.create, products.list, products.update, products.show

Disputes: disputes.list, disputes.get, disputes.create

Invoices: invoices.create, invoices.list, invoices.get, invoices.send, invoices.sendReminder, invoices.cancel, invoices.generateQRC

Orders & Payments: orders.create, orders.get, orders.capture, payments.createRefund, payments.getRefunds

Transactions: transactions.list

Shipment: shipment.create, shipment.get

Subscriptions: subscriptionPlans.create, subscriptionPlans.list, subscriptionPlans.show, subscriptions.create, subscriptions.show, subscriptions.cancel

追加リソース