Skip to main content
Glama
paypal
by paypal
tool.py1.35 kB
""" Tool for interacting with the PayPal API. """ from __future__ import annotations import json from typing import Any, Optional, Type from pydantic import BaseModel from langchain.tools import BaseTool from ..shared.api import PayPalAPI class PayPalTool(BaseTool): """ A LangChain-compatible tool that wraps a PayPal API method call. Attributes: paypal_api (PayPalAPI): An instance of the PayPal API client. method (str): The method name to invoke on the PayPal API. name (str): Human-readable name of the tool. description (str): Description of what the tool does. args_schema (Optional[Type[BaseModel]]): Optional argument schema for validation. """ paypal_api: PayPalAPI method: str name: str = "" description: str = "" args_schema: Optional[Type[BaseModel]] = None def _run(self, *args: Any, **kwargs: Any) -> str: """ Executes the configured PayPal API method. Returns: str: The result from the PayPal API, or an error message. """ try: return self.paypal_api.run(self.method, kwargs) except Exception as e: return f"Error executing PayPalTool '{self.method}': {str(e)}" def __repr__(self): return f"<PayPalTool name={self.name}, method={self.method}>"

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/paypal/agent-toolkit'

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