hostinger-api-mcp 3.17.3 → 3.18.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.
Files changed (46) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +36 -137
  3. package/gemini-extension.json +1 -1
  4. package/package.json +1 -1
  5. package/server.json +2 -2
  6. package/skills/audit-hosting/SKILL.md +1 -1
  7. package/skills/connect-domain/SKILL.md +1 -1
  8. package/skills/deploy-to-hosting/SKILL.md +1 -1
  9. package/skills/troubleshoot-website/SKILL.md +5 -5
  10. package/src/core/runtime.js +152 -2
  11. package/src/core/runtime.ts +152 -2
  12. package/src/core/skills.js +12 -12
  13. package/src/core/skills.ts +12 -12
  14. package/src/core/tools/all.js +182 -12
  15. package/src/core/tools/all.ts +182 -12
  16. package/src/core/tools/hosting.js +145 -10
  17. package/src/core/tools/hosting.ts +145 -10
  18. package/src/core/tools/reach.js +37 -2
  19. package/src/core/tools/reach.ts +37 -2
  20. package/src/servers/agency-hosting.js +1 -1
  21. package/src/servers/agency-hosting.ts +1 -1
  22. package/src/servers/agent-readiness.js +1 -1
  23. package/src/servers/agent-readiness.ts +1 -1
  24. package/src/servers/all.js +1 -1
  25. package/src/servers/all.ts +1 -1
  26. package/src/servers/billing.js +1 -1
  27. package/src/servers/billing.ts +1 -1
  28. package/src/servers/dns.js +1 -1
  29. package/src/servers/dns.ts +1 -1
  30. package/src/servers/domains.js +1 -1
  31. package/src/servers/domains.ts +1 -1
  32. package/src/servers/ecommerce.js +1 -1
  33. package/src/servers/ecommerce.ts +1 -1
  34. package/src/servers/horizons.js +1 -1
  35. package/src/servers/horizons.ts +1 -1
  36. package/src/servers/hosting.js +1 -1
  37. package/src/servers/hosting.ts +1 -1
  38. package/src/servers/mail.js +1 -1
  39. package/src/servers/mail.ts +1 -1
  40. package/src/servers/reach.js +1 -1
  41. package/src/servers/reach.ts +1 -1
  42. package/src/servers/vps.js +1 -1
  43. package/src/servers/vps.ts +1 -1
  44. package/src/servers/wordpress.js +1 -1
  45. package/src/servers/wordpress.ts +1 -1
  46. package/types.d.ts +92 -4
package/types.d.ts CHANGED
@@ -90,6 +90,69 @@ export interface APITools {
90
90
  response: any; // Response structure will depend on the API
91
91
  };
92
92
 
93
+ /**
94
+ * Read a website's SSL certificate, HTTPS redirect, CDN and server cache settings in one call. ssl is the SSL status as hosting_ssl_status returns it: the certificate status (active, installing, waiting_for_retry, failed, expired or not_installed) and provider, whether it is a lifetime certificate, whether HTTP is redirected to HTTPS, when it expires and the last installation error. cdn.is_enabled says whether the Hostinger CDN serves the website. cache.is_enabled says whether server-side caching is on, and cache.is_cacheless_mode_enabled whether development (cacheless) mode bypasses it. Use it before hosting_websites_update-settings, and to follow an SSL installation started by hosting_ssl_install: poll until ssl.status is active or failed, with growing pauses. A section that cannot be read comes back as { error } and the others are still returned; cache is null with a cacheNote when cache status is not available. To install or remove a certificate use hosting_ssl_install or hosting_ssl_uninstall. Works for Shared and Cloud hosting websites.
95
+ */
96
+ "hosting_websites_get-settings": {
97
+ params: {
98
+ /**
99
+ * Domain name of the website, exactly as listed on the account and without www. (e.g., example.com)
100
+ */
101
+ domain: string;
102
+ };
103
+ response: any; // Response structure will depend on the API
104
+ };
105
+
106
+ /**
107
+ * Change a website's HTTPS redirect, CDN and server cache settings in one call. Pass only the settings to change, at least one. Settings are applied in the order cache, cachelessMode, cdn, httpsRedirect, and the call stops at the first failure. applied lists the settings that were changed. When a setting fails, the call returns an error whose text is the same JSON: failed names the setting and why, and skipped lists the ones not attempted; a multi-execute batch stops there too. Turning httpsRedirect on needs an active SSL certificate: the call checks it first and changes nothing when there is none. Install one with hosting_ssl_install and wait until hosting_websites_get-settings shows ssl.status active. cachelessMode is applied in the background and takes effect within a few minutes; enabling the CDN changes DNS records, so visitors are served through it after a few minutes of propagation. Certificates are not installed or removed here: use hosting_ssl_install and hosting_ssl_uninstall. Read the current values with hosting_websites_get-settings. Works for Shared and Cloud hosting websites.
108
+ */
109
+ "hosting_websites_update-settings": {
110
+ params: {
111
+ /**
112
+ * Domain name of the website, exactly as listed on the account and without www. (e.g., example.com)
113
+ */
114
+ domain: string;
115
+ /**
116
+ * Turn server-side caching on (true) or off (false). Keep it on for production websites; to bypass it while developing, use cachelessMode instead.
117
+ */
118
+ cache?: boolean;
119
+ /**
120
+ * Turn development (cacheless) mode on (true) or off (false). While it is on nothing is cached, so changes show at once; turn it off when done. Applied in the background within a few minutes.
121
+ */
122
+ cachelessMode?: boolean;
123
+ /**
124
+ * Turn the Hostinger CDN on (true) or off (false). Changes DNS records; propagation takes a few minutes. Cannot be turned off for platform-managed domains (*.hostingersite.com).
125
+ */
126
+ cdn?: boolean;
127
+ /**
128
+ * Redirect HTTP to HTTPS (true) or stop redirecting (false). Turning it on needs an active SSL certificate (see hosting_ssl_install).
129
+ */
130
+ httpsRedirect?: boolean;
131
+ };
132
+ response: any; // Response structure will depend on the API
133
+ };
134
+
135
+ /**
136
+ * Clear a website's server cache (the hosting server's page cache) and Hostinger CDN cache, so updated content shows at once. By default (scope: all) it clears the server cache and, when the CDN is on, purges the CDN too. scope: cdn purges only the CDN edge cache and leaves the server cache alone; that fails with 422 when the CDN is off. For a WordPress site installed in a subdirectory, pass directory to clear that installation's cache (only with scope all). This does not purge the WordPress LiteSpeed Cache plugin: that is a separate WordPress operation (wordpress_litespeed-cache_purge-lite-speed). To turn caching or the CDN on or off use hosting_websites_update-settings. Works for Shared and Cloud hosting websites.
137
+ */
138
+ "hosting_cache_clear": {
139
+ params: {
140
+ /**
141
+ * Domain name of the website, exactly as listed on the account and without www. (e.g., example.com)
142
+ */
143
+ domain: string;
144
+ /**
145
+ * What to clear: all (default) clears the server cache and, when the CDN is on, the CDN too; cdn purges only the CDN edge cache and fails when the CDN is off.
146
+ */
147
+ scope?: string;
148
+ /**
149
+ * WordPress installed in a subdirectory: its directory relative to the website root (e.g., blog), to clear that installation's cache. Only when scope is all; default the website root.
150
+ */
151
+ directory?: string;
152
+ };
153
+ response: any; // Response structure will depend on the API
154
+ };
155
+
93
156
  /**
94
157
  * Deploy a node-static Agency Plan (h5g) website from an archive file. WARNING: this overwrites the website's existing contents and cannot be undone — always confirm with the user before proceeding. Use this for Agency Plan websites of type node-static (a Node.js-built static site that requires a build step or a plain simple static site). The tool resolves the website from its domain, uploads the archive to the website's file browser over TUS, and triggers the build-assets process which builds the site and deploys the result to public_html. This operation is synchronous: the build and deployment complete before the tool returns, so the website is live as soon as the tool finishes successfully — there is no separate asynchronous build to wait for or poll. 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. For plain PHP applications that should be extracted as-is, use agency-hosting_deploy-php-application instead. The website UID is automatically resolved from the domain.
95
158
  */
