check_domains_bulk
Check domain name availability in bulk for up to 50 domains. Uses RDAP lookups to return a summary with total, available, and taken counts per domain.
Instructions
Check availability of up to 50 domain names in one call.
Uses fast RDAP lookups (no pricing). Returns a summary with total/available/taken counts plus per-domain details.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| domains | Yes | List of domain names to check (max 50). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- instadomain/mcp_server.py:56-75 (handler)The 'check_domains_bulk' tool handler: validates input (max 50 domains), then POSTs the domains to the backend /check endpoint via httpx and returns the JSON response.
@mcp.tool() async def check_domains_bulk(domains: list[str]) -> dict: """Check availability of up to 50 domain names in one call. Uses fast RDAP lookups (no pricing). Returns a summary with total/available/taken counts plus per-domain details. Args: domains: List of domain names to check (max 50). """ if len(domains) > BULK_LIMIT: return { "error": f"Too many domains: {len(domains)} provided, maximum is {BULK_LIMIT}.", "limit": BULK_LIMIT, } async with httpx.AsyncClient(base_url=BACKEND_URL, timeout=30) as client: resp = await client.post("/check", json={"domains": domains}) resp.raise_for_status() return resp.json() - instadomain/mcp_server.py:56-57 (registration)The tool is registered with the FastMCP server via the @mcp.tool() decorator on the async function.
@mcp.tool() async def check_domains_bulk(domains: list[str]) -> dict: - instadomain/mcp_server.py:24-24 (helper)The BULK_LIMIT constant (set to 50) is used by the handler to cap the number of domains.
BULK_LIMIT = 50 - instadomain/mcp_server.py:56-57 (schema)Input schema: the tool accepts 'domains: list[str]' as the single parameter. Output is a dict as per return type annotation.
@mcp.tool() async def check_domains_bulk(domains: list[str]) -> dict: