delete_dns
Remove a specific DNS record from a domain by providing the domain UUID and record ID. This tool simplifies DNS management on Sherlock Domains MCP.
Instructions
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
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| domain_id | Yes | ||
| record_id | Yes |
Implementation Reference
- src/sherlock_mcp/server.py:198-207 (handler)The handler function for the 'delete_dns' MCP tool. Decorated with @mcp.tool() for registration. Includes parameter types and docstring schema. Executes by calling Sherlock._delete_dns_record via get_sherlock() and wraps with handle_response.@mcp.tool() async def delete_dns(domain_id: str, record_id: str): """ 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 """ return handle_response(get_sherlock()._delete_dns_record(domain_id, record_id))
- src/sherlock_mcp/server.py:198-198 (registration)The @mcp.tool() decorator registers the delete_dns function as an MCP tool (likely by function name).@mcp.tool()
- src/sherlock_mcp/server.py:200-205 (schema)Docstring provides the schema description for inputs: domain_id (str), record_id (str).""" 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 """
- src/sherlock_mcp/server.py:10-17 (helper)Helper function to get/create Sherlock instance used by all tools including delete_dns.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()
- src/sherlock_mcp/server.py:19-31 (helper)Helper to standardize Sherlock API responses for MCP tools.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