Skip to main content
Glama
Fewsats

Fewsats MCP Server

Official
by Fewsats

pay_offer

Process payments for specific offers using L402 payment protocol data. Submit offer details and payment context to complete transactions through the Fewsats payment system.

Instructions

Pays an offer_id from the l402_offers.

The l402_offer parameter must be a dict with this structure:
{
    'offers': [
        {
            'id': 'test_offer_2',        # String identifier for the offer
            'amount': 1,                 # Numeric cost value
            'currency': 'usd',           # Currency code
            'description': 'Test offer', # Text description
            'title': 'Test Package'      # Title of the package
        }
    ],
    'payment_context_token': '60a8e027-8b8b-4ccf-b2b9-380ed0930283',  # Payment context token
    'payment_request_url': 'https://api.fewsats.com/v0/l402/payment-request',  # Payment URL
    'version': '0.2.2'  # API version
}

Returns payment status response.
If payment status is `needs_review` inform the user he will have to approve it at app.fewsats.com

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
offer_idYes
l402_offerYes

Implementation Reference

  • MCP tool handler for 'pay_offer': decorated function that executes the payment by delegating to Fewsats.pay_offer and handles the response. Includes input schema in docstring.
    @mcp.tool()
    async def pay_offer(offer_id: str, l402_offer: dict) -> str:
        """Pays an offer_id from the l402_offers.
    
        The l402_offer parameter must be a dict with this structure:
        {
            'offers': [
                {
                    'id': 'test_offer_2',        # String identifier for the offer
                    'amount': 1,                 # Numeric cost value
                    'currency': 'usd',           # Currency code
                    'description': 'Test offer', # Text description
                    'title': 'Test Package'      # Title of the package
                }
            ],
            'payment_context_token': '60a8e027-8b8b-4ccf-b2b9-380ed0930283',  # Payment context token
            'payment_request_url': 'https://api.fewsats.com/v0/l402/payment-request',  # Payment URL
            'version': '0.2.2'  # API version
        }
    
        Returns payment status response.
        If payment status is `needs_review` inform the user he will have to approve it at app.fewsats.com"""
        return handle_response(Fewsats().pay_offer(offer_id, l402_offer))
  • Registration of the 'pay_offer' tool using the @mcp.tool() decorator.
    @mcp.tool()
  • Input schema and usage description for the l402_offer parameter in the pay_offer tool docstring.
    """Pays an offer_id from the l402_offers.
    
    The l402_offer parameter must be a dict with this structure:
    {
        'offers': [
            {
                'id': 'test_offer_2',        # String identifier for the offer
                'amount': 1,                 # Numeric cost value
                'currency': 'usd',           # Currency code
                'description': 'Test offer', # Text description
                'title': 'Test Package'      # Title of the package
            }
        ],
        'payment_context_token': '60a8e027-8b8b-4ccf-b2b9-380ed0930283',  # Payment context token
        'payment_request_url': 'https://api.fewsats.com/v0/l402/payment-request',  # Payment URL
        'version': '0.2.2'  # API version
    }
    
    Returns payment status response.
    If payment status is `needs_review` inform the user he will have to approve it at app.fewsats.com"""

Tool Definition Quality

Score is being calculated. Check back soon.

Install Server

Other Tools

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/fewsats-mcp'

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