1. Conduid
  2. Developer Tools
  3. PayPal
MCP server · Developer Tools

PayPal

PayPal Agent

Unclaimed Apache-2.0 devtools
69Good

Scored 13 hours ago · breakdown

About PayPal

PayPal is an MCP server published by paypal in the Developer Tools category: payPal Agent.

The repository has 195 stars and 120 forks, with the last commit a month ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/paypal/agent-toolkit

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (43)

accept_dispute_claimAccept a dispute claim

Parameters not published.

activate_recurring_seriesActivate a draft recurring invoice series

Parameters not published.

cancel_invoice_auto_reminderCancel all scheduled automatic reminders for an invoice

Parameters not published.

cancel_recurring_seriesCancel an active recurring invoice series

Parameters not published.

cancel_sent_invoiceCancel a sent invoice

Parameters not published.

cancel_subscriptionCancel an active subscription

Parameters not published.

create_conditional_rules_for_invoiceCreate conditional rules for an invoice, such as an early payment discount or automatic cancellation date

Parameters not published.

create_invoiceCreate a new invoice in the PayPal system, including recipient billing details, line items, an invoice note, a custom color theme, an optional shipping cost, and an option to enable PAY_BY_BANK as a payment method

Parameters not published.

create_orderCreate an order in PayPal system based on provided details

Parameters not published.

create_productCreate a new product in the PayPal catalog

Parameters not published.

Show all 43 tools
create_recurring_seriesCreate a recurring invoice series that automatically generates and sends invoices on a schedule

Parameters not published.

create_refundProcess a refund for a captured payment.

Parameters not published.

create_shipment_trackingCreate a shipment tracking record

Parameters not published.

create_subscriptionCreate a new subscription

Parameters not published.

create_subscription_planCreate a new subscription plan

Parameters not published.

delete_invoicePermanently delete a draft or scheduled invoice

Parameters not published.

delete_recurring_seriesDelete a draft recurring invoice series

Parameters not published.

generate_invoice_numberGenerate the next invoice number available to the merchant

Parameters not published.

generate_invoice_qr_codeGenerate a QR code for an invoice

Parameters not published.

get_disputeRetrieve detailed information of a specific dispute

Parameters not published.

get_invoiceRetrieve details of a specific invoice

Parameters not published.

get_merchant_insightsRetrieve business intelligence metrics and analytics for a merchant

Parameters not published.

get_orderRetrieve the details of an order

Parameters not published.

get_recurring_seriesRetrieve details of a specific recurring invoice series

Parameters not published.

get_refundGet the details for a specific refund.

Parameters not published.

get_shipment_trackingRetrieve shipment tracking information

Parameters not published.

list_disputesRetrieve a summary of all open disputes

Parameters not published.

list_invoicesList invoices with optional pagination and filtering

Parameters not published.

list_productsList products with optional pagination and filtering

Parameters not published.

list_subscription_plansList subscription plans

Parameters not published.

list_transactionsList transactions with optional pagination and filtering

Parameters not published.

pay_orderProcess payment for an authorized order

Parameters not published.

record_payment_for_invoiceRecord an external or manual payment against an invoice

Parameters not published.

record_refund_for_invoiceRecord a refund against an invoice

Parameters not published.

search_invoicingSearch for invoices or recurring invoice series

Parameters not published.

send_invoiceSend an invoice to recipients

Parameters not published.

send_invoice_reminderSend a reminder for an existing invoice

Parameters not published.

show_product_detailsRetrieve details of a specific product

Parameters not published.

show_subscription_detailsRetrieve details of a specific subscription

Parameters not published.

show_subscription_plan_detailsRetrieve details of a specific subscription plan

Parameters not published.

update_invoicingUpdate an existing invoice or recurring invoice series (full-replacement)

Parameters not published.

update_shipment_trackingUpdate shipment tracking information

Parameters not published.

update_subscriptionupdate an existing subscription

Parameters not published.

Ask AI

✦

Ask AI about PayPal

Powered by Claude · Grounded in docs

I know everything about PayPal. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 13 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • !Dependencies pinnedNo lockfile. Installs can pull different code over time.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.8.0Release 1.8.0 · 15 Sep 2025Package Links npm: @paypal/agent-toolkit @paypal/mcp PyPI:…
v1.7.0Release 1.7.0 · 29 Aug 2025Package Links npm: @paypal/agent-toolkit @paypal/mcp PyPI:…

