hostinger-api-mcp 1.43.0 → 1.44.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +188 -11
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/core/runtime.js +1 -1
- package/src/core/runtime.ts +1 -1
- package/src/core/tools/agency-hosting.js +26 -2
- package/src/core/tools/agency-hosting.ts +26 -2
- package/src/core/tools/all.js +363 -8
- package/src/core/tools/all.ts +363 -8
- package/src/core/tools/hosting.js +216 -6
- package/src/core/tools/hosting.ts +216 -6
- package/src/core/tools/wordpress.js +121 -0
- package/src/core/tools/wordpress.ts +121 -0
- package/src/servers/agency-hosting.js +1 -1
- package/src/servers/agency-hosting.ts +1 -1
- package/src/servers/all.js +1 -1
- package/src/servers/all.ts +1 -1
- package/src/servers/billing.js +1 -1
- package/src/servers/billing.ts +1 -1
- package/src/servers/dns.js +1 -1
- package/src/servers/dns.ts +1 -1
- package/src/servers/domains.js +1 -1
- package/src/servers/domains.ts +1 -1
- package/src/servers/ecommerce.js +1 -1
- package/src/servers/ecommerce.ts +1 -1
- package/src/servers/horizons.js +1 -1
- package/src/servers/horizons.ts +1 -1
- package/src/servers/hosting.js +1 -1
- package/src/servers/hosting.ts +1 -1
- package/src/servers/mail.js +1 -1
- package/src/servers/mail.ts +1 -1
- package/src/servers/reach.js +1 -1
- package/src/servers/reach.ts +1 -1
- package/src/servers/vps.js +1 -1
- package/src/servers/vps.ts +1 -1
- package/src/servers/wordpress.js +1 -1
- package/src/servers/wordpress.ts +1 -1
- package/types.d.ts +332 -7
|
@@ -3,7 +3,7 @@ export default [
|
|
|
3
3
|
{
|
|
4
4
|
"name": "hosting_importWordpressWebsite",
|
|
5
5
|
"topic": "hosting",
|
|
6
|
-
"description": "Import a WordPress website from an archive file to a hosting server. This tool uploads a website archive (zip, tar, tar.gz, etc.) and a database dump (.sql file) to deploy a complete WordPress website. The archive will be extracted on the server automatically. Note: This process may take a while for larger sites. After upload completion, files are being extracted and the site will be available in a few minutes. The username will be automatically resolved from the domain.",
|
|
6
|
+
"description": "Import a WordPress website from an archive file to a hosting server. This tool uploads a website archive (zip, tar, tar.gz, etc.) and a database dump (.sql file) to deploy a complete WordPress website. The archive will be extracted on the server automatically. Note: This process may take a while for larger sites. After upload completion, files are being extracted and the site will be available in a few minutes. Upload credentials are generated and used internally — do not call a separate upload-url endpoint or upload the files yourself, this tool does it end-to-end. The username will be automatically resolved from the domain.",
|
|
7
7
|
"method": "",
|
|
8
8
|
"path": "",
|
|
9
9
|
"inputSchema": {
|
|
@@ -38,7 +38,7 @@ export default [
|
|
|
38
38
|
{
|
|
39
39
|
"name": "hosting_deployWordpressPlugin",
|
|
40
40
|
"topic": "hosting",
|
|
41
|
-
"description": "Deploy a WordPress plugin from a directory to a hosting server. This tool uploads all plugin files and triggers plugin deployment.",
|
|
41
|
+
"description": "Deploy a WordPress plugin from a directory to a hosting server. This tool uploads all plugin files and triggers plugin deployment. Upload credentials are generated and used internally — do not call a separate upload-url endpoint or upload the files yourself, this tool does it end-to-end.",
|
|
42
42
|
"method": "",
|
|
43
43
|
"path": "",
|
|
44
44
|
"inputSchema": {
|
|
@@ -73,7 +73,7 @@ export default [
|
|
|
73
73
|
{
|
|
74
74
|
"name": "hosting_deployWordpressTheme",
|
|
75
75
|
"topic": "hosting",
|
|
76
|
-
"description": "Deploy a WordPress theme from a directory to a hosting server. This tool uploads all theme files and triggers theme deployment. The uploaded theme can optionally be activated after deployment.",
|
|
76
|
+
"description": "Deploy a WordPress theme from a directory to a hosting server. This tool uploads all theme files and triggers theme deployment. The uploaded theme can optionally be activated after deployment. Upload credentials are generated and used internally — do not call a separate upload-url endpoint or upload the files yourself, this tool does it end-to-end.",
|
|
77
77
|
"method": "",
|
|
78
78
|
"path": "",
|
|
79
79
|
"inputSchema": {
|
|
@@ -112,7 +112,7 @@ export default [
|
|
|
112
112
|
{
|
|
113
113
|
"name": "hosting_deployJsApplication",
|
|
114
114
|
"topic": "hosting",
|
|
115
|
-
"description": "Deploy a JavaScript application from an archive file to a hosting server. IMPORTANT: the archive must ONLY contain application source files, not the build output, skip node_modules directory; also exclude all files matched by .gitignore if the ignore file exists. The build process will be triggered automatically on the server after the archive is uploaded. After deployment, use the hosting_listJsDeployments tool to check deployment status and track build progress.",
|
|
115
|
+
"description": "Deploy a JavaScript application from an archive file to a hosting server. IMPORTANT: the archive must ONLY contain application source files, not the build output, skip node_modules directory; also exclude all files matched by .gitignore if the ignore file exists. The build process will be triggered automatically on the server after the archive is uploaded. Upload credentials are generated and used internally — do not call a separate upload-url endpoint or upload the archive yourself, this tool does it end-to-end. After deployment, use the hosting_listJsDeployments tool to check deployment status and track build progress.",
|
|
116
116
|
"method": "",
|
|
117
117
|
"path": "",
|
|
118
118
|
"inputSchema": {
|
|
@@ -146,7 +146,7 @@ export default [
|
|
|
146
146
|
{
|
|
147
147
|
"name": "hosting_deployStaticWebsite",
|
|
148
148
|
"topic": "hosting",
|
|
149
|
-
"description": "Deploy a static website from an archive file to a hosting server. IMPORTANT: This tool only works for static websites with no build process. The archive must contain pre-built static files (HTML, CSS, JavaScript, images, etc.) ready to be served. If the website has a package.json file or requires a build command, use hosting_deployJsApplication instead. The archive
|
|
149
|
+
"description": "Deploy a static website from an archive file to a hosting server. IMPORTANT: This tool only works for static websites with no build process. The archive must contain pre-built static files (HTML, CSS, JavaScript, images, etc.) ready to be served. If the website has a package.json file or requires a build command, use hosting_deployJsApplication instead. The tool uploads the archive to the website's file browser over TUS and triggers deployment; the archive is extracted and deployed directly without any build steps. Upload credentials are generated and used internally — do not call a separate upload-url endpoint or upload the archive yourself, this tool does it end-to-end. The username will be automatically resolved from the domain.",
|
|
150
150
|
"method": "",
|
|
151
151
|
"path": "",
|
|
152
152
|
"inputSchema": {
|
|
@@ -1046,6 +1046,35 @@ export default [
|
|
|
1046
1046
|
],
|
|
1047
1047
|
"group": "hosting"
|
|
1048
1048
|
},
|
|
1049
|
+
{
|
|
1050
|
+
"name": "hosting_generateUploadURLV1",
|
|
1051
|
+
"description": "Generate a file browser upload URL with authentication credentials\nfor uploading files directly to a website's file storage.\n\nReturns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the\nwebsite's `public_html` directory via the TUS resumable upload protocol (TUS 1.0.0).\nSend `X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request\nbelow.\n\n1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers\n `upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`.\n2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or\n `PATCH` requests with an `upload-offset` header tracking progress) until complete.\n\n`relative_file_path` is the destination path inside `public_html`, e.g. `app.zip`.\n\nInstead of a TUS client, plain `curl` also works:\n```\nFILE=app.zip\nSIZE=$(stat -f%z \"$FILE\") # stat -c%s on Linux\n\ncurl -i -X POST \"{url}/${FILE}?override=true\" \\\n -H \"X-Auth: {auth_key}\" \\\n -H \"X-Auth-Rest: {rest_auth_key}\" \\\n -H \"Tus-Resumable: 1.0.0\" \\\n -H \"Upload-Length: ${SIZE}\" \\\n -H \"Upload-Offset: 0\"\n# -> 201 Created\n\ncurl -i -X PATCH \"{url}/${FILE}?override=true\" \\\n -H \"X-Auth: {auth_key}\" \\\n -H \"X-Auth-Rest: {rest_auth_key}\" \\\n -H \"Tus-Resumable: 1.0.0\" \\\n -H \"Content-Type: application/offset+octet-stream\" \\\n -H \"Upload-Offset: 0\" \\\n --data-binary \"@${FILE}\"\n# -> 204 No Content, Upload-Offset response header equals SIZE when done\n```",
|
|
1052
|
+
"method": "POST",
|
|
1053
|
+
"path": "/api/hosting/v1/files/upload-urls",
|
|
1054
|
+
"inputSchema": {
|
|
1055
|
+
"type": "object",
|
|
1056
|
+
"properties": {
|
|
1057
|
+
"username": {
|
|
1058
|
+
"type": "string",
|
|
1059
|
+
"description": "Account username"
|
|
1060
|
+
},
|
|
1061
|
+
"domain": {
|
|
1062
|
+
"type": "string",
|
|
1063
|
+
"description": "Website domain"
|
|
1064
|
+
}
|
|
1065
|
+
},
|
|
1066
|
+
"required": [
|
|
1067
|
+
"username",
|
|
1068
|
+
"domain"
|
|
1069
|
+
]
|
|
1070
|
+
},
|
|
1071
|
+
"security": [
|
|
1072
|
+
{
|
|
1073
|
+
"apiToken": []
|
|
1074
|
+
}
|
|
1075
|
+
],
|
|
1076
|
+
"group": "hosting"
|
|
1077
|
+
},
|
|
1049
1078
|
{
|
|
1050
1079
|
"name": "hosting_listWebsiteFilesAndDirectoriesV1",
|
|
1051
1080
|
"description": "List files and directories under a website's document root.\n\nUse `directory` to browse a subdirectory relative to the document root. Symlinked entries\nare listed but never traversed into or resolved.",
|
|
@@ -1198,9 +1227,122 @@ export default [
|
|
|
1198
1227
|
],
|
|
1199
1228
|
"group": "hosting"
|
|
1200
1229
|
},
|
|
1230
|
+
{
|
|
1231
|
+
"name": "hosting_startNode_jsBuildV1",
|
|
1232
|
+
"description": "Start a Node.js build process using files already present on the website's file storage.\n\nWARNING: on success this overwrites the website's existing contents and cannot be\nundone — verify this is intended before calling this endpoint.\n\nThe `source_type` must be `archive` and `source_options.archive_path` must point to an\nexisting archive file on the server (relative to the website document root).\nUse the `Generate Upload URL` endpoint to obtain credentials and upload the archive first.\n\nTo auto-detect build settings from an archive before starting, first call the\n`Get Node.js Build Settings from Archive` endpoint. To upload an archive and start\na build in one step, use the `Create Node.js Build from Archive` endpoint instead.\n\nThe returned build `uuid` can be used to poll progress and retrieve logs via\nthe `Get Node.js Build Logs` endpoint.",
|
|
1233
|
+
"method": "POST",
|
|
1234
|
+
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds",
|
|
1235
|
+
"inputSchema": {
|
|
1236
|
+
"type": "object",
|
|
1237
|
+
"properties": {
|
|
1238
|
+
"username": {
|
|
1239
|
+
"type": "string",
|
|
1240
|
+
"description": "username parameter"
|
|
1241
|
+
},
|
|
1242
|
+
"domain": {
|
|
1243
|
+
"type": "string",
|
|
1244
|
+
"description": "Domain name"
|
|
1245
|
+
},
|
|
1246
|
+
"node_version": {
|
|
1247
|
+
"type": "integer",
|
|
1248
|
+
"description": "Node.js version",
|
|
1249
|
+
"enum": [
|
|
1250
|
+
18,
|
|
1251
|
+
20,
|
|
1252
|
+
22,
|
|
1253
|
+
24
|
|
1254
|
+
]
|
|
1255
|
+
},
|
|
1256
|
+
"app_type": {
|
|
1257
|
+
"type": "string",
|
|
1258
|
+
"description": "Node.js application type",
|
|
1259
|
+
"enum": [
|
|
1260
|
+
"create-react-app",
|
|
1261
|
+
"gatsby",
|
|
1262
|
+
"vite",
|
|
1263
|
+
"angular",
|
|
1264
|
+
"react",
|
|
1265
|
+
"vue",
|
|
1266
|
+
"parcel",
|
|
1267
|
+
"next",
|
|
1268
|
+
"nuxt",
|
|
1269
|
+
"nest",
|
|
1270
|
+
"express",
|
|
1271
|
+
"fastify",
|
|
1272
|
+
"astro",
|
|
1273
|
+
"svelte",
|
|
1274
|
+
"svelte-kit",
|
|
1275
|
+
"hono",
|
|
1276
|
+
"react-router",
|
|
1277
|
+
"nitro",
|
|
1278
|
+
"other"
|
|
1279
|
+
]
|
|
1280
|
+
},
|
|
1281
|
+
"root_directory": {
|
|
1282
|
+
"type": "string",
|
|
1283
|
+
"description": "Application root directory (where package.json is located) relative to public_html"
|
|
1284
|
+
},
|
|
1285
|
+
"output_directory": {
|
|
1286
|
+
"type": "string",
|
|
1287
|
+
"description": "Build output directory relative to the root directory"
|
|
1288
|
+
},
|
|
1289
|
+
"build_script": {
|
|
1290
|
+
"type": "string",
|
|
1291
|
+
"description": "Build script that will be ran to build the application"
|
|
1292
|
+
},
|
|
1293
|
+
"entry_file": {
|
|
1294
|
+
"type": "string",
|
|
1295
|
+
"description": "The main entry point file for the application"
|
|
1296
|
+
},
|
|
1297
|
+
"package_manager": {
|
|
1298
|
+
"type": "string",
|
|
1299
|
+
"description": "Package manager",
|
|
1300
|
+
"enum": [
|
|
1301
|
+
"npm",
|
|
1302
|
+
"yarn",
|
|
1303
|
+
"pnpm"
|
|
1304
|
+
]
|
|
1305
|
+
},
|
|
1306
|
+
"source_type": {
|
|
1307
|
+
"type": "string",
|
|
1308
|
+
"description": "The source type of the files",
|
|
1309
|
+
"enum": [
|
|
1310
|
+
"archive"
|
|
1311
|
+
]
|
|
1312
|
+
},
|
|
1313
|
+
"source_options": {
|
|
1314
|
+
"type": "object",
|
|
1315
|
+
"description": "Source-specific options",
|
|
1316
|
+
"properties": {
|
|
1317
|
+
"archive_path": {
|
|
1318
|
+
"type": "string",
|
|
1319
|
+
"description": "The path to the archive file relative to the document root of the vhost (required if source is \"archive\")"
|
|
1320
|
+
}
|
|
1321
|
+
}
|
|
1322
|
+
}
|
|
1323
|
+
},
|
|
1324
|
+
"required": [
|
|
1325
|
+
"username",
|
|
1326
|
+
"domain",
|
|
1327
|
+
"node_version",
|
|
1328
|
+
"app_type",
|
|
1329
|
+
"root_directory",
|
|
1330
|
+
"output_directory",
|
|
1331
|
+
"build_script",
|
|
1332
|
+
"source_type",
|
|
1333
|
+
"source_options"
|
|
1334
|
+
]
|
|
1335
|
+
},
|
|
1336
|
+
"security": [
|
|
1337
|
+
{
|
|
1338
|
+
"apiToken": []
|
|
1339
|
+
}
|
|
1340
|
+
],
|
|
1341
|
+
"group": "hosting"
|
|
1342
|
+
},
|
|
1201
1343
|
{
|
|
1202
1344
|
"name": "hosting_createNodeJSBuildFromArchiveV1",
|
|
1203
|
-
"description": "Upload a project archive, auto-detect build settings, and immediately start a Node.js build.\n\nThis is the recommended single-step approach for deploying a Node.js application.\nThe archive is uploaded to the website's file storage, build settings are auto-detected\nfrom the package.json inside the archive, and the build process starts automatically.\nOptional override fields take precedence over auto-detected values.\nMaximum archive size is 50MB.\n\nBefore archiving, exclude `node_modules/` and any build output directories\n(e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build\nprocess runs the install step automatically, and including them unnecessarily\nincreases the archive size. This also helps keep the archive well under the 50MB limit.\n\nExample (zip):\n```\nzip -r archive.zip . --exclude \"node_modules/*\" --exclude \"dist/*\"\n```\n\nThe returned build `uuid` can be used to poll progress and retrieve logs via\nthe `Get Node.js Build Logs` endpoint.",
|
|
1345
|
+
"description": "Upload a project archive, auto-detect build settings, and immediately start a Node.js build.\n\nWARNING: on success this overwrites the website's existing contents and cannot be\nundone — verify this is intended before calling this endpoint.\n\nThis is the recommended single-step approach for deploying a Node.js application.\nThe archive is uploaded to the website's file storage, build settings are auto-detected\nfrom the package.json inside the archive, and the build process starts automatically.\nOptional override fields take precedence over auto-detected values.\nMaximum archive size is 50MB.\n\nBefore archiving, exclude `node_modules/` and any build output directories\n(e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build\nprocess runs the install step automatically, and including them unnecessarily\nincreases the archive size. This also helps keep the archive well under the 50MB limit.\n\nExample (zip):\n```\nzip -r archive.zip . --exclude \"node_modules/*\" --exclude \"dist/*\"\n```\n\nThe returned build `uuid` can be used to poll progress and retrieve logs via\nthe `Get Node.js Build Logs` endpoint.",
|
|
1204
1346
|
"method": "POST",
|
|
1205
1347
|
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/from-archive",
|
|
1206
1348
|
"inputSchema": {
|
|
@@ -1292,6 +1434,40 @@ export default [
|
|
|
1292
1434
|
],
|
|
1293
1435
|
"group": "hosting"
|
|
1294
1436
|
},
|
|
1437
|
+
{
|
|
1438
|
+
"name": "hosting_getNode_jsBuildSettingsFromArchiveV1",
|
|
1439
|
+
"description": "Auto-detect Node.js build settings from a package.json inside an archive already on the server.\n\nUse this before calling `Start Node.js Build` to preview what settings will be used,\nor to let the user review and override values (framework, node version, root directory,\noutput directory, build script) before committing to a build.\n\nThe archive must already be present on the website's file storage. Use the\n`Generate Upload URL` endpoint to obtain credentials and upload the archive first.\nTo upload an archive and start a build in one step without inspecting settings first,\nuse the `Create Node.js Build from Archive` endpoint instead.",
|
|
1440
|
+
"method": "GET",
|
|
1441
|
+
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/settings/from-archive",
|
|
1442
|
+
"inputSchema": {
|
|
1443
|
+
"type": "object",
|
|
1444
|
+
"properties": {
|
|
1445
|
+
"username": {
|
|
1446
|
+
"type": "string",
|
|
1447
|
+
"description": "username parameter"
|
|
1448
|
+
},
|
|
1449
|
+
"domain": {
|
|
1450
|
+
"type": "string",
|
|
1451
|
+
"description": "Domain name"
|
|
1452
|
+
},
|
|
1453
|
+
"archive_path": {
|
|
1454
|
+
"type": "string",
|
|
1455
|
+
"description": "The path to the archive file relative to the document root of the vhost"
|
|
1456
|
+
}
|
|
1457
|
+
},
|
|
1458
|
+
"required": [
|
|
1459
|
+
"username",
|
|
1460
|
+
"domain",
|
|
1461
|
+
"archive_path"
|
|
1462
|
+
]
|
|
1463
|
+
},
|
|
1464
|
+
"security": [
|
|
1465
|
+
{
|
|
1466
|
+
"apiToken": []
|
|
1467
|
+
}
|
|
1468
|
+
],
|
|
1469
|
+
"group": "hosting"
|
|
1470
|
+
},
|
|
1295
1471
|
{
|
|
1296
1472
|
"name": "hosting_getNodeJSBuildLogsV1",
|
|
1297
1473
|
"description": "Retrieve logs from a specific Node.js build process.\n\nTo stream live output while a build is running, poll this endpoint repeatedly\nwhile the build state is `running`, passing the previously returned `lines` count\nas `from_line` to fetch only new output since the last call.\nLog content may contain ANSI escape sequences (color codes).",
|
|
@@ -1875,6 +2051,40 @@ export default [
|
|
|
1875
2051
|
],
|
|
1876
2052
|
"group": "hosting"
|
|
1877
2053
|
},
|
|
2054
|
+
{
|
|
2055
|
+
"name": "hosting_deployStaticSiteArchiveV1",
|
|
2056
|
+
"description": "Deploy a static application from an archive file.\n\nWARNING: this overwrites the website's existing contents and cannot be undone —\nverify this is intended before calling this endpoint.\n\nThis endpoint allows you to deploy a static application from an archive\nfile that has been uploaded to the website's directory.\n\nThis only works for static sites (pre-built HTML/CSS/JS with no build step). For\nNode.js applications, use `Create NodeJS build from archive` instead, or\n`Start Node.js build` if the archive is already uploaded. For WordPress sites,\nuse `Import WordPress website`.",
|
|
2057
|
+
"method": "POST",
|
|
2058
|
+
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/deploy",
|
|
2059
|
+
"inputSchema": {
|
|
2060
|
+
"type": "object",
|
|
2061
|
+
"properties": {
|
|
2062
|
+
"username": {
|
|
2063
|
+
"type": "string",
|
|
2064
|
+
"description": "username parameter"
|
|
2065
|
+
},
|
|
2066
|
+
"domain": {
|
|
2067
|
+
"type": "string",
|
|
2068
|
+
"description": "Domain name"
|
|
2069
|
+
},
|
|
2070
|
+
"archive_path": {
|
|
2071
|
+
"type": "string",
|
|
2072
|
+
"description": "Relative path to the archive file from website root directory"
|
|
2073
|
+
}
|
|
2074
|
+
},
|
|
2075
|
+
"required": [
|
|
2076
|
+
"username",
|
|
2077
|
+
"domain",
|
|
2078
|
+
"archive_path"
|
|
2079
|
+
]
|
|
2080
|
+
},
|
|
2081
|
+
"security": [
|
|
2082
|
+
{
|
|
2083
|
+
"apiToken": []
|
|
2084
|
+
}
|
|
2085
|
+
],
|
|
2086
|
+
"group": "hosting"
|
|
2087
|
+
},
|
|
1878
2088
|
{
|
|
1879
2089
|
"name": "hosting_deleteWebsiteV1",
|
|
1880
2090
|
"description": "This endpoint permanently removes a website and all of its data. This action\ncannot be undone. Before calling it, make sure the user understands the\nconsequences and explicitly confirms that they want to proceed.\n\nAll website files, databases and related configuration will be removed.\nThe hosting plan itself is kept, so a new website can be created on it afterwards.\n\nSupported websites: main and addon domain websites on web hosting plans, and\nWebsite Builder websites. Parked domains and subdomains cannot be deleted with\nthis endpoint. The domain must be the exact website domain, not a preview\ndomain or an alias.\n\nReturns 404 when the domain does not exist or does not belong to the\nauthenticated client.\n\nWebsite removal is processed asynchronously and can take a few minutes to\ncomplete. The response returns before the removal finishes.",
|
|
@@ -17,7 +17,7 @@ const tools: OpenApiTool[] = [
|
|
|
17
17
|
{
|
|
18
18
|
"name": "hosting_importWordpressWebsite",
|
|
19
19
|
"topic": "hosting",
|
|
20
|
-
"description": "Import a WordPress website from an archive file to a hosting server. This tool uploads a website archive (zip, tar, tar.gz, etc.) and a database dump (.sql file) to deploy a complete WordPress website. The archive will be extracted on the server automatically. Note: This process may take a while for larger sites. After upload completion, files are being extracted and the site will be available in a few minutes. The username will be automatically resolved from the domain.",
|
|
20
|
+
"description": "Import a WordPress website from an archive file to a hosting server. This tool uploads a website archive (zip, tar, tar.gz, etc.) and a database dump (.sql file) to deploy a complete WordPress website. The archive will be extracted on the server automatically. Note: This process may take a while for larger sites. After upload completion, files are being extracted and the site will be available in a few minutes. Upload credentials are generated and used internally — do not call a separate upload-url endpoint or upload the files yourself, this tool does it end-to-end. The username will be automatically resolved from the domain.",
|
|
21
21
|
"method": "",
|
|
22
22
|
"path": "",
|
|
23
23
|
"inputSchema": {
|
|
@@ -52,7 +52,7 @@ const tools: OpenApiTool[] = [
|
|
|
52
52
|
{
|
|
53
53
|
"name": "hosting_deployWordpressPlugin",
|
|
54
54
|
"topic": "hosting",
|
|
55
|
-
"description": "Deploy a WordPress plugin from a directory to a hosting server. This tool uploads all plugin files and triggers plugin deployment.",
|
|
55
|
+
"description": "Deploy a WordPress plugin from a directory to a hosting server. This tool uploads all plugin files and triggers plugin deployment. Upload credentials are generated and used internally — do not call a separate upload-url endpoint or upload the files yourself, this tool does it end-to-end.",
|
|
56
56
|
"method": "",
|
|
57
57
|
"path": "",
|
|
58
58
|
"inputSchema": {
|
|
@@ -87,7 +87,7 @@ const tools: OpenApiTool[] = [
|
|
|
87
87
|
{
|
|
88
88
|
"name": "hosting_deployWordpressTheme",
|
|
89
89
|
"topic": "hosting",
|
|
90
|
-
"description": "Deploy a WordPress theme from a directory to a hosting server. This tool uploads all theme files and triggers theme deployment. The uploaded theme can optionally be activated after deployment.",
|
|
90
|
+
"description": "Deploy a WordPress theme from a directory to a hosting server. This tool uploads all theme files and triggers theme deployment. The uploaded theme can optionally be activated after deployment. Upload credentials are generated and used internally — do not call a separate upload-url endpoint or upload the files yourself, this tool does it end-to-end.",
|
|
91
91
|
"method": "",
|
|
92
92
|
"path": "",
|
|
93
93
|
"inputSchema": {
|
|
@@ -126,7 +126,7 @@ const tools: OpenApiTool[] = [
|
|
|
126
126
|
{
|
|
127
127
|
"name": "hosting_deployJsApplication",
|
|
128
128
|
"topic": "hosting",
|
|
129
|
-
"description": "Deploy a JavaScript application from an archive file to a hosting server. IMPORTANT: the archive must ONLY contain application source files, not the build output, skip node_modules directory; also exclude all files matched by .gitignore if the ignore file exists. The build process will be triggered automatically on the server after the archive is uploaded. After deployment, use the hosting_listJsDeployments tool to check deployment status and track build progress.",
|
|
129
|
+
"description": "Deploy a JavaScript application from an archive file to a hosting server. IMPORTANT: the archive must ONLY contain application source files, not the build output, skip node_modules directory; also exclude all files matched by .gitignore if the ignore file exists. The build process will be triggered automatically on the server after the archive is uploaded. Upload credentials are generated and used internally — do not call a separate upload-url endpoint or upload the archive yourself, this tool does it end-to-end. After deployment, use the hosting_listJsDeployments tool to check deployment status and track build progress.",
|
|
130
130
|
"method": "",
|
|
131
131
|
"path": "",
|
|
132
132
|
"inputSchema": {
|
|
@@ -160,7 +160,7 @@ const tools: OpenApiTool[] = [
|
|
|
160
160
|
{
|
|
161
161
|
"name": "hosting_deployStaticWebsite",
|
|
162
162
|
"topic": "hosting",
|
|
163
|
-
"description": "Deploy a static website from an archive file to a hosting server. IMPORTANT: This tool only works for static websites with no build process. The archive must contain pre-built static files (HTML, CSS, JavaScript, images, etc.) ready to be served. If the website has a package.json file or requires a build command, use hosting_deployJsApplication instead. The archive
|
|
163
|
+
"description": "Deploy a static website from an archive file to a hosting server. IMPORTANT: This tool only works for static websites with no build process. The archive must contain pre-built static files (HTML, CSS, JavaScript, images, etc.) ready to be served. If the website has a package.json file or requires a build command, use hosting_deployJsApplication instead. The tool uploads the archive to the website's file browser over TUS and triggers deployment; the archive is extracted and deployed directly without any build steps. Upload credentials are generated and used internally — do not call a separate upload-url endpoint or upload the archive yourself, this tool does it end-to-end. The username will be automatically resolved from the domain.",
|
|
164
164
|
"method": "",
|
|
165
165
|
"path": "",
|
|
166
166
|
"inputSchema": {
|
|
@@ -1060,6 +1060,35 @@ const tools: OpenApiTool[] = [
|
|
|
1060
1060
|
],
|
|
1061
1061
|
"group": "hosting"
|
|
1062
1062
|
},
|
|
1063
|
+
{
|
|
1064
|
+
"name": "hosting_generateUploadURLV1",
|
|
1065
|
+
"description": "Generate a file browser upload URL with authentication credentials\nfor uploading files directly to a website's file storage.\n\nReturns `url`, `auth_key` and `rest_auth_key`. Use these to upload a file to the\nwebsite's `public_html` directory via the TUS resumable upload protocol (TUS 1.0.0).\nSend `X-Auth: {auth_key}` and `X-Auth-Rest: {rest_auth_key}` headers on every request\nbelow.\n\n1. Create the upload: `POST` to `{url}/{relative_file_path}?override=true` with headers\n `upload-length: {file size in bytes}` and `upload-offset: 0`. Expect `201 Created`.\n2. Upload the file: send the file bytes to the same location (any TUS 1.0.0 client, or\n `PATCH` requests with an `upload-offset` header tracking progress) until complete.\n\n`relative_file_path` is the destination path inside `public_html`, e.g. `app.zip`.\n\nInstead of a TUS client, plain `curl` also works:\n```\nFILE=app.zip\nSIZE=$(stat -f%z \"$FILE\") # stat -c%s on Linux\n\ncurl -i -X POST \"{url}/${FILE}?override=true\" \\\n -H \"X-Auth: {auth_key}\" \\\n -H \"X-Auth-Rest: {rest_auth_key}\" \\\n -H \"Tus-Resumable: 1.0.0\" \\\n -H \"Upload-Length: ${SIZE}\" \\\n -H \"Upload-Offset: 0\"\n# -> 201 Created\n\ncurl -i -X PATCH \"{url}/${FILE}?override=true\" \\\n -H \"X-Auth: {auth_key}\" \\\n -H \"X-Auth-Rest: {rest_auth_key}\" \\\n -H \"Tus-Resumable: 1.0.0\" \\\n -H \"Content-Type: application/offset+octet-stream\" \\\n -H \"Upload-Offset: 0\" \\\n --data-binary \"@${FILE}\"\n# -> 204 No Content, Upload-Offset response header equals SIZE when done\n```",
|
|
1066
|
+
"method": "POST",
|
|
1067
|
+
"path": "/api/hosting/v1/files/upload-urls",
|
|
1068
|
+
"inputSchema": {
|
|
1069
|
+
"type": "object",
|
|
1070
|
+
"properties": {
|
|
1071
|
+
"username": {
|
|
1072
|
+
"type": "string",
|
|
1073
|
+
"description": "Account username"
|
|
1074
|
+
},
|
|
1075
|
+
"domain": {
|
|
1076
|
+
"type": "string",
|
|
1077
|
+
"description": "Website domain"
|
|
1078
|
+
}
|
|
1079
|
+
},
|
|
1080
|
+
"required": [
|
|
1081
|
+
"username",
|
|
1082
|
+
"domain"
|
|
1083
|
+
]
|
|
1084
|
+
},
|
|
1085
|
+
"security": [
|
|
1086
|
+
{
|
|
1087
|
+
"apiToken": []
|
|
1088
|
+
}
|
|
1089
|
+
],
|
|
1090
|
+
"group": "hosting"
|
|
1091
|
+
},
|
|
1063
1092
|
{
|
|
1064
1093
|
"name": "hosting_listWebsiteFilesAndDirectoriesV1",
|
|
1065
1094
|
"description": "List files and directories under a website's document root.\n\nUse `directory` to browse a subdirectory relative to the document root. Symlinked entries\nare listed but never traversed into or resolved.",
|
|
@@ -1212,9 +1241,122 @@ const tools: OpenApiTool[] = [
|
|
|
1212
1241
|
],
|
|
1213
1242
|
"group": "hosting"
|
|
1214
1243
|
},
|
|
1244
|
+
{
|
|
1245
|
+
"name": "hosting_startNode_jsBuildV1",
|
|
1246
|
+
"description": "Start a Node.js build process using files already present on the website's file storage.\n\nWARNING: on success this overwrites the website's existing contents and cannot be\nundone — verify this is intended before calling this endpoint.\n\nThe `source_type` must be `archive` and `source_options.archive_path` must point to an\nexisting archive file on the server (relative to the website document root).\nUse the `Generate Upload URL` endpoint to obtain credentials and upload the archive first.\n\nTo auto-detect build settings from an archive before starting, first call the\n`Get Node.js Build Settings from Archive` endpoint. To upload an archive and start\na build in one step, use the `Create Node.js Build from Archive` endpoint instead.\n\nThe returned build `uuid` can be used to poll progress and retrieve logs via\nthe `Get Node.js Build Logs` endpoint.",
|
|
1247
|
+
"method": "POST",
|
|
1248
|
+
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds",
|
|
1249
|
+
"inputSchema": {
|
|
1250
|
+
"type": "object",
|
|
1251
|
+
"properties": {
|
|
1252
|
+
"username": {
|
|
1253
|
+
"type": "string",
|
|
1254
|
+
"description": "username parameter"
|
|
1255
|
+
},
|
|
1256
|
+
"domain": {
|
|
1257
|
+
"type": "string",
|
|
1258
|
+
"description": "Domain name"
|
|
1259
|
+
},
|
|
1260
|
+
"node_version": {
|
|
1261
|
+
"type": "integer",
|
|
1262
|
+
"description": "Node.js version",
|
|
1263
|
+
"enum": [
|
|
1264
|
+
18,
|
|
1265
|
+
20,
|
|
1266
|
+
22,
|
|
1267
|
+
24
|
|
1268
|
+
]
|
|
1269
|
+
},
|
|
1270
|
+
"app_type": {
|
|
1271
|
+
"type": "string",
|
|
1272
|
+
"description": "Node.js application type",
|
|
1273
|
+
"enum": [
|
|
1274
|
+
"create-react-app",
|
|
1275
|
+
"gatsby",
|
|
1276
|
+
"vite",
|
|
1277
|
+
"angular",
|
|
1278
|
+
"react",
|
|
1279
|
+
"vue",
|
|
1280
|
+
"parcel",
|
|
1281
|
+
"next",
|
|
1282
|
+
"nuxt",
|
|
1283
|
+
"nest",
|
|
1284
|
+
"express",
|
|
1285
|
+
"fastify",
|
|
1286
|
+
"astro",
|
|
1287
|
+
"svelte",
|
|
1288
|
+
"svelte-kit",
|
|
1289
|
+
"hono",
|
|
1290
|
+
"react-router",
|
|
1291
|
+
"nitro",
|
|
1292
|
+
"other"
|
|
1293
|
+
]
|
|
1294
|
+
},
|
|
1295
|
+
"root_directory": {
|
|
1296
|
+
"type": "string",
|
|
1297
|
+
"description": "Application root directory (where package.json is located) relative to public_html"
|
|
1298
|
+
},
|
|
1299
|
+
"output_directory": {
|
|
1300
|
+
"type": "string",
|
|
1301
|
+
"description": "Build output directory relative to the root directory"
|
|
1302
|
+
},
|
|
1303
|
+
"build_script": {
|
|
1304
|
+
"type": "string",
|
|
1305
|
+
"description": "Build script that will be ran to build the application"
|
|
1306
|
+
},
|
|
1307
|
+
"entry_file": {
|
|
1308
|
+
"type": "string",
|
|
1309
|
+
"description": "The main entry point file for the application"
|
|
1310
|
+
},
|
|
1311
|
+
"package_manager": {
|
|
1312
|
+
"type": "string",
|
|
1313
|
+
"description": "Package manager",
|
|
1314
|
+
"enum": [
|
|
1315
|
+
"npm",
|
|
1316
|
+
"yarn",
|
|
1317
|
+
"pnpm"
|
|
1318
|
+
]
|
|
1319
|
+
},
|
|
1320
|
+
"source_type": {
|
|
1321
|
+
"type": "string",
|
|
1322
|
+
"description": "The source type of the files",
|
|
1323
|
+
"enum": [
|
|
1324
|
+
"archive"
|
|
1325
|
+
]
|
|
1326
|
+
},
|
|
1327
|
+
"source_options": {
|
|
1328
|
+
"type": "object",
|
|
1329
|
+
"description": "Source-specific options",
|
|
1330
|
+
"properties": {
|
|
1331
|
+
"archive_path": {
|
|
1332
|
+
"type": "string",
|
|
1333
|
+
"description": "The path to the archive file relative to the document root of the vhost (required if source is \"archive\")"
|
|
1334
|
+
}
|
|
1335
|
+
}
|
|
1336
|
+
}
|
|
1337
|
+
},
|
|
1338
|
+
"required": [
|
|
1339
|
+
"username",
|
|
1340
|
+
"domain",
|
|
1341
|
+
"node_version",
|
|
1342
|
+
"app_type",
|
|
1343
|
+
"root_directory",
|
|
1344
|
+
"output_directory",
|
|
1345
|
+
"build_script",
|
|
1346
|
+
"source_type",
|
|
1347
|
+
"source_options"
|
|
1348
|
+
]
|
|
1349
|
+
},
|
|
1350
|
+
"security": [
|
|
1351
|
+
{
|
|
1352
|
+
"apiToken": []
|
|
1353
|
+
}
|
|
1354
|
+
],
|
|
1355
|
+
"group": "hosting"
|
|
1356
|
+
},
|
|
1215
1357
|
{
|
|
1216
1358
|
"name": "hosting_createNodeJSBuildFromArchiveV1",
|
|
1217
|
-
"description": "Upload a project archive, auto-detect build settings, and immediately start a Node.js build.\n\nThis is the recommended single-step approach for deploying a Node.js application.\nThe archive is uploaded to the website's file storage, build settings are auto-detected\nfrom the package.json inside the archive, and the build process starts automatically.\nOptional override fields take precedence over auto-detected values.\nMaximum archive size is 50MB.\n\nBefore archiving, exclude `node_modules/` and any build output directories\n(e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build\nprocess runs the install step automatically, and including them unnecessarily\nincreases the archive size. This also helps keep the archive well under the 50MB limit.\n\nExample (zip):\n```\nzip -r archive.zip . --exclude \"node_modules/*\" --exclude \"dist/*\"\n```\n\nThe returned build `uuid` can be used to poll progress and retrieve logs via\nthe `Get Node.js Build Logs` endpoint.",
|
|
1359
|
+
"description": "Upload a project archive, auto-detect build settings, and immediately start a Node.js build.\n\nWARNING: on success this overwrites the website's existing contents and cannot be\nundone — verify this is intended before calling this endpoint.\n\nThis is the recommended single-step approach for deploying a Node.js application.\nThe archive is uploaded to the website's file storage, build settings are auto-detected\nfrom the package.json inside the archive, and the build process starts automatically.\nOptional override fields take precedence over auto-detected values.\nMaximum archive size is 50MB.\n\nBefore archiving, exclude `node_modules/` and any build output directories\n(e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build\nprocess runs the install step automatically, and including them unnecessarily\nincreases the archive size. This also helps keep the archive well under the 50MB limit.\n\nExample (zip):\n```\nzip -r archive.zip . --exclude \"node_modules/*\" --exclude \"dist/*\"\n```\n\nThe returned build `uuid` can be used to poll progress and retrieve logs via\nthe `Get Node.js Build Logs` endpoint.",
|
|
1218
1360
|
"method": "POST",
|
|
1219
1361
|
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/from-archive",
|
|
1220
1362
|
"inputSchema": {
|
|
@@ -1306,6 +1448,40 @@ const tools: OpenApiTool[] = [
|
|
|
1306
1448
|
],
|
|
1307
1449
|
"group": "hosting"
|
|
1308
1450
|
},
|
|
1451
|
+
{
|
|
1452
|
+
"name": "hosting_getNode_jsBuildSettingsFromArchiveV1",
|
|
1453
|
+
"description": "Auto-detect Node.js build settings from a package.json inside an archive already on the server.\n\nUse this before calling `Start Node.js Build` to preview what settings will be used,\nor to let the user review and override values (framework, node version, root directory,\noutput directory, build script) before committing to a build.\n\nThe archive must already be present on the website's file storage. Use the\n`Generate Upload URL` endpoint to obtain credentials and upload the archive first.\nTo upload an archive and start a build in one step without inspecting settings first,\nuse the `Create Node.js Build from Archive` endpoint instead.",
|
|
1454
|
+
"method": "GET",
|
|
1455
|
+
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/settings/from-archive",
|
|
1456
|
+
"inputSchema": {
|
|
1457
|
+
"type": "object",
|
|
1458
|
+
"properties": {
|
|
1459
|
+
"username": {
|
|
1460
|
+
"type": "string",
|
|
1461
|
+
"description": "username parameter"
|
|
1462
|
+
},
|
|
1463
|
+
"domain": {
|
|
1464
|
+
"type": "string",
|
|
1465
|
+
"description": "Domain name"
|
|
1466
|
+
},
|
|
1467
|
+
"archive_path": {
|
|
1468
|
+
"type": "string",
|
|
1469
|
+
"description": "The path to the archive file relative to the document root of the vhost"
|
|
1470
|
+
}
|
|
1471
|
+
},
|
|
1472
|
+
"required": [
|
|
1473
|
+
"username",
|
|
1474
|
+
"domain",
|
|
1475
|
+
"archive_path"
|
|
1476
|
+
]
|
|
1477
|
+
},
|
|
1478
|
+
"security": [
|
|
1479
|
+
{
|
|
1480
|
+
"apiToken": []
|
|
1481
|
+
}
|
|
1482
|
+
],
|
|
1483
|
+
"group": "hosting"
|
|
1484
|
+
},
|
|
1309
1485
|
{
|
|
1310
1486
|
"name": "hosting_getNodeJSBuildLogsV1",
|
|
1311
1487
|
"description": "Retrieve logs from a specific Node.js build process.\n\nTo stream live output while a build is running, poll this endpoint repeatedly\nwhile the build state is `running`, passing the previously returned `lines` count\nas `from_line` to fetch only new output since the last call.\nLog content may contain ANSI escape sequences (color codes).",
|
|
@@ -1889,6 +2065,40 @@ const tools: OpenApiTool[] = [
|
|
|
1889
2065
|
],
|
|
1890
2066
|
"group": "hosting"
|
|
1891
2067
|
},
|
|
2068
|
+
{
|
|
2069
|
+
"name": "hosting_deployStaticSiteArchiveV1",
|
|
2070
|
+
"description": "Deploy a static application from an archive file.\n\nWARNING: this overwrites the website's existing contents and cannot be undone —\nverify this is intended before calling this endpoint.\n\nThis endpoint allows you to deploy a static application from an archive\nfile that has been uploaded to the website's directory.\n\nThis only works for static sites (pre-built HTML/CSS/JS with no build step). For\nNode.js applications, use `Create NodeJS build from archive` instead, or\n`Start Node.js build` if the archive is already uploaded. For WordPress sites,\nuse `Import WordPress website`.",
|
|
2071
|
+
"method": "POST",
|
|
2072
|
+
"path": "/api/hosting/v1/accounts/{username}/websites/{domain}/deploy",
|
|
2073
|
+
"inputSchema": {
|
|
2074
|
+
"type": "object",
|
|
2075
|
+
"properties": {
|
|
2076
|
+
"username": {
|
|
2077
|
+
"type": "string",
|
|
2078
|
+
"description": "username parameter"
|
|
2079
|
+
},
|
|
2080
|
+
"domain": {
|
|
2081
|
+
"type": "string",
|
|
2082
|
+
"description": "Domain name"
|
|
2083
|
+
},
|
|
2084
|
+
"archive_path": {
|
|
2085
|
+
"type": "string",
|
|
2086
|
+
"description": "Relative path to the archive file from website root directory"
|
|
2087
|
+
}
|
|
2088
|
+
},
|
|
2089
|
+
"required": [
|
|
2090
|
+
"username",
|
|
2091
|
+
"domain",
|
|
2092
|
+
"archive_path"
|
|
2093
|
+
]
|
|
2094
|
+
},
|
|
2095
|
+
"security": [
|
|
2096
|
+
{
|
|
2097
|
+
"apiToken": []
|
|
2098
|
+
}
|
|
2099
|
+
],
|
|
2100
|
+
"group": "hosting"
|
|
2101
|
+
},
|
|
1892
2102
|
{
|
|
1893
2103
|
"name": "hosting_deleteWebsiteV1",
|
|
1894
2104
|
"description": "This endpoint permanently removes a website and all of its data. This action\ncannot be undone. Before calling it, make sure the user understands the\nconsequences and explicitly confirms that they want to proceed.\n\nAll website files, databases and related configuration will be removed.\nThe hosting plan itself is kept, so a new website can be created on it afterwards.\n\nSupported websites: main and addon domain websites on web hosting plans, and\nWebsite Builder websites. Parked domains and subdomains cannot be deleted with\nthis endpoint. The domain must be the exact website domain, not a preview\ndomain or an alias.\n\nReturns 404 when the domain does not exist or does not belong to the\nauthenticated client.\n\nWebsite removal is processed asynchronously and can take a few minutes to\ncomplete. The response returns before the removal finishes.",
|