set_contact_information
Configure contact details for domain purchases and ICANN registration, including name, email, address, and location information required before buying domains.
Instructions
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')
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cfn | Yes | ||
| cln | Yes | ||
| cem | Yes | ||
| cadd | Yes | ||
| cct | Yes | ||
| cst | Yes | ||
| cpc | Yes | ||
| ccn | Yes |
Implementation Reference
- src/sherlock_mcp/server.py:75-91 (handler)The MCP tool handler for 'set_contact_information'. Decorated with @mcp.tool() for registration. Defines input parameters with type hints serving as schema. Executes by calling the underlying Sherlock._set_contact_information and wraps response with handle_response.@mcp.tool() async def set_contact_information(cfn: str, cln: str, cem: str, cadd: str, cct: str, cst: str, cpc: str, ccn: str): """ 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') """ return handle_response(get_sherlock()._set_contact_information(cfn, cln, cem, cadd, cct, cst, cpc, ccn))
- src/sherlock_mcp/server.py:76-90 (schema)Input schema defined by function parameters (cfn=first_name, cln=last_name, etc.) with type annotations and detailed docstring explaining each field.async def set_contact_information(cfn: str, cln: str, cem: str, cadd: str, cct: str, cst: str, cpc: str, ccn: str): """ 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') """
- src/sherlock_mcp/server.py:19-31 (helper)Helper function used by the tool handler to standardize responses from Sherlock methods, converting HTTP responses to tuples of (status_code, data).def handle_response(response): """ Handle responses from Sherlock methods. Sherlock methods already process the response using _handle_response, which returns either a processed JSON object for successful requests or the response object itself. """ if hasattr(response, 'status_code'): # This is a raw response object try: return response.status_code, response.json() except: return response.status_code, response.text # This is already processed data (like a dictionary) return response
- src/sherlock_mcp/server.py:10-17 (helper)Helper function to lazily instantiate the Sherlock client inside tool execution.def get_sherlock(): """Get or create a Sherlock instance. We want to create the class instance inside the tool, so the init errors will bubble up to the tool and hence the MCP client instead of silently failing during the server creation. """ return Sherlock()