@@ -8285,6 +8348,31 @@ full address: Reach adds the profile's connected sending domain itself.
8285
8348
  response: any; // Response structure will depend on the API
8286
8349
  };
8287
8350
 
8351
+ /**
8352
+ * Connect one of the customer's eCommerce stores to the profile, so Reach receives its
8353
+ customers and orders.
8354
+
8355
+ Take `store_id` from the list eCommerce stores endpoint. Fails with not found
8356
+ (`ECOMMERCE_STORE_NOT_FOUND`) when the store is not one of the customer's own stores, also
8357
+ when the eCommerce service cannot be reached. Fails with a conflict
8358
+ (`ECOMMERCE_CONNECTION_ALREADY_EXISTS`) when the store is connected to any profile or this
8359
+ profile already has a store - to move a store to another plan, disconnect it from the
8360
+ profile that holds it first.
8361
+ */
8362
+ "reach_integrations_connect-ecommerce-store": {
8363
+ params: {
8364
+ /**
8365
+ * Profile uuid parameter
8366
+ */
8367
+ profileUuid: string;
8368
+ /**
8369
+ * Hostinger eCommerce store ID, as returned by the eCommerce stores list
8370
+ */
8371
+ storeId: string;
8372
+ };
8373
+ response: any; // Response structure will depend on the API
8374
+ };
8375
+
8288
8376
  /**
8289
8377
  * Disconnect an eCommerce store from the profile.
8290
8378
 
@@ -8292,8 +8380,8 @@ Reach stops receiving the store's customers and orders, and its products and cou
8292
8380
  removed from Reach; contacts and past orders stay. Take `store_id` from the list eCommerce
8293
8381
  stores endpoint; for a store that is `connected_to_other_profile`, call this with that
8294
8382
  profile. Also succeeds when the store is not connected to this profile, so success is not
8295
- proof that anything was disconnected. Confirm the store and the plan with the customer
8296
- before calling.
8383
+ proof that anything was disconnected. To move the store to another plan, connect it to the
8384
+ new profile afterwards. Confirm the store and the plan with the customer before calling.
8297
8385
  */
8298
8386
  "reach_integrations_disconnect-ecommerce-store": {
8299
8387
  params: {
@@ -8315,8 +8403,8 @@ before calling.
8315
8403
 
8316
8404
  A store is connected to at most one profile. `connected_to_other_profile` does not name that
8317
8405
  profile - call this for each profile to find it. The list is empty, not an error, when the
8318
- eCommerce service cannot be reached. Pass `store_id` to the disconnect eCommerce store
8319
- endpoint. Connecting an AI Website Builder site connects the store selling on it.
8406
+ eCommerce service cannot be reached. Pass `store_id` to the connect or disconnect eCommerce
8407
+ store endpoint.
8320
8408
  */
8321
8409
  "reach_integrations_list-ecommerce-stores": {
8322
8410
  params: {