Skip to main content
Glama
UserAd

didlogic_mcp

purchase_did

Acquire a DID (Direct Inward Dialing) number in E164 format. Returns details including SMS capability, channels, costs, activation fees, and required documents for activation.

Instructions

Purchase DID from DIDLogic

Args: number: DID number for purchase in E164 format

Returns a JSON object with purchased DID details where: errors: Errors what happened in purchase process purchases: Array of purchased dids where: id: ID of purchased DID number: number of DID country: Country name area: City name sms_enabled: Is number capable of receiving SMS channels: How many parallel channels have DID free_minutes: How many free minutes per month DID have activation: Activation cost for DID in USD monthly_fee: Monthly fee for DID per_minute: Per minute cost for DID origination_per_min: per minute cost if origin based rate applied requir_docs: required documents for activating number, where: 1 = Any form of ID 2 = Proof of address 3 = Proof of local address codec: what SIP codec is preferred for this number

Example:

{
    "purchase": {
        "errors": {},
        "purchases": [
            {
                "id": 728070,
                "number": "17806999999",
                "sms_enabled": false,
                "no_local_cli": false,
                "channels": 4,
                "country": "Canada",
                "area": "Edmonton, AB",
                "free_minutes": 0,
                "codec": "G711",
                "require_docs": "",
                "activation": 1.0,
                "monthly_fee": 1.0,
                "per_minute": 0.01,
                "origination_per_min": 0.0
            }
        ]
    }
}

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
numberYesDID number for purchase

Implementation Reference

  • The purchase_did tool handler function, registered via @mcp.tool() decorator. It takes a DID number, calls the DIDLogic purchase API endpoint, and returns the response as text. The input schema is defined using Pydantic Field.
    @mcp.tool()
    async def purchase_did(
        ctx: Context,
        number: str | int = Field(
            description="DID number for purchase"
        )
    ) -> str:
        """
            Purchase DID from DIDLogic
    
            Args:
                number: DID number for purchase in E164 format
    
            Returns a JSON object with purchased DID details where:
                errors: Errors what happened in purchase process
                purchases: Array of purchased dids where:
                    id: ID of purchased DID
                    number: number of DID
                    country: Country name
                    area: City name
                    sms_enabled: Is number capable of receiving SMS
                    channels: How many parallel channels have DID
                    free_minutes: How many free minutes per month DID have
                    activation: Activation cost for DID in USD
                    monthly_fee: Monthly fee for DID
                    per_minute: Per minute cost for DID
                    origination_per_min: per minute cost if origin based rate applied
                    requir_docs: required documents for activating number, where:
                        1 = Any form of ID
                        2 = Proof of address
                        3 = Proof of local address
                    codec: what SIP codec is preferred for this number
    
            Example:
            ```
            {
                "purchase": {
                    "errors": {},
                    "purchases": [
                        {
                            "id": 728070,
                            "number": "17806999999",
                            "sms_enabled": false,
                            "no_local_cli": false,
                            "channels": 4,
                            "country": "Canada",
                            "area": "Edmonton, AB",
                            "free_minutes": 0,
                            "codec": "G711",
                            "require_docs": "",
                            "activation": 1.0,
                            "monthly_fee": 1.0,
                            "per_minute": 0.01,
                            "origination_per_min": 0.0
                        }
                    ]
                }
            }
            ```
        """
        response = await base.call_didlogic_api(
            ctx, "POST",
            "/v2/buy/purchase",
            data={"did_numbers": number}
        )
        return response.text

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/UserAd/didlogic_mcp'

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