Hostinger DNS Validate Dnsrecords V1
This descriptor comes from the active versioned Portal catalog.
- Contract tier:
agent_ready - Risk:
read - Catalog version:
hostinger-2026.07.12.1 - Descriptor hash:
2eedf9cfbef18fda33a5382a8be37b4d4a8c3d1cd45e38c5b8772be6e62df165
Use this tool when you need the Hostinger operation Validate DNS records. Validate DNS records prior to update for the selected domain. If the validation is successful, the response will contain 200 Success code. If there is validation error, the response will fail with 422 Validation error code. Use this endpoint to verify DNS record validity before applying changes. It calls POST /api/dns/v1/zones/{domain}/validate against the configured Hostinger account. This reads external Hostinger account state and does not modify it. Provider parameters: domain (path, required): Domain name The body follows the complete Hostinger schema in inputSchema. Do not place API tokens in arguments; credentials arrive only through protected Portal headers. The result is the normalized Hostinger MCP envelope with data, safe error details, HTTP/rate metadata, and pagination metadata when available. Runtime summary: Use this when you need Hostinger API operation DNS_validateDNSRecordsV1: Validate DNS records. Validate DNS records prior to update for the selected domain. If the validation is successful, the response will contain 200 Success code. If there is validation error, the response will fail with 422 Validation error code. Use this endpoint to verify DNS record validity before applying changes. Endpoint: POST /api/dns/v1/zones/{domain}/validate. Path params: domain. Request body: required/accepted. Risk class: read. This write tool requires confirm=true. Returns the compact MAD envelope {ok,data,error,meta}; set dry_run=true to preview without calling Hostinger.
Request Body
{
"jsonrpc": "2.0",
"id": "hostinger-dns-validatednsrecordsv1-example",
"method": "tools/call",
"params": {
"name": "hostinger.DNS_validateDNSRecordsV1",
"arguments": {
"path_params": "",
"body": "",
"params": "",
"compact": "",
"confirm": false,
"dry_run": false,
"max_items": "",
"include_raw": false,
"confirmation_phrase": ""
}
}
}
Arguments Schema
{
"type": "object",
"required": [
"path_params",
"body"
],
"properties": {
"body": {
"anyOf": [
{
"type": "object",
"required": [
"zone"
],
"properties": {
"zone": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"records",
"type"
],
"properties": {
"ttl": {
"type": "integer",
"description": "TTL (Time-To-Live) of the record"
},
"name": {
"type": "string",
"description": "Name of the record (use `@` for wildcard name)"
},
"type": {
"enum": [
"A",
"AAAA",
"CNAME",
"ALIAS",
"MX",
"TXT",
"NS",
"SOA",
"SRV",
"CAA"
],
"type": "string",
"description": "Type of the record"
},
"records": {
"type": "array",
"items": {
"type": "object",
"required": [
"content"
],
"properties": {
"content": {
"type": "string",
"description": "Content of the name record"
}
}
},
"description": "Records assigned to the name"
}
}
},
"description": "Hostinger request body field zone."
},
"overwrite": {
"type": "boolean",
"description": "If `true`, resource records (RRs) matching name and type will be deleted and new RRs will be created,\notherwise resource records' ttl's are updated and new records are appended.\nIf no matching RRs are found, they are created."
}
}
},
{
"type": "null"
}
],
"default": null,
"description": "JSON request body using the complete checked-in Hostinger provider schema."
},
"params": {
"anyOf": [
{
"type": "object",
"properties": {},
"additionalProperties": false
},
{
"type": "null"
}
],
"default": null,
"description": "Exact query parameters for this Hostinger operation, keyed by the provider names shown here."
},
"compact": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "When true, truncate large arrays using MCP_MAX_ITEMS_* limits."
},
"confirm": {
"type": "boolean",
"default": false,
"description": "Required as true for any Hostinger write, spend, or destructive call."
},
"dry_run": {
"type": "boolean",
"default": false,
"description": "Preview the request and risk gates without calling Hostinger."
},
"max_items": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum array items to keep when compacting responses."
},
"include_raw": {
"type": "boolean",
"default": false,
"description": "When true, include raw Hostinger response alongside normalized data."
},
"path_params": {
"anyOf": [
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "Domain name"
}
},
"additionalProperties": false
},
{
"type": "null"
}
],
"default": null,
"description": "Exact path parameters for this Hostinger operation, keyed by the provider names shown here."
},
"confirmation_phrase": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Required exact phrase for spend, credential, and destructive tools."
}
},
"additionalProperties": false
}
Output Schema
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"ok",
"data",
"error",
"meta"
],
"properties": {
"ok": {
"type": "boolean",
"description": "True only when the requested Hostinger or local catalog operation succeeded."
},
"data": {
"description": "Normalized result data, or null when the operation failed."
},
"meta": {
"type": "object",
"description": "Safe endpoint, timing, pagination, rate, catalog, and next-action metadata.",
"additionalProperties": true
},
"error": {
"description": "Secret-safe structured error details, or null on success."
}
},
"description": "Normalized Hostinger MCP response envelope.",
"additionalProperties": false
}
Code Examples
- cURL
- Node.js
- Python
curl -X POST 'https://portal.madpanda3d.com/api/mcp' \
-H 'Authorization: Bearer mad_live_***' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": "hostinger-dns-validatednsrecordsv1-example",
"method": "tools/call",
"params": {
"name": "hostinger.DNS_validateDNSRecordsV1",
"arguments": {
"path_params": "",
"body": "",
"params": "",
"compact": "",
"confirm": false,
"dry_run": false,
"max_items": "",
"include_raw": false,
"confirmation_phrase": ""
}
}
}'
const response = await fetch('https://portal.madpanda3d.com/api/mcp', {
method: 'POST',
headers: {
Authorization: 'Bearer mad_live_***',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": "hostinger-dns-validatednsrecordsv1-example",
"method": "tools/call",
"params": {
"name": "hostinger.DNS_validateDNSRecordsV1",
"arguments": {
"path_params": "",
"body": "",
"params": "",
"compact": "",
"confirm": false,
"dry_run": false,
"max_items": "",
"include_raw": false,
"confirmation_phrase": ""
}
}
}),
});
const data = await response.json();
console.log(data);
import requests
url = 'https://portal.madpanda3d.com/api/mcp'
headers = {
'Authorization': 'Bearer mad_live_***',
'Content-Type': 'application/json',
}
payload = {
"jsonrpc": "2.0",
"id": "hostinger-dns-validatednsrecordsv1-example",
"method": "tools/call",
"params": {
"name": "hostinger.DNS_validateDNSRecordsV1",
"arguments": {
"path_params": "",
"body": "",
"params": "",
"compact": "",
"confirm": false,
"dry_run": false,
"max_items": "",
"include_raw": false,
"confirmation_phrase": ""
}
}
}
response = requests.post(url, headers=headers, json=payload, timeout=60)
print(response.json())
Example Responses
- 200 Success
- 502 Upstream Error
{
"ok": true,
"message": "Tool hostinger.DNS_validateDNSRecordsV1 executed successfully.",
"note": "Response shape varies by MCP tool. Inspect live responses for exact fields."
}
{
"ok": false,
"classification": "upstream_http_error",
"message": "Upstream MCP returned a non-success status."
}