README

PayPal Agent Toolkit

The PayPal Agent Toolkit enables popular agent frameworks including OpenAI's Agent SDK, LangChain, Vercel's AI SDK, and Model Context Protocol (MCP) to integrate with PayPal APIs through function calling. It includes support for TypeScript and is built on top of PayPal APIs and the PayPal SDKs.

Available tools

The PayPal Agent toolkit provides the following tools:

Invoices

  • create_invoice: Create a new invoice in the PayPal system, including recipient billing details, line items, an invoice note, a custom color theme, an optional shipping cost, and an option to enable PAY_BY_BANK as a payment method

  • list_invoices: List invoices with optional pagination and filtering

  • get_invoice: Retrieve details of a specific invoice

  • send_invoice: Send an invoice to recipients

  • send_invoice_reminder: Send a reminder for an existing invoice

  • cancel_sent_invoice: Cancel a sent invoice

  • generate_invoice_qr_code: Generate a QR code for an invoice

  • delete_invoice: Permanently delete a draft or scheduled invoice

  • generate_invoice_number: Generate the next invoice number available to the merchant

  • search_invoicing: Search for invoices or recurring invoice series

  • update_invoicing: Update an existing invoice or recurring invoice series (full-replacement)

  • cancel_invoice_auto_reminder: Cancel all scheduled automatic reminders for an invoice

  • record_payment_for_invoice: Record an external or manual payment against an invoice

  • record_refund_for_invoice: Record a refund against an invoice

  • create_conditional_rules_for_invoice: Create conditional rules for an invoice, such as an early payment discount or automatic cancellation date

  • create_recurring_series: Create a recurring invoice series that automatically generates and sends invoices on a schedule

  • activate_recurring_series: Activate a draft recurring invoice series

  • get_recurring_series: Retrieve details of a specific recurring invoice series

  • cancel_recurring_series: Cancel an active recurring invoice series

  • delete_recurring_series: Delete a draft recurring invoice series

Payments

  • create_order: Create an order in PayPal system based on provided details
  • get_order: Retrieve the details of an order
  • pay_order: Process payment for an authorized order
  • create_refund: Process a refund for a captured payment.
  • get_refund: Get the details for a specific refund.

Dispute Management

  • list_disputes: Retrieve a summary of all open disputes
  • get_dispute: Retrieve detailed information of a specific dispute
  • accept_dispute_claim: Accept a dispute claim

Shipment Tracking

  • create_shipment_tracking: Create a shipment tracking record
  • get_shipment_tracking: Retrieve shipment tracking information
  • update_shipment_tracking: Update shipment tracking information

Catalog Management

  • create_product: Create a new product in the PayPal catalog
  • list_products: List products with optional pagination and filtering
  • show_product_details: Retrieve details of a specific product

Subscription Management

  • create_subscription_plan: Create a new subscription plan
  • list_subscription_plans: List subscription plans
  • show_subscription_plan_details: Retrieve details of a specific subscription plan
  • create_subscription: Create a new subscription
  • show_subscription_details: Retrieve details of a specific subscription
  • update_subscription: update an existing subscription
  • cancel_subscription: Cancel an active subscription

Reporting and Insights

  • list_transactions: List transactions with optional pagination and filtering
  • get_merchant_insights: Retrieve business intelligence metrics and analytics for a merchant

TypeScript

Installation

You don't need this source code unless you want to modify the package. If you just want to use the package run:

npm install @paypal/agent-toolkit

Requirements

  • Node 18+

Usage

The library needs to be configured with your account's client id and secret which is available in your PayPal Developer Dashboard.

The toolkit works with Vercel's AI SDK and can be passed as a list of tools. For more details, refer our examples

import { PayPalAgentToolkit } from '@paypal/agent-toolkit/ai-sdk';
const paypalToolkit = new PayPalAgentToolkit({
  clientId: process.env.PAYPAL_CLIENT_ID,
  clientSecret: process.env.PAYPAL_CLIENT_SECRET,
  configuration: {
    actions: {
      invoices: {
        create: true,
        createRecurringSeries: true,
        list: true,
        send: true,
        sendReminder: true,
        cancel: true,
        delete: true,
        generateQRC: true,
        generateInvoiceNumber: true,
        search: true,
        update: true,
        cancelReminders: true,
        recordPayment: true,
        recordRefund: true,
        createConditionalRules: true,
      },
      products: { create: true, list: true, update: true },
      subscriptionPlans: { create: true, list: true, show: true },
      shipment: { create: true, show: true, cancel: true },
      orders: { create: true, get: true },
      disputes: { list: true, get: true },
    },
  },
});

