Skip to main content
Glama
imazhar101

@imazhar101/paypal-mcp

by imazhar101

@imazhar101/paypal-mcp

A lite Model Context Protocol server for PayPal.

Unlike PayPal's official @paypal/mcp (which pulls in the entire LangChain / Vercel-AI agent-toolkit and expects a pre-minted, short-lived access token), this server is intentionally small:

  • No heavy dependencies — just @modelcontextprotocol/sdk + zod. Calls the PayPal REST API directly with fetch.

  • Owns its token lifecycle — you give it a durable client id + secret; it mints, caches, and refreshes the client_credentials access token itself. Proactive refresh (expiry skew) + reactive refresh (re-mint + retry once on a 401). A long-lived host (e.g. an MCP gateway) can spawn one child per merchant with only the static client-id/secret in its env and never babysit token expiry.

  • Read-only by default — this server handles money. Write/refund/payout tools are not registered unless you opt in with PAYPAL_READONLY=0.

Install

npm install -g @imazhar101/paypal-mcp

Related MCP server: PayPal MCP Server

Configure

Env var

Required

Default

Notes

PAYPAL_CLIENT_ID

yes

PayPal REST app client id

PAYPAL_CLIENT_SECRET

yes

PayPal REST app secret

PAYPAL_ENVIRONMENT

no

SANDBOX

SANDBOX or PRODUCTION

PAYPAL_READONLY

no

1

1/true = read tools only; 0 = also write tools

Create a REST app and obtain credentials at the PayPal Developer Dashboard. The app must have the relevant features enabled (Invoicing, Transaction Search, etc.) or those tools will return 403 NOT_AUTHORIZED.

Run (stdio)

PAYPAL_CLIENT_ID=... PAYPAL_CLIENT_SECRET=... PAYPAL_ENVIRONMENT=SANDBOX paypal-mcp

Claude Code / MCP client config

{
  "mcpServers": {
    "paypal": {
      "command": "npx",
      "args": ["-y", "@imazhar101/paypal-mcp"],
      "env": {
        "PAYPAL_CLIENT_ID": "...",
        "PAYPAL_CLIENT_SECRET": "...",
        "PAYPAL_ENVIRONMENT": "SANDBOX"
      }
    }
  }
}

Tools

Read-only (always registered):

Tool

PayPal API

paypal_verify_connection

mints a token; reports environment

paypal_list_transactions

GET /v1/reporting/transactions

paypal_get_balances

GET /v1/reporting/balances

paypal_list_invoices

GET /v2/invoicing/invoices

paypal_get_invoice

GET /v2/invoicing/invoices/{id}

paypal_get_order

GET /v2/checkout/orders/{id}

paypal_get_capture

GET /v2/payments/captures/{id}

paypal_list_disputes

GET /v1/customer/disputes

paypal_get_dispute

GET /v1/customer/disputes/{id}

paypal_list_plans

GET /v1/billing/plans

paypal_get_subscription

GET /v1/billing/subscriptions/{id}

Write tools (create/send invoice, refund, …) are a deliberate follow-up gated behind PAYPAL_READONLY=0.

License

MIT

Available Tools

11 tools
paypal_get_balancesA

Get current (or as-of) account balances by currency.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_of_timeNoOptional ISO-8601 point in time
currency_codeNoOptional ISO-4217 code, e.g. USD

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits like read-only nature, authentication needs, or latency. The minimal description does not mention these, nor any limitations or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is front-loaded and contains no extraneous words. Every element serves a purpose, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with two optional parameters and no output schema, the description provides minimal but adequate information. It lacks return value details or any caveats, but is sufficient for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds useful context: 'current' vs 'as-of' relates to as_of_time, and 'by currency' clarifies the currency_code filter. This adds value beyond the schema's basic type hints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves account balances by currency, with an option for current or as-of time. It is the only balance-related tool among siblings, making it distinct and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternative PayPal tools (e.g., for transactions or invoices). The agent is left to infer context from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

paypal_get_captureB

Get a captured payment by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
capture_idYesThe capture id

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description must disclose behavioral traits. It only states the action, omitting details like authorization requirements, rate limits, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no superfluous words. It is perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description could mention what data is returned (e.g., capture details). It is minimally complete for a simple read operation but lacks return information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter, so the description adds no extra meaning. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'a captured payment by id', distinguishing it from sibling tools that retrieve other entities like orders or subscriptions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as paypal_get_order. The description lacks context for optimal usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

paypal_get_disputeB

