← Validate docs · Markdown · All payloads · Home

Validate — canonical payload contracts

Offline validators for JSON, JSON Schema, XML, CSV, URL, IBAN, EU VAT (checksum), and Hungarian tax/company numbers. No email (use email service); no VIES.

Service id: validate
Docs: https://mcp.glc-rag.hu/guide/validate
Markdown docs: https://mcp.glc-rag.hu/guide/validate.md
MCP resource: docs://validate/payload

POST https://mcp.glc-rag.hu/mcp. Values below are type slots from the live input schema (e.g. <string, required>), not example data. Fill them from the user task.

RPC result wrapper: result.structuredContent is the object in Output schema. result.isError mirrors structuredContent.is_error.

validate_json

Parse JSON text; return valid=true or decode errors with line/col.

Required arguments: json

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "validate_json",
    "arguments": {
      "json": "<string, required>"
    }
  }
}

Input schema

{
  "type": "object",
  "properties": {
    "json": {
      "type": "string",
      "description": "JSON text to parse"
    }
  },
  "required": [
    "json"
  ],
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "valid": {
      "type": "boolean"
    },
    "normalized": {
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}

validate_json_schema

Validate a JSON instance against a JSON Schema (Draft 2020-12). Both arguments are JSON text.

Required arguments: instance, schema

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "validate_json_schema",
    "arguments": {
      "instance": "<string, required>",
      "schema": "<string, required>"
    }
  }
}

Input schema

{
  "type": "object",
  "properties": {
    "instance": {
      "type": "string",
      "description": "JSON instance text"
    },
    "schema": {
      "type": "string",
      "description": "JSON Schema text"
    }
  },
  "required": [
    "instance",
    "schema"
  ],
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "valid": {
      "type": "boolean"
    },
    "normalized": {
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}

validate_xml

Check that XML text is well-formed (no XSD in v1).

Required arguments: xml

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "validate_xml",
    "arguments": {
      "xml": "<string, required>"
    }
  }
}

Input schema

{
  "type": "object",
  "properties": {
    "xml": {
      "type": "string",
      "description": "XML document text"
    }
  },
  "required": [
    "xml"
  ],
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "valid": {
      "type": "boolean"
    },
    "normalized": {
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}

validate_csv

Parse CSV; check delimiter, optional header, column consistency.

Required arguments: csv

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "validate_csv",
    "arguments": {
      "csv": "<string, required>",
      "delimiter": "<string, optional, minLength 1, maxLength 1>",
      "has_header": "<boolean, optional, default True>",
      "expected_columns": "<integer, optional, minimum 1, maximum 1000>"
    }
  }
}

Input schema

{
  "type": "object",
  "properties": {
    "csv": {
      "type": "string",
      "description": "CSV text"
    },
    "delimiter": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1,
      "description": "Force delimiter (default: sniff , ; tab |)"
    },
    "has_header": {
      "type": "boolean",
      "default": true
    },
    "expected_columns": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "required": [
    "csv"
  ],
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "valid": {
      "type": "boolean"
    },
    "normalized": {
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}

validate_url

Validate URL form. Optional require_public=true applies the same SSRF/public host policy as fetch/staging (no download).

Required arguments: url

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "validate_url",
    "arguments": {
      "url": "<string, required>",
      "schemes": [
        "<string, optional>"
      ],
      "require_public": "<boolean, optional, default False>"
    }
  }
}

Input schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "schemes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Allowed schemes (default http, https)"
    },
    "require_public": {
      "type": "boolean",
      "default": false,
      "description": "Reject private/localhost hosts"
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "valid": {
      "type": "boolean"
    },
    "normalized": {
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}

validate_iban

Validate IBAN format and mod-97 checksum; return compact normalized form.

Required arguments: iban

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "validate_iban",
    "arguments": {
      "iban": "<string, required>"
    }
  }
}

Input schema

{
  "type": "object",
  "properties": {
    "iban": {
      "type": "string"
    }
  },
  "required": [
    "iban"
  ],
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "valid": {
      "type": "boolean"
    },
    "normalized": {
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}

validate_vat_number

Validate EU VAT number format and country checksum offline. Does NOT call VIES — not proof of registration.

Required arguments: vat

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "validate_vat_number",
    "arguments": {
      "vat": "<string, required>"
    }
  }
}

Input schema

{
  "type": "object",
  "properties": {
    "vat": {
      "type": "string",
      "description": "e.g. HU12345678"
    }
  },
  "required": [
    "vat"
  ],
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "valid": {
      "type": "boolean"
    },
    "normalized": {
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}

validate_hungarian_tax_number

Validate Hungarian adószám (8-digit checksum + optional -VAT-county).

Required arguments: tax_number

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "validate_hungarian_tax_number",
    "arguments": {
      "tax_number": "<string, required>"
    }
  }
}

Input schema

{
  "type": "object",
  "properties": {
    "tax_number": {
      "type": "string",
      "description": "e.g. 12892312-1-42 or 11 digits"
    }
  },
  "required": [
    "tax_number"
  ],
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "valid": {
      "type": "boolean"
    },
    "normalized": {
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}

validate_hungarian_company_number

Validate Hungarian cégjegyzékszám form CC-FF-NNNNNN (e.g. 01-09-123456).

Required arguments: company_number

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "validate_hungarian_company_number",
    "arguments": {
      "company_number": "<string, required>"
    }
  }
}

Input schema

{
  "type": "object",
  "properties": {
    "company_number": {
      "type": "string"
    }
  },
  "required": [
    "company_number"
  ],
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "valid": {
      "type": "boolean"
    },
    "normalized": {
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean"
    }
  },
  "additionalProperties": true
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}

validate_status

Validate service health and limits.

Required arguments: (none)

Request contract

{
  "jsonrpc": "2.0",
  "id": "<integer|string>",
  "method": "tools/call",
  "params": {
    "name": "validate_status",
    "arguments": {}
  }
}

Input schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output schema (structuredContent on success)

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    }
  },
  "additionalProperties": true,
  "required": [
    "ok"
  ]
}

Error object

{
  "type": "object",
  "required": [
    "error",
    "is_error"
  ],
  "properties": {
    "error": {
      "type": "string"
    },
    "is_error": {
      "type": "boolean",
      "const": true
    }
  },
  "additionalProperties": true
}