Skip to main content
Glama

agora_get_payment_offers

Retrieve payment options for Agora products using product details, shipping address, and user information to generate L402-compatible offers.

Instructions

Get the payment offers for a product in Agora. Some products do not have variants, in such cases use the product_id as variant_id too. Before calling this tool, check if the user has already provided the shipping address and user information. Otherwise, ask the user for the shipping address and user information. If the user does not provide an `addressName`, use the `firstname` and `lastname` to populate it. Args: slug: The product slug. product_id: The product ID as str delimited by escaped double quotes variant_id: The product variant ID as str delimited by escaped double quotes quantity: The quantity to purchase. shipping_address: The shipping address. user: The user information. Example: product_id = "\"1234567890\"" variant_id = "\"1234567890\"" shipping_address = { "addressName": "John Doe", "addressFirst": "123 Main St", "city": "New York", "state": "NY", "country": "US", "zipCode": "10001" } user = { "firstname": "John", "lastname": "Doe", "email": "john@example.com", } Returns: L402 offer that can be paid by L402-compatible clients.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYes
product_idYes
variant_idYes
shipping_addressYes
userYes
quantityNo

Implementation Reference

  • The handler function for the 'agora_get_payment_offers' tool. It is decorated with @mcp.tool() for registration and implements the core logic by invoking Agora's buy_now method with provided parameters and handling the response.
    @mcp.tool() async def agora_get_payment_offers(slug: str, product_id: str , variant_id: str, shipping_address: Dict, user: Dict, quantity: int = 1) -> Dict: """ Get the payment offers for a product in Agora. Some products do not have variants, in such cases use the product_id as variant_id too. Before calling this tool, check if the user has already provided the shipping address and user information. Otherwise, ask the user for the shipping address and user information. If the user does not provide an `addressName`, use the `firstname` and `lastname` to populate it. Args: slug: The product slug. product_id: The product ID as str delimited by escaped double quotes variant_id: The product variant ID as str delimited by escaped double quotes quantity: The quantity to purchase. shipping_address: The shipping address. user: The user information. Example: product_id = "\\"1234567890\\"" variant_id = "\\"1234567890\\"" shipping_address = { "addressName": "John Doe", "addressFirst": "123 Main St", "city": "New York", "state": "NY", "country": "US", "zipCode": "10001" } user = { "firstname": "John", "lastname": "Doe", "email": "john@example.com", } Returns: L402 offer that can be paid by L402-compatible clients. """ response = get_agora().buy_now( slug=slug, product_id=product_id, variant_id=variant_id, quantity=quantity, shipping_address=shipping_address, user=user ) return handle_response(response)

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/Fewsats/agora-mcp'

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