To use sandbox mode, add context within your configuration.

configuration: {
  context: {
    sandbox: true,
  }
}

Initializing the Workflows

import { PayPalWorkflows, ALL_TOOLS_ENABLED } from '@paypal/agent-toolkit/ai-sdk';
const paypalWorkflows = new PayPalWorkflows({
  clientId: process.env.PAYPAL_CLIENT_ID,
  clientSecret: process.env.PAYPAL_CLIENT_SECRET,
  configuration: {
    actions: ALL_TOOLS_ENABLED,
  },
});

Usage

Using the toolkit

const llm: LanguageModelV1 = getModel(); // The model to be used with ai-sdk
const { text: response } = await generateText({
  model: llm,
  tools: paypalToolkit.getTools(),
  maxSteps: 10,
  prompt: `Create an order for $50 for custom handcrafted item and get the payment link.`,
});

Environment Variables

The following environment variables can be used:

  • PAYPAL_ACCESS_TOKEN: Your PayPal Access Token
  • PAYPAL_ENVIRONMENT: Set to SANDBOX for sandbox mode, PRODUCTION for production (defaults to SANDBOX mode)

This guide explains how to generate an access token for PayPal API integration, including how to find your client ID and client secret.

Prerequisites

  • PayPal Developer account (for Sandbox)
  • PayPal Business account (for production)

Finding Your Client ID and Client Secret

  1. Create a PayPal Developer Account:

  2. Access Your Credentials:

    • In the Developer Dashboard, click on Apps & Credentials in the menu
    • Switch between Sandbox and Live modes depending on your needs
  3. Create or View an App:

    • To create a new app, click Create App
    • Give your app a name and select a Business account to associate with it
    • For existing apps, click on the app name to view details
  4. Retrieve Credentials:

    • Once your app is created or selected, you'll see a screen with your:
      • Client ID: A public identifier for your app
      • Client Secret: A private key (shown after clicking "Show")
    • Save these credentials securely as they are required for generating access tokens

Generating an Access Token

Using 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\"

Replace CLIENT_ID and CLIENT_SECRET with your actual credentials. For production, use https://api-m.paypal.com instead of the sandbox URL.

Using Postman

  1. Create a new request to https://api-m.sandbox.paypal.com/v1/oauth2/token
  2. Set method to POST
  3. Under Authorization, select Basic Auth and enter your Client ID and Client Secret
  4. Under Body, select x-www-form-urlencoded and add a key grant_type with value client_credentials
  5. Send the request

Response

A successful response will look like:

{
  "scope": "...",
  "access_token": "Your Access Token",
  "token_type": "Bearer",
  "app_id": "APP-80W284485P519543T",
  "expires_in": 32400,
  "nonce": "..."
}

Copy the access_token value for use in your Claude Desktop integration.

Token Details

  • Sandbox Tokens: Valid for 3-8 hours
  • Production Tokens: Valid for 8 hours
  • It's recommended to implement token refresh logic before expiration

Using the Token with Claude Desktop

Once you have your access token, update the PAYPAL_ACCESS_TOKEN value in your Claude Desktop connector configuration:

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

Best Practices

  1. Store client ID and client secret securely
  2. Implement token refresh logic to handle token expiration
  3. Use environment-specific tokens (sandbox for testing, production for real transactions)
  4. Avoid hardcoding tokens in application code

Disclaimer

AI-generated content may be inaccurate or incomplete. Users are responsible for independently verifying any information before relying on it. PayPal makes no guarantees regarding output accuracy and is not liable for any decisions, actions, or consequences resulting from its use.

README fetched from the repository 13 hours ago. The original is authoritative.

Questions

About PayPal

How do I install PayPal?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is PayPal safe to use with an AI agent?

Its trust score is 69 out of 100 (good). It passes 3 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is PayPal still maintained?

Yes — the last commit was a month ago. The repository has 195 stars and 120 forks and 39 open issues.