Get a dispute by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
dispute_idYesThe dispute id

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states the basic operation without disclosing any behavioral traits like authentication, rate limits, error handling, or what happens if the dispute is not found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It is front-loaded and immediately communicates the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (one parameter, no output schema), the description is minimally adequate. However, it lacks information on return values, error cases, or performance considerations, which could be helpful given the number of sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the only parameter 'dispute_id' has a description). The tool description does not add any additional meaning beyond what the schema already provides, so the base score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the action 'get', the resource 'dispute', and the identifier 'by id'. It clearly distinguishes from sibling tools like paypal_list_disputes and other get tools for different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as paypal_list_disputes. There is no mention of prerequisites, use cases, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

paypal_get_invoiceA

Get a single invoice by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
invoice_idYesThe invoice id, e.g. INV2-XXXX-XXXX-XXXX-XXXX

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It only indicates a read operation but does not disclose error handling, authentication requirements, or rate limits. For a simple retrieval tool, this is minimally adequate but lacking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence without any fluff, clearly conveying the core functionality. It is concise and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (one parameter, no output schema), the description is somewhat complete but lacks details about return values or possible errors. The absence of an output schema leaves the agent without knowledge of the response structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with the single parameter well-described in the schema. The description does not add meaning beyond what the schema provides, so baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (get), resource (invoice), and the method of identification (by id). It distinguishes itself from siblings like paypal_list_invoices which retrieves multiple invoices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs. alternatives like paypal_list_invoices or paypal_get_order. The description lacks context on prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

paypal_get_orderB

Get a checkout order by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesThe order id

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description is minimal and doesn't disclose whether the operation is read-only, has side effects, or any other behavioral context beyond retrieving an order.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise single sentence with no wasted words, effectively communicating the essential action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple get operation with one parameter and no output schema, the description is adequately complete, though it could mention the return value type.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear parameter description; the tool description adds 'by id' but doesn't enhance meaning beyond the schema, so baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool retrieves a checkout order by ID, using specific verb 'Get' and resource 'checkout order', distinguishing it from siblings like get_capture or get_dispute.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives, no mention of prerequisites or conditions; the description merely states the function.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

paypal_get_subscriptionB

Get a subscription by id.

ParametersJSON Schema
NameRequiredDescriptionDefault
subscription_idYesThe subscription id, e.g. I-XXXXXXXXXXXX

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. The description only states the action but does not disclose any behavioral traits such as return format, authentication needs, or potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, highly concise and front-loaded. While it is extremely brief, it effectively communicates the core purpose with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and no annotations. With only one parameter, the description is minimal and does not explain what the tool returns or any other contextual information. For a simple get operation, it partially meets needs but lacks completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter, which already documents subscription_id as 'The subscription id, e.g. I-XXXXXXXXXXXX'. The description adds no extra meaning beyond what the schema provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get a subscription by id' clearly states the verb (Get) and resource (subscription) with the method (by id). It distinguishes from siblings like paypal_get_capture or paypal_get_order by specifying the subscription resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. No exclusions, prerequisites, or context for usage are mentioned. The description is purely declarative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

paypal_list_disputesC

List customer disputes.

ParametersJSON Schema
NameRequiredDescriptionDefault
page_sizeNoDefault 50
dispute_stateNoOptional filter, e.g. OPEN_INQUIRIES, REQUIRED_ACTION

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It does not disclose pagination behavior (though page_size parameter exists), default settings, rate limits, or output format. Only the basic listing action is mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. However, it could be structured to include more detail without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 2 parameters, no output schema, and sibling tools with similar names, the description is incomplete. It lacks information about pagination, filtering, and return values, which are critical for a listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions. It does not explain the purpose of parameters in the context of the tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists customer disputes, which is a specific verb+resource. However, it does not explicitly differentiate it from the sibling tool 'paypal_get_dispute' which retrieves a single dispute, but the name itself implies listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like paypal_get_dispute or other listing tools. The agent is left to infer based on the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

paypal_list_invoicesB

List invoices (paginated).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoDefault 1
page_sizeNoDefault 20
total_requiredNoInclude total count; default true

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only mentions pagination but fails to disclose other behavioral traits like rate limits, auth requirements, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise at three words; no wasted text, though could be expanded slightly for clarity without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple paginated list tool, description covers purpose but lacks output format or ordering info; no output schema to compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all three parameters, so the description adds no additional parameter meaning beyond what the schema already provides. Baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (List) and resource (invoices) and distinguishes from siblings like paypal_get_invoice (single invoice) and other list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives (e.g., paypal_get_invoice for a single invoice) or any context for invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

paypal_list_plansB

