Server Configuration
Describes the environment variables required to run the server.
Name | Required | Description | Default |
---|---|---|---|
No arguments |
Schema
Prompts
Interactive templates invoked by user choice
Name | Description |
---|---|
No prompts |
Resources
Contextual data attached and managed by the client
Name | Description |
---|---|
No resources |
Tools
Functions exposed to the LLM to take actions
Name | Description |
---|---|
search | Search for available domains matching the query.
Returns search results with available/unavailable domains, their prices in USD cents, and a search ID needed for purchase requests.
The query can be a full domain name with or without the TLD but not subdomains or text.
Valid queries:
- "example"
- "example.com"
- "my-domain"
Invalid queries:
- "www.example.com" # no subdomains
- "this is a search" # no spaces
- "sub.domain.com" # no subdomains |
claim_account | Links an email address to an AI agent's account for web interface access and account recovery.
Important notes:
- Only accounts without an existing email can be linked
- Each email can only be linked to one account
- This method is rarely needed since emails are also set during domain registration |
set_contact_information | Set the contact information that will be used for domain purchases and ICANN registration.
Contact information must be set before attempting any domain purchases.
All fields are required:
first_name: First name
last_name: Last name
email: Email address
address: Street address
city: City
state: Two-letter state code for US/Canada (e.g., 'CA', 'NY') or province name (e.g., 'Madrid')
postal_code: Postal code
country: Two-letter country code ('US', 'ES', 'FR') |
get_contact_information | Retrieve the currently configured contact information that will be used for domain purchases and ICANN registration. |
get_purchase_offers | Request available payment options for a domain.
This method returns an L402 offer, which includes details such as offer_id, amount, currency, and more.
The returned offer can be processed by any tool supporting L402 offers.
The TLD .ai mandates a minimum registration and renewal period of two years. So inform the user that they need to purchase a 2 year package when they request a .ai domain.
The L402 offer structure:
{
'offers': [
{
'offer_id': 'example_offer_id', # String identifier for the offer
'amount': 100, # Numeric cost value in USD cents
'currency': 'usd', # Currency code
'description': 'Example offer', # Text description
'title': 'Example Package' # Title of the package
}
],
'payment_context_token': 'example_token', # Payment context token
'payment_request_url': 'https://api.example.com/payment-request', # Payment URL
'version': '0.2.2' # API version
}
sid: Search ID from a previous search request
domain: Domain name to purchase from the search results related to `sid` |
domains | List domains owned by the authenticated user.
Each domain object contains:
id (str): Unique domain identifier (domain_id in other methods)
domain_name (str): The registered domain name
created_at (str): ISO timestamp of domain creation
expires_at (str): ISO timestamp of domain expiration
auto_renew (bool): Whether domain is set to auto-renew
locked (bool): Domain transfer lock status
private (bool): WHOIS privacy protection status
nameservers (list): List of nameserver hostnames
status (str): Domain status (e.g. 'active') |
dns_records | Get DNS records for a domain.
domain_id: Domain UUID (e.g: 'd1234567-89ab-cdef-0123-456789abcdef')
Each DNS record contains:
id (str): Unique record identifier
type (str): DNS record type (e.g. 'A', 'CNAME', 'MX', 'TXT')
name (str): DNS record name
value (str): DNS record value
ttl (int): Time to live in seconds |
create_dns | Create a new DNS record for a domain.
domain_id: Domain UUID (e.g., 'd1234567-89ab-cdef-0123-456789abcdef')
type: DNS record type ('A', 'AAAA', 'CNAME', 'MX', 'TXT', etc.)
name: Subdomain or record name (e.g., 'www' creates www.yourdomain.com)
value: Record value (e.g., IP address for A records, domain for CNAME)
ttl: Time To Live in seconds (default: 3600) |
update_dns | Update an existing DNS record for a domain.
NOTE: Updating a record will change its record id.
domain_id: Domain UUID (e.g., 'd1234567-89ab-cdef-0123-456789abcdef')
record_id: DNS record UUID to update
type: DNS record type ('A', 'AAAA', 'CNAME', 'MX', 'TXT', etc.)
name: Subdomain or record name (e.g., 'www' for www.yourdomain.com)
value: New record value (e.g., IP address for A records)
ttl: Time To Live in seconds (default: 3600) |
delete_dns | Delete a DNS record for a domain.
domain_id: Domain UUID (e.g., 'd1234567-89ab-cdef-0123-456789abcdef')
record_id: DNS record ID to delete |