hostinger-api-mcp 3.11.0 → 3.12.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/CHANGELOG.md +35 -0
- package/README.md +101 -22
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/skills/deploy-to-hosting/SKILL.md +1 -1
- package/src/core/runtime.js +117 -28
- package/src/core/runtime.ts +117 -28
- package/src/core/skills.js +3 -3
- package/src/core/skills.ts +3 -3
- package/src/core/tools/all.js +253 -11
- package/src/core/tools/all.ts +253 -11
- package/src/core/tools/hosting.js +23 -9
- package/src/core/tools/hosting.ts +23 -9
- package/src/core/tools/reach.js +230 -2
- package/src/core/tools/reach.ts +230 -2
- package/src/servers/agency-hosting.js +1 -1
- package/src/servers/agency-hosting.ts +1 -1
- package/src/servers/agent-readiness.js +1 -1
- package/src/servers/agent-readiness.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 +159 -11
package/src/servers/mail.ts
CHANGED
package/src/servers/reach.js
CHANGED
package/src/servers/reach.ts
CHANGED
package/src/servers/vps.js
CHANGED
package/src/servers/vps.ts
CHANGED
package/src/servers/wordpress.js
CHANGED
package/src/servers/wordpress.ts
CHANGED
package/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
export interface APITools {
|
|
7
7
|
/**
|
|
8
|
-
* Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. A plugin or theme goes into the site's WordPress installation, also when WordPress is in a folder of the document root (headless). Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored,
|
|
8
|
+
* Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. A plugin or theme goes into the site's WordPress installation, also when WordPress is in a folder of the document root (headless). Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, they are detected from the branch's package.json; pass appType, nodeVersion, outputDirectory, buildScript or entryFile to override them). Git needs GitHub or GitLab connected once in hPanel.
|
|
9
9
|
*/
|
|
10
10
|
"hosting_deploy": {
|
|
11
11
|
params: {
|
|
@@ -38,7 +38,7 @@ export interface APITools {
|
|
|
38
38
|
*/
|
|
39
39
|
databaseDump?: string;
|
|
40
40
|
/**
|
|
41
|
-
* Node.js major version (default: detected from an archive, or stored for the site, else
|
|
41
|
+
* Node.js major version (default: detected from an archive, or stored for the site, else detected from the branch's package.json, else 22)
|
|
42
42
|
*/
|
|
43
43
|
nodeVersion?: number;
|
|
44
44
|
/**
|
|
@@ -50,17 +50,17 @@ export interface APITools {
|
|
|
50
50
|
*/
|
|
51
51
|
rootDirectory?: string;
|
|
52
52
|
/**
|
|
53
|
-
* Build output directory relative to the root directory, e.g. dist
|
|
53
|
+
* Build output directory relative to the root directory, e.g. dist. Pass null to clear a stored value.
|
|
54
54
|
*/
|
|
55
|
-
outputDirectory?: string;
|
|
55
|
+
outputDirectory?: string | null;
|
|
56
56
|
/**
|
|
57
|
-
* The package.json script that builds the app, e.g. build
|
|
57
|
+
* The package.json script that builds the app, e.g. build. Pass null to clear a stored value.
|
|
58
58
|
*/
|
|
59
|
-
buildScript?: string;
|
|
59
|
+
buildScript?: string | null;
|
|
60
60
|
/**
|
|
61
|
-
* Entry file of a server app. Relative to the root directory for express, fastify, hono, react-router and other; for a compiled (TypeScript) app give the built file, e.g. dist/server.js, because detection guesses a root-level file. Relative to the output directory for nest, nuxt, nitro, astro and svelte-kit (main.js, not dist/main.js). Ignored for next.
|
|
61
|
+
* Entry file of a server app. Relative to the root directory for express, fastify, hono, react-router and other; for a compiled (TypeScript) app give the built file, e.g. dist/server.js, because detection guesses a root-level file. Relative to the output directory for nest, nuxt, nitro, astro and svelte-kit (main.js, not dist/main.js). Ignored for next. Pass null to clear a stored value.
|
|
62
62
|
*/
|
|
63
|
-
entryFile?: string;
|
|
63
|
+
entryFile?: string | null;
|
|
64
64
|
/**
|
|
65
65
|
* Package manager used to install dependencies
|
|
66
66
|
*/
|
|
@@ -6707,7 +6707,8 @@ steps yet returns an empty list.
|
|
|
6707
6707
|
progress.
|
|
6708
6708
|
|
|
6709
6709
|
This describes how the campaign was set up and how far it has got. For opens, clicks and
|
|
6710
|
-
unsubscribes use the campaign statistics endpoint.
|
|
6710
|
+
unsubscribes use the campaign statistics endpoint. The email content is not included: pass
|
|
6711
|
+
`template_uuid` to the get email template endpoint to read its HTML.
|
|
6711
6712
|
*/
|
|
6712
6713
|
"reach_campaigns_get": {
|
|
6713
6714
|
params: {
|
|
@@ -8231,12 +8232,56 @@ full address: Reach adds the profile's connected sending domain itself.
|
|
|
8231
8232
|
response: any; // Response structure will depend on the API
|
|
8232
8233
|
};
|
|
8233
8234
|
|
|
8235
|
+
/**
|
|
8236
|
+
* Disconnect an eCommerce store from the profile.
|
|
8237
|
+
|
|
8238
|
+
Reach stops receiving the store's customers and orders, and its products and coupons are
|
|
8239
|
+
removed from Reach; contacts and past orders stay. Take `store_id` from the list eCommerce
|
|
8240
|
+
stores endpoint; for a store that is `connected_to_other_profile`, call this with that
|
|
8241
|
+
profile. Also succeeds when the store is not connected to this profile, so success is not
|
|
8242
|
+
proof that anything was disconnected. Confirm the store and the plan with the customer
|
|
8243
|
+
before calling.
|
|
8244
|
+
*/
|
|
8245
|
+
"reach_integrations_disconnect-ecommerce-store": {
|
|
8246
|
+
params: {
|
|
8247
|
+
/**
|
|
8248
|
+
* Profile uuid parameter
|
|
8249
|
+
*/
|
|
8250
|
+
profileUuid: string;
|
|
8251
|
+
/**
|
|
8252
|
+
* Hostinger eCommerce store ID, as returned by the eCommerce stores list
|
|
8253
|
+
*/
|
|
8254
|
+
storeId: string;
|
|
8255
|
+
};
|
|
8256
|
+
response: any; // Response structure will depend on the API
|
|
8257
|
+
};
|
|
8258
|
+
|
|
8259
|
+
/**
|
|
8260
|
+
* Get all of the customer's Hostinger eCommerce stores, each with its `store_id` and
|
|
8261
|
+
`connection_status` for the profile in the path.
|
|
8262
|
+
|
|
8263
|
+
A store is connected to at most one profile. `connected_to_other_profile` does not name that
|
|
8264
|
+
profile - call this for each profile to find it. The list is empty, not an error, when the
|
|
8265
|
+
eCommerce service cannot be reached. Pass `store_id` to the disconnect eCommerce store
|
|
8266
|
+
endpoint. Connecting an AI Website Builder site connects the store selling on it.
|
|
8267
|
+
*/
|
|
8268
|
+
"reach_integrations_list-ecommerce-stores": {
|
|
8269
|
+
params: {
|
|
8270
|
+
/**
|
|
8271
|
+
* Profile uuid parameter
|
|
8272
|
+
*/
|
|
8273
|
+
profileUuid: string;
|
|
8274
|
+
};
|
|
8275
|
+
response: any; // Response structure will depend on the API
|
|
8276
|
+
};
|
|
8277
|
+
|
|
8234
8278
|
/**
|
|
8235
8279
|
* Get a list of the email templates in a profile, most recently updated first.
|
|
8236
8280
|
|
|
8237
8281
|
Templates are the reusable email bodies a campaign is built from. The list is not paginated
|
|
8238
|
-
and only the metadata is returned
|
|
8239
|
-
|
|
8282
|
+
and only the metadata is returned, without the HTML content. Use the `uuid` of a template
|
|
8283
|
+
as the `template_uuid` when creating a campaign. To read one template's HTML use the get
|
|
8284
|
+
email template endpoint, and only when the content itself is needed.
|
|
8240
8285
|
*/
|
|
8241
8286
|
"reach_templates_list-email": {
|
|
8242
8287
|
params: {
|
|
@@ -8275,6 +8320,109 @@ the markup self-contained.
|
|
|
8275
8320
|
response: any; // Response structure will depend on the API
|
|
8276
8321
|
};
|
|
8277
8322
|
|
|
8323
|
+
/**
|
|
8324
|
+
* Get one email template of the profile with its full HTML in `template_content`.
|
|
8325
|
+
|
|
8326
|
+
A campaign's email content is its template: to read what a campaign sends, get the campaign
|
|
8327
|
+
and pass its `template_uuid` here. The HTML can be large, so fetch it only when the content
|
|
8328
|
+
itself is needed, never to browse or pick templates - the list email templates endpoint does
|
|
8329
|
+
that without content. Personalization tags such as `{{name}}` come back unrendered.
|
|
8330
|
+
*/
|
|
8331
|
+
"reach_templates_email": {
|
|
8332
|
+
params: {
|
|
8333
|
+
/**
|
|
8334
|
+
* Profile uuid parameter
|
|
8335
|
+
*/
|
|
8336
|
+
profileUuid: string;
|
|
8337
|
+
/**
|
|
8338
|
+
* Template uuid parameter
|
|
8339
|
+
*/
|
|
8340
|
+
templateUuid: string;
|
|
8341
|
+
};
|
|
8342
|
+
response: any; // Response structure will depend on the API
|
|
8343
|
+
};
|
|
8344
|
+
|
|
8345
|
+
/**
|
|
8346
|
+
* Get the websites connected to the profile, each with its `domain` and `platform_type`.
|
|
8347
|
+
|
|
8348
|
+
A domain is connected to at most one profile, so to find which plan a site is on, call this
|
|
8349
|
+
for each profile. Only connected sites are listed, not every website the customer owns, and
|
|
8350
|
+
eCommerce stores are not included - use the list eCommerce stores endpoint for those. Pass
|
|
8351
|
+
`domain` to the disconnect WordPress site or disconnect AI Website Builder site endpoint.
|
|
8352
|
+
*/
|
|
8353
|
+
"reach_integrations_list-connected-websites": {
|
|
8354
|
+
params: {
|
|
8355
|
+
/**
|
|
8356
|
+
* Profile uuid parameter
|
|
8357
|
+
*/
|
|
8358
|
+
profileUuid: string;
|
|
8359
|
+
};
|
|
8360
|
+
response: any; // Response structure will depend on the API
|
|
8361
|
+
};
|
|
8362
|
+
|
|
8363
|
+
/**
|
|
8364
|
+
* Connect an AI Website Builder site the customer built manually to the profile, so its
|
|
8365
|
+
subscribers flow into Reach.
|
|
8366
|
+
|
|
8367
|
+
Fails with not found when the customer owns no AI Website Builder site with that domain.
|
|
8368
|
+
Fails with `DOMAIN_ALREADY_EXISTS` when the domain is connected to any profile - to move a
|
|
8369
|
+
site to another plan, disconnect it from the old profile first - and with
|
|
8370
|
+
`WEBSITE_CONNECTION_ALREADY_EXISTS` when this profile already has an AI Website Builder site.
|
|
8371
|
+
The eCommerce store selling on the site, if it is not connected anywhere, is connected too.
|
|
8372
|
+
WordPress sites and sites made with the agentic AI Website Builder cannot be connected here.
|
|
8373
|
+
*/
|
|
8374
|
+
"reach_integrations_connect-ai-website-builder-site": {
|
|
8375
|
+
params: {
|
|
8376
|
+
/**
|
|
8377
|
+
* Profile uuid parameter
|
|
8378
|
+
*/
|
|
8379
|
+
profileUuid: string;
|
|
8380
|
+
/**
|
|
8381
|
+
* domain parameter
|
|
8382
|
+
*/
|
|
8383
|
+
domain: string;
|
|
8384
|
+
};
|
|
8385
|
+
response: any; // Response structure will depend on the API
|
|
8386
|
+
};
|
|
8387
|
+
|
|
8388
|
+
/**
|
|
8389
|
+
* Disconnect an AI Website Builder site from the profile; the site stops sending subscribers
|
|
8390
|
+
to Reach.
|
|
8391
|
+
|
|
8392
|
+
Take `domain` from the list connected websites endpoint. Works for a site that was already
|
|
8393
|
+
deleted in the builder. Fails with not found when the domain is not connected to this
|
|
8394
|
+
profile. Contacts and any connected eCommerce store stay. The site stays disconnected until
|
|
8395
|
+
it is connected again, so confirm the site and the plan with the customer before calling.
|
|
8396
|
+
*/
|
|
8397
|
+
"reach_integrations_disconnect-ai-website-builder-site": {
|
|
8398
|
+
params: {
|
|
8399
|
+
/**
|
|
8400
|
+
* Profile uuid parameter
|
|
8401
|
+
*/
|
|
8402
|
+
profileUuid: string;
|
|
8403
|
+
};
|
|
8404
|
+
response: any; // Response structure will depend on the API
|
|
8405
|
+
};
|
|
8406
|
+
|
|
8407
|
+
/**
|
|
8408
|
+
* Disconnect a WordPress site from the profile.
|
|
8409
|
+
|
|
8410
|
+
The Reach plugin on the site stops sending subscribers and store data, and the site's
|
|
8411
|
+
products and coupons are removed from Reach; contacts and past orders stay. Take `domain`
|
|
8412
|
+
from the list connected websites endpoint. Fails with not found when the domain is not
|
|
8413
|
+
connected to this profile. This cannot be undone through the API - the customer reconnects
|
|
8414
|
+
from the WordPress plugin - so confirm the site and the plan with the customer before calling.
|
|
8415
|
+
*/
|
|
8416
|
+
"reach_integrations_disconnect-wordpress-site": {
|
|
8417
|
+
params: {
|
|
8418
|
+
/**
|
|
8419
|
+
* Profile uuid parameter
|
|
8420
|
+
*/
|
|
8421
|
+
profileUuid: string;
|
|
8422
|
+
};
|
|
8423
|
+
response: any; // Response structure will depend on the API
|
|
8424
|
+
};
|
|
8425
|
+
|
|
8278
8426
|
/**
|
|
8279
8427
|
* Retrieve all available data centers.
|
|
8280
8428
|
|