List billing (subscription) plans.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoDefault 1
page_sizeNoDefault 20
product_idNoOptional product id filter

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only states 'List billing (subscription) plans' without disclosing behavioral traits such as pagination, filtering behavior, or data returned. For a list tool with no annotations, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (4 words) and front-loaded, containing no wasted words. However, it could be slightly more informative without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (3 optional params, no output schema, no annotations), the description is too minimal. It fails to explain return format or any constraints beyond the schema, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all three parameters. The description adds no additional meaning beyond what the schema already provides, meeting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'List billing (subscription) plans' clearly specifies the action (list) and resource (plans), distinguishing it from siblings like 'paypal_get_subscription' which gets a single plan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for listing plans but provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

paypal_list_transactionsB

Search transactions in a date range (Transaction Search API). start_date and end_date are required ISO-8601 timestamps and must be <= 31 days apart.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoDefault 1
end_dateYesISO-8601 end, e.g. 2026-06-27T23:59:59-0700
page_sizeNoDefault 100
start_dateYesISO-8601 start, e.g. 2026-06-01T00:00:00-0700
transaction_statusNoOptional filter, e.g. S (success), P (pending), V (reversed)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully cover behavioral traits. It only gives parameter constraints but omits crucial details like pagination behavior, error handling, rate limits, or whether the operation is read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no unnecessary words. It is front-loaded with the core purpose and immediately gives key usage constraints.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters and no output schema, the description is too brief. It fails to explain pagination, filtering, or expected return structure. The date range constraint is helpful, but overall completeness is low.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description's value-add is limited. It adds clarity about the ISO-8601 format and the 31-day separation constraint for required fields, but does not elaborate on optional parameters (page, page_size, transaction_status).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Search transactions' and the resource 'in a date range', matching the tool name 'paypal_list_transactions'. It is specific and distinct from sibling tools which deal with other resources or single-item lookups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies required parameters (start_date, end_date) and a key constraint (date range <= 31 days). However, it does not provide guidance on when to use this tool vs. alternatives like paypal_list_invoices or paypal_list_disputes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

paypal_verify_connectionA

Verify the configured PayPal credentials by minting an access token. Returns the environment (SANDBOX/PRODUCTION). Use this to confirm the connection works.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explains the tool's behavior (minting an access token, returning environment) without annotations. It adds value by specifying the return value and the action, which is adequate for a zero-parameter tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no wasted words. The first sentence states the action and output, the second provides usage guidance. Excellent structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output-schema verification tool, the description is complete. It explains what it does, what it returns, and when to use it. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is 100%. The description does not need to add parameter meaning; baseline 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: verifying PayPal credentials by minting an access token and returning the environment. It distinguishes itself from sibling tools (e.g., paypal_get_balances) that retrieve data rather than verify connections.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this to confirm the connection works,' providing clear usage context. While it doesn't mention when not to use it, the sibling tools list implies this is for initial verification, which is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 11 tool updatesv0.1.0
    • First observedpaypal_get_balances
    • First observedpaypal_get_capture
    • First observedpaypal_get_dispute
    • First observedpaypal_get_invoice
    • First observedpaypal_get_order
    • First observedpaypal_get_subscription
    • First observedpaypal_list_disputes
    • First observedpaypal_list_invoices
    • First observedpaypal_list_plans
    • First observedpaypal_list_transactions
    • First observedpaypal_verify_connection

TDQS

A3.5/5.0
Disambiguation5/5

Each tool targets a distinct resource or action (e.g., get_ vs list_), and all resource types are clearly separated (balances, captures, disputes, invoices, orders, subscriptions, plans, transactions). No two tools have overlapping purposes.

Naming Consistency5/5

All tools follow a consistent 'paypal_verb_noun' pattern in snake_case, with clear verbs like get, list, and verify. No mixing of conventions or vague verbs.

Tool Count5/5

With 11 tools, the server covers a reasonable breadth of PayPal operations without being excessive. Each tool addresses a clear use case, and the count feels appropriate for a focused integration.

Completeness2/5

The server is entirely read-only except for credentials verification. Missing create, update, or delete operations for any resource (e.g., orders, invoices, disputes) severely limits its utility for typical payment workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that provides comprehensive integration with PayPal's APIs, enabling seamless interaction with payment processing, invoicing, subscription management, and business operations through a standardized interface.
    7
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A server that provides integration with PayPal's APIs, enabling seamless interaction with payment processing, invoicing, subscription management, and business operations through a standardized interface.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    This read-only MCP Server allows you to connect to PayPal data from Claude Desktop through CData JDBC Drivers. Free (beta) read/write servers available at https://www.cdata.com/solutions/mcp
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/imazhar101/paypal-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server