Hostinger Hosting Deploy JS Application
This descriptor comes from the active versioned Portal catalog.
- Contract tier:
agent_ready - Risk:
destructive - Catalog version:
hostinger-2026.07.12.1 - Descriptor hash:
ae12494e0f5d68a26bb571ba9bb58bddf4e4073abe262a4b5ed8125c6e49d609
Use this tool to upload JavaScript application source and start a Hostinger server build. It changes or overwrites external website state and requires explicit confirmation after preview. It contacts Hostinger using the protected per-request credential and never accepts credentials as tool arguments. Use dry_run when offered to validate local paths and request shape before provider work. Do not use this tool for a different Hostinger account or for content whose local files are unavailable to this container. The result is the compact Hostinger MCP envelope with the affected domain, stable provider identifiers when available, safe status metadata, and a recoverable error without secret values. Runtime summary: Deploy a JavaScript application source archive to Hostinger and trigger a server build.
Request Body
{
"jsonrpc": "2.0",
"id": "hostinger-hosting-deployjsapplication-example",
"method": "tools/call",
"params": {
"name": "hostinger.hosting_deployJsApplication",
"arguments": {
"domain": "domain_example",
"archivePath": "archivePath_example",
"confirm": false,
"dry_run": false,
"removeArchive": false
}
}
}
Arguments Schema
{
"type": "object",
"required": [
"domain",
"archivePath"
],
"properties": {
"domain": {
"type": "string",
"description": "Domain name associated with the hosting account."
},
"confirm": {
"type": "boolean",
"default": false,
"description": "Required true to deploy source and trigger build."
},
"dry_run": {
"type": "boolean",
"default": false,
"description": "Preview deployment without calling Hostinger."
},
"archivePath": {
"type": "string",
"description": "Archive file or source directory for the JS application."
},
"removeArchive": {
"type": "boolean",
"default": false,
"description": "Remove archive after successful upload."
}
},
"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-hosting-deployjsapplication-example",
"method": "tools/call",
"params": {
"name": "hostinger.hosting_deployJsApplication",
"arguments": {
"domain": "domain_example",
"archivePath": "archivePath_example",
"confirm": false,
"dry_run": false,
"removeArchive": false
}
}
}'
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-hosting-deployjsapplication-example",
"method": "tools/call",
"params": {
"name": "hostinger.hosting_deployJsApplication",
"arguments": {
"domain": "domain_example",
"archivePath": "archivePath_example",
"confirm": false,
"dry_run": false,
"removeArchive": false
}
}
}),
});
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-hosting-deployjsapplication-example",
"method": "tools/call",
"params": {
"name": "hostinger.hosting_deployJsApplication",
"arguments": {
"domain": "domain_example",
"archivePath": "archivePath_example",
"confirm": false,
"dry_run": false,
"removeArchive": false
}
}
}
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.hosting_deployJsApplication 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."
}