hostinger-api-mcp 3.25.0 → 3.25.1
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 +13 -0
- package/README.md +7 -7
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/skills/headless/VERSION +1 -1
- package/src/core/runtime.js +1 -1
- package/src/core/runtime.ts +1 -1
- package/src/core/tools/all.js +4 -4
- package/src/core/tools/all.ts +4 -4
- package/src/core/tools/hosting.js +2 -2
- package/src/core/tools/hosting.ts +2 -2
- package/src/core/tools/wordpress.js +2 -2
- package/src/core/tools/wordpress.ts +2 -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 +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,19 @@ Generated at release time from the diff between the previous and current
|
|
|
4
4
|
build. Tool changes are listed individually; everything else is summarised
|
|
5
5
|
by area.
|
|
6
6
|
|
|
7
|
+
## v3.25.1 — 2026-11-03
|
|
8
|
+
|
|
9
|
+
### Operations
|
|
10
|
+
|
|
11
|
+
- Changed the description and input schema of `hosting_websites_create`
|
|
12
|
+
- Changed the description and input schema of `wordpress_installations_install`
|
|
13
|
+
|
|
14
|
+
### Also in this release
|
|
15
|
+
|
|
16
|
+
- Documentation: `README.md`
|
|
17
|
+
- Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
|
|
18
|
+
- Build and packaging: `types.d.ts`
|
|
19
|
+
|
|
7
20
|
## v3.25.0 — 2026-11-03
|
|
8
21
|
|
|
9
22
|
### Operations
|
package/README.md
CHANGED
|
@@ -2355,11 +2355,11 @@ nothing: WordPress can be added later through
|
|
|
2355
2355
|
`POST /api/hosting/v1/accounts/{username}/wordpress/installations`
|
|
2356
2356
|
(`wordpress_installations_install`) with `type: headless`.
|
|
2357
2357
|
|
|
2358
|
-
Omit `domain` to set the website up on a generated temporary free subdomain
|
|
2359
|
-
|
|
2360
|
-
same domain, generate
|
|
2361
|
-
|
|
2362
|
-
24 hours, only from the client that generated it.
|
|
2358
|
+
Omit `domain` to set the website up on a generated temporary free subdomain; the created
|
|
2359
|
+
setup returns it as `domain`. REST clients that need to know the free subdomain before the
|
|
2360
|
+
call, so a timed-out call can be looked up and retried on the same domain, can generate
|
|
2361
|
+
one through `POST /api/hosting/v1/domains/free-subdomains` and send it as `domain`. It is
|
|
2362
|
+
accepted for 24 hours, only from the client that generated it.
|
|
2363
2363
|
|
|
2364
2364
|
When the order has no hosting account yet, the setup creates one first, in the datacenter
|
|
2365
2365
|
given by `datacenter_code` or the order's default datacenter when it is omitted.
|
|
@@ -4658,12 +4658,12 @@ Install WordPress on an existing website.
|
|
|
4658
4658
|
|
|
4659
4659
|
The website must already exist before calling this endpoint. To create a new
|
|
4660
4660
|
website first, use POST /api/hosting/v1/orders/{order_id}/onboardings
|
|
4661
|
-
(`
|
|
4661
|
+
(`hosting_websites_create`) and poll GET /api/hosting/v1/onboardings
|
|
4662
4662
|
(`hosting_websites_list-setups`) with the `domain` filter until its `status` is
|
|
4663
4663
|
`completed`.
|
|
4664
4664
|
|
|
4665
4665
|
Send `type: headless` to turn a headless website (for example one created by
|
|
4666
|
-
`
|
|
4666
|
+
`hosting_websites_create` with `type: headless_empty`) into a headless WordPress
|
|
4667
4667
|
website: WordPress is installed into the `cms` directory with the Hostinger headless
|
|
4668
4668
|
MU plugin and the website is marked as a headless WordPress website. `directory` is
|
|
4669
4669
|
not allowed with it. The target website must already be headless: the headless
|
package/gemini-extension.json
CHANGED
package/package.json
CHANGED
package/server.json
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"url": "https://github.com/hostinger/api-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "3.25.
|
|
9
|
+
"version": "3.25.1",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@hostinger/mcp",
|
|
14
|
-
"version": "3.25.
|
|
14
|
+
"version": "3.25.1",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
package/skills/headless/VERSION
CHANGED
package/src/core/runtime.js
CHANGED
|
@@ -62,7 +62,7 @@ const GetSkillRequestSchema = z.object({
|
|
|
62
62
|
|
|
63
63
|
/**
|
|
64
64
|
* MCP Server for Hostinger API
|
|
65
|
-
* Generated from OpenAPI spec version 2.6.
|
|
65
|
+
* Generated from OpenAPI spec version 2.6.2
|
|
66
66
|
*/
|
|
67
67
|
class MCPServer {
|
|
68
68
|
constructor({ name, version, tools, instructions, skills = [] }) {
|
package/src/core/runtime.ts
CHANGED
|
@@ -94,7 +94,7 @@ interface Skill { uri: string; frontmatter: Record<string, unknown>; resources:
|
|
|
94
94
|
|
|
95
95
|
/**
|
|
96
96
|
* MCP Server for Hostinger API
|
|
97
|
-
* Generated from OpenAPI spec version 2.6.
|
|
97
|
+
* Generated from OpenAPI spec version 2.6.2
|
|
98
98
|
*/
|
|
99
99
|
class MCPServer {
|
|
100
100
|
private readonly name: string;
|
package/src/core/tools/all.js
CHANGED
|
@@ -9421,7 +9421,7 @@ export default [
|
|
|
9421
9421
|
"readOnlyHint": false,
|
|
9422
9422
|
"destructiveHint": false
|
|
9423
9423
|
},
|
|
9424
|
-
"description": "Starts a website setup on a Web or Cloud hosting order and returns the created setup\nright away; the website itself is provisioned asynchronously. Poll the list website\nsetups endpoint (`hosting_websites_list-setups`) with the `domain` filter every 10 to 15\nseconds and wait for `status: completed` before uploading files, deploying or creating\ndatabases.\n\nOmit `type` for an empty website. `type: wordpress` installs WordPress in the website\nroot with the admin user, email and password from `wordpress`, the domain as the site\ntitle, and `en_US` when `wordpress.language` is omitted. The headless types\n(`headless_empty`, `headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`)\ncreate a headless website; `headless_wordpress` additionally installs WordPress into the\n`cms` directory of the website root with generated credentials. `headless_empty` installs\nnothing: WordPress can be added later through\n`POST /api/hosting/v1/accounts/{username}/wordpress/installations`\n(`wordpress_installations_install`) with `type: headless`.\n\nOmit `domain` to set the website up on a generated temporary free subdomain
|
|
9424
|
+
"description": "Starts a website setup on a Web or Cloud hosting order and returns the created setup\nright away; the website itself is provisioned asynchronously. Poll the list website\nsetups endpoint (`hosting_websites_list-setups`) with the `domain` filter every 10 to 15\nseconds and wait for `status: completed` before uploading files, deploying or creating\ndatabases.\n\nOmit `type` for an empty website. `type: wordpress` installs WordPress in the website\nroot with the admin user, email and password from `wordpress`, the domain as the site\ntitle, and `en_US` when `wordpress.language` is omitted. The headless types\n(`headless_empty`, `headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`)\ncreate a headless website; `headless_wordpress` additionally installs WordPress into the\n`cms` directory of the website root with generated credentials. `headless_empty` installs\nnothing: WordPress can be added later through\n`POST /api/hosting/v1/accounts/{username}/wordpress/installations`\n(`wordpress_installations_install`) with `type: headless`.\n\nOmit `domain` to set the website up on a generated temporary free subdomain; the created\nsetup returns it as `domain`. REST clients that need to know the free subdomain before the\ncall, so a timed-out call can be looked up and retried on the same domain, can generate\none through `POST /api/hosting/v1/domains/free-subdomains` and send it as `domain`. It is\naccepted for 24 hours, only from the client that generated it.\n\nWhen the order has no hosting account yet, the setup creates one first, in the datacenter\ngiven by `datacenter_code` or the order's default datacenter when it is omitted.\nReturns 404 when the order does not exist or is not accessible to the authenticated\nclient, and 409 with a `Retry-After` header while a setup for the same domain is still\nrunning.",
|
|
9425
9425
|
"method": "POST",
|
|
9426
9426
|
"path": "/api/hosting/v1/orders/{order_id}/onboardings",
|
|
9427
9427
|
"inputSchema": {
|
|
@@ -9444,7 +9444,7 @@ export default [
|
|
|
9444
9444
|
},
|
|
9445
9445
|
"domain": {
|
|
9446
9446
|
"type": "string",
|
|
9447
|
-
"description": "Customer-owned domain
|
|
9447
|
+
"description": "Customer-owned domain. Omit or `null` to set the website up on a generated temporary free subdomain. Cannot start with \"www.\" and can have at most one subdomain level, e.g. `blog.example.com`. A free subdomain generated through `POST /api/hosting/v1/domains/free-subdomains` in the last 24 hours is also accepted."
|
|
9448
9448
|
},
|
|
9449
9449
|
"datacenter_code": {
|
|
9450
9450
|
"type": "string",
|
|
@@ -17873,7 +17873,7 @@ export default [
|
|
|
17873
17873
|
"readOnlyHint": false,
|
|
17874
17874
|
"destructiveHint": false
|
|
17875
17875
|
},
|
|
17876
|
-
"description": "Install WordPress on an existing website.\n\nThe website must already exist before calling this endpoint. To create a new\nwebsite first, use POST /api/hosting/v1/orders/{order_id}/onboardings\n(`
|
|
17876
|
+
"description": "Install WordPress on an existing website.\n\nThe website must already exist before calling this endpoint. To create a new\nwebsite first, use POST /api/hosting/v1/orders/{order_id}/onboardings\n(`hosting_websites_create`) and poll GET /api/hosting/v1/onboardings\n(`hosting_websites_list-setups`) with the `domain` filter until its `status` is\n`completed`.\n\nSend `type: headless` to turn a headless website (for example one created by\n`hosting_websites_create` with `type: headless_empty`) into a headless WordPress\nwebsite: WordPress is installed into the `cms` directory with the Hostinger headless\nMU plugin and the website is marked as a headless WordPress website. `directory` is\nnot allowed with it. The target website must already be headless: the headless\ninstall rewrites the root `.htaccess`, so on any other website the request is\nrejected with 422.\n\nCall GET /api/hosting/v1/wordpress/installations (`wordpress_installations_list`)\nfiltered by username and domain before proceeding to check whether WordPress is\nalready installed on the target domain/path. If WordPress already exists and\n`overwrite` is false (the default), the async job will fail.\n\nThis operation is asynchronous: a successful response only means the install\njob has been queued, not that WordPress is ready. Installation typically\ntakes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations\n(`wordpress_installations_list`) filtered by username and domain to track\nprogress. When the installation appears in that list, WordPress is ready.\n\nReturns 422 when the account already uses all the databases its plan allows,\nunless `database.name` is an existing database on the account.",
|
|
17877
17877
|
"method": "POST",
|
|
17878
17878
|
"path": "/api/hosting/v1/accounts/{username}/wordpress/installations",
|
|
17879
17879
|
"inputSchema": {
|
|
@@ -17897,7 +17897,7 @@ export default [
|
|
|
17897
17897
|
},
|
|
17898
17898
|
"type": {
|
|
17899
17899
|
"type": "string",
|
|
17900
|
-
"description": "Installation kind; `default` when omitted. `headless` installs WordPress into the `cms` directory with the Hostinger headless MU plugin and marks the website as a headless WordPress website. Accepted only for a website that is already headless, e.g. one created by `POST /api/hosting/v1/orders/{order_id}/onboardings` (`
|
|
17900
|
+
"description": "Installation kind; `default` when omitted. `headless` installs WordPress into the `cms` directory with the Hostinger headless MU plugin and marks the website as a headless WordPress website. Accepted only for a website that is already headless, e.g. one created by `POST /api/hosting/v1/orders/{order_id}/onboardings` (`hosting_websites_create`) with `type: headless_empty`; any other website is rejected with 422.",
|
|
17901
17901
|
"enum": [
|
|
17902
17902
|
"default",
|
|
17903
17903
|
"headless"
|
package/src/core/tools/all.ts
CHANGED
|
@@ -9438,7 +9438,7 @@ const tools: OpenApiTool[] = [
|
|
|
9438
9438
|
"readOnlyHint": false,
|
|
9439
9439
|
"destructiveHint": false
|
|
9440
9440
|
},
|
|
9441
|
-
"description": "Starts a website setup on a Web or Cloud hosting order and returns the created setup\nright away; the website itself is provisioned asynchronously. Poll the list website\nsetups endpoint (`hosting_websites_list-setups`) with the `domain` filter every 10 to 15\nseconds and wait for `status: completed` before uploading files, deploying or creating\ndatabases.\n\nOmit `type` for an empty website. `type: wordpress` installs WordPress in the website\nroot with the admin user, email and password from `wordpress`, the domain as the site\ntitle, and `en_US` when `wordpress.language` is omitted. The headless types\n(`headless_empty`, `headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`)\ncreate a headless website; `headless_wordpress` additionally installs WordPress into the\n`cms` directory of the website root with generated credentials. `headless_empty` installs\nnothing: WordPress can be added later through\n`POST /api/hosting/v1/accounts/{username}/wordpress/installations`\n(`wordpress_installations_install`) with `type: headless`.\n\nOmit `domain` to set the website up on a generated temporary free subdomain
|
|
9441
|
+
"description": "Starts a website setup on a Web or Cloud hosting order and returns the created setup\nright away; the website itself is provisioned asynchronously. Poll the list website\nsetups endpoint (`hosting_websites_list-setups`) with the `domain` filter every 10 to 15\nseconds and wait for `status: completed` before uploading files, deploying or creating\ndatabases.\n\nOmit `type` for an empty website. `type: wordpress` installs WordPress in the website\nroot with the admin user, email and password from `wordpress`, the domain as the site\ntitle, and `en_US` when `wordpress.language` is omitted. The headless types\n(`headless_empty`, `headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`)\ncreate a headless website; `headless_wordpress` additionally installs WordPress into the\n`cms` directory of the website root with generated credentials. `headless_empty` installs\nnothing: WordPress can be added later through\n`POST /api/hosting/v1/accounts/{username}/wordpress/installations`\n(`wordpress_installations_install`) with `type: headless`.\n\nOmit `domain` to set the website up on a generated temporary free subdomain; the created\nsetup returns it as `domain`. REST clients that need to know the free subdomain before the\ncall, so a timed-out call can be looked up and retried on the same domain, can generate\none through `POST /api/hosting/v1/domains/free-subdomains` and send it as `domain`. It is\naccepted for 24 hours, only from the client that generated it.\n\nWhen the order has no hosting account yet, the setup creates one first, in the datacenter\ngiven by `datacenter_code` or the order's default datacenter when it is omitted.\nReturns 404 when the order does not exist or is not accessible to the authenticated\nclient, and 409 with a `Retry-After` header while a setup for the same domain is still\nrunning.",
|
|
9442
9442
|
"method": "POST",
|
|
9443
9443
|
"path": "/api/hosting/v1/orders/{order_id}/onboardings",
|
|
9444
9444
|
"inputSchema": {
|
|
@@ -9461,7 +9461,7 @@ const tools: OpenApiTool[] = [
|
|
|
9461
9461
|
},
|
|
9462
9462
|
"domain": {
|
|
9463
9463
|
"type": "string",
|
|
9464
|
-
"description": "Customer-owned domain
|
|
9464
|
+
"description": "Customer-owned domain. Omit or `null` to set the website up on a generated temporary free subdomain. Cannot start with \"www.\" and can have at most one subdomain level, e.g. `blog.example.com`. A free subdomain generated through `POST /api/hosting/v1/domains/free-subdomains` in the last 24 hours is also accepted."
|
|
9465
9465
|
},
|
|
9466
9466
|
"datacenter_code": {
|
|
9467
9467
|
"type": "string",
|
|
@@ -17890,7 +17890,7 @@ const tools: OpenApiTool[] = [
|
|
|
17890
17890
|
"readOnlyHint": false,
|
|
17891
17891
|
"destructiveHint": false
|
|
17892
17892
|
},
|
|
17893
|
-
"description": "Install WordPress on an existing website.\n\nThe website must already exist before calling this endpoint. To create a new\nwebsite first, use POST /api/hosting/v1/orders/{order_id}/onboardings\n(`
|
|
17893
|
+
"description": "Install WordPress on an existing website.\n\nThe website must already exist before calling this endpoint. To create a new\nwebsite first, use POST /api/hosting/v1/orders/{order_id}/onboardings\n(`hosting_websites_create`) and poll GET /api/hosting/v1/onboardings\n(`hosting_websites_list-setups`) with the `domain` filter until its `status` is\n`completed`.\n\nSend `type: headless` to turn a headless website (for example one created by\n`hosting_websites_create` with `type: headless_empty`) into a headless WordPress\nwebsite: WordPress is installed into the `cms` directory with the Hostinger headless\nMU plugin and the website is marked as a headless WordPress website. `directory` is\nnot allowed with it. The target website must already be headless: the headless\ninstall rewrites the root `.htaccess`, so on any other website the request is\nrejected with 422.\n\nCall GET /api/hosting/v1/wordpress/installations (`wordpress_installations_list`)\nfiltered by username and domain before proceeding to check whether WordPress is\nalready installed on the target domain/path. If WordPress already exists and\n`overwrite` is false (the default), the async job will fail.\n\nThis operation is asynchronous: a successful response only means the install\njob has been queued, not that WordPress is ready. Installation typically\ntakes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations\n(`wordpress_installations_list`) filtered by username and domain to track\nprogress. When the installation appears in that list, WordPress is ready.\n\nReturns 422 when the account already uses all the databases its plan allows,\nunless `database.name` is an existing database on the account.",
|
|
17894
17894
|
"method": "POST",
|
|
17895
17895
|
"path": "/api/hosting/v1/accounts/{username}/wordpress/installations",
|
|
17896
17896
|
"inputSchema": {
|
|
@@ -17914,7 +17914,7 @@ const tools: OpenApiTool[] = [
|
|
|
17914
17914
|
},
|
|
17915
17915
|
"type": {
|
|
17916
17916
|
"type": "string",
|
|
17917
|
-
"description": "Installation kind; `default` when omitted. `headless` installs WordPress into the `cms` directory with the Hostinger headless MU plugin and marks the website as a headless WordPress website. Accepted only for a website that is already headless, e.g. one created by `POST /api/hosting/v1/orders/{order_id}/onboardings` (`
|
|
17917
|
+
"description": "Installation kind; `default` when omitted. `headless` installs WordPress into the `cms` directory with the Hostinger headless MU plugin and marks the website as a headless WordPress website. Accepted only for a website that is already headless, e.g. one created by `POST /api/hosting/v1/orders/{order_id}/onboardings` (`hosting_websites_create`) with `type: headless_empty`; any other website is rejected with 422.",
|
|
17918
17918
|
"enum": [
|
|
17919
17919
|
"default",
|
|
17920
17920
|
"headless"
|
|
@@ -3731,7 +3731,7 @@ export default [
|
|
|
3731
3731
|
"readOnlyHint": false,
|
|
3732
3732
|
"destructiveHint": false
|
|
3733
3733
|
},
|
|
3734
|
-
"description": "Starts a website setup on a Web or Cloud hosting order and returns the created setup\nright away; the website itself is provisioned asynchronously. Poll the list website\nsetups endpoint (`hosting_websites_list-setups`) with the `domain` filter every 10 to 15\nseconds and wait for `status: completed` before uploading files, deploying or creating\ndatabases.\n\nOmit `type` for an empty website. `type: wordpress` installs WordPress in the website\nroot with the admin user, email and password from `wordpress`, the domain as the site\ntitle, and `en_US` when `wordpress.language` is omitted. The headless types\n(`headless_empty`, `headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`)\ncreate a headless website; `headless_wordpress` additionally installs WordPress into the\n`cms` directory of the website root with generated credentials. `headless_empty` installs\nnothing: WordPress can be added later through\n`POST /api/hosting/v1/accounts/{username}/wordpress/installations`\n(`wordpress_installations_install`) with `type: headless`.\n\nOmit `domain` to set the website up on a generated temporary free subdomain
|
|
3734
|
+
"description": "Starts a website setup on a Web or Cloud hosting order and returns the created setup\nright away; the website itself is provisioned asynchronously. Poll the list website\nsetups endpoint (`hosting_websites_list-setups`) with the `domain` filter every 10 to 15\nseconds and wait for `status: completed` before uploading files, deploying or creating\ndatabases.\n\nOmit `type` for an empty website. `type: wordpress` installs WordPress in the website\nroot with the admin user, email and password from `wordpress`, the domain as the site\ntitle, and `en_US` when `wordpress.language` is omitted. The headless types\n(`headless_empty`, `headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`)\ncreate a headless website; `headless_wordpress` additionally installs WordPress into the\n`cms` directory of the website root with generated credentials. `headless_empty` installs\nnothing: WordPress can be added later through\n`POST /api/hosting/v1/accounts/{username}/wordpress/installations`\n(`wordpress_installations_install`) with `type: headless`.\n\nOmit `domain` to set the website up on a generated temporary free subdomain; the created\nsetup returns it as `domain`. REST clients that need to know the free subdomain before the\ncall, so a timed-out call can be looked up and retried on the same domain, can generate\none through `POST /api/hosting/v1/domains/free-subdomains` and send it as `domain`. It is\naccepted for 24 hours, only from the client that generated it.\n\nWhen the order has no hosting account yet, the setup creates one first, in the datacenter\ngiven by `datacenter_code` or the order's default datacenter when it is omitted.\nReturns 404 when the order does not exist or is not accessible to the authenticated\nclient, and 409 with a `Retry-After` header while a setup for the same domain is still\nrunning.",
|
|
3735
3735
|
"method": "POST",
|
|
3736
3736
|
"path": "/api/hosting/v1/orders/{order_id}/onboardings",
|
|
3737
3737
|
"inputSchema": {
|
|
@@ -3754,7 +3754,7 @@ export default [
|
|
|
3754
3754
|
},
|
|
3755
3755
|
"domain": {
|
|
3756
3756
|
"type": "string",
|
|
3757
|
-
"description": "Customer-owned domain
|
|
3757
|
+
"description": "Customer-owned domain. Omit or `null` to set the website up on a generated temporary free subdomain. Cannot start with \"www.\" and can have at most one subdomain level, e.g. `blog.example.com`. A free subdomain generated through `POST /api/hosting/v1/domains/free-subdomains` in the last 24 hours is also accepted."
|
|
3758
3758
|
},
|
|
3759
3759
|
"datacenter_code": {
|
|
3760
3760
|
"type": "string",
|
|
@@ -3748,7 +3748,7 @@ const tools: OpenApiTool[] = [
|
|
|
3748
3748
|
"readOnlyHint": false,
|
|
3749
3749
|
"destructiveHint": false
|
|
3750
3750
|
},
|
|
3751
|
-
"description": "Starts a website setup on a Web or Cloud hosting order and returns the created setup\nright away; the website itself is provisioned asynchronously. Poll the list website\nsetups endpoint (`hosting_websites_list-setups`) with the `domain` filter every 10 to 15\nseconds and wait for `status: completed` before uploading files, deploying or creating\ndatabases.\n\nOmit `type` for an empty website. `type: wordpress` installs WordPress in the website\nroot with the admin user, email and password from `wordpress`, the domain as the site\ntitle, and `en_US` when `wordpress.language` is omitted. The headless types\n(`headless_empty`, `headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`)\ncreate a headless website; `headless_wordpress` additionally installs WordPress into the\n`cms` directory of the website root with generated credentials. `headless_empty` installs\nnothing: WordPress can be added later through\n`POST /api/hosting/v1/accounts/{username}/wordpress/installations`\n(`wordpress_installations_install`) with `type: headless`.\n\nOmit `domain` to set the website up on a generated temporary free subdomain
|
|
3751
|
+
"description": "Starts a website setup on a Web or Cloud hosting order and returns the created setup\nright away; the website itself is provisioned asynchronously. Poll the list website\nsetups endpoint (`hosting_websites_list-setups`) with the `domain` filter every 10 to 15\nseconds and wait for `status: completed` before uploading files, deploying or creating\ndatabases.\n\nOmit `type` for an empty website. `type: wordpress` installs WordPress in the website\nroot with the admin user, email and password from `wordpress`, the domain as the site\ntitle, and `en_US` when `wordpress.language` is omitted. The headless types\n(`headless_empty`, `headless_wordpress`, `headless_ecommerce`, `headless_pocketbase`)\ncreate a headless website; `headless_wordpress` additionally installs WordPress into the\n`cms` directory of the website root with generated credentials. `headless_empty` installs\nnothing: WordPress can be added later through\n`POST /api/hosting/v1/accounts/{username}/wordpress/installations`\n(`wordpress_installations_install`) with `type: headless`.\n\nOmit `domain` to set the website up on a generated temporary free subdomain; the created\nsetup returns it as `domain`. REST clients that need to know the free subdomain before the\ncall, so a timed-out call can be looked up and retried on the same domain, can generate\none through `POST /api/hosting/v1/domains/free-subdomains` and send it as `domain`. It is\naccepted for 24 hours, only from the client that generated it.\n\nWhen the order has no hosting account yet, the setup creates one first, in the datacenter\ngiven by `datacenter_code` or the order's default datacenter when it is omitted.\nReturns 404 when the order does not exist or is not accessible to the authenticated\nclient, and 409 with a `Retry-After` header while a setup for the same domain is still\nrunning.",
|
|
3752
3752
|
"method": "POST",
|
|
3753
3753
|
"path": "/api/hosting/v1/orders/{order_id}/onboardings",
|
|
3754
3754
|
"inputSchema": {
|
|
@@ -3771,7 +3771,7 @@ const tools: OpenApiTool[] = [
|
|
|
3771
3771
|
},
|
|
3772
3772
|
"domain": {
|
|
3773
3773
|
"type": "string",
|
|
3774
|
-
"description": "Customer-owned domain
|
|
3774
|
+
"description": "Customer-owned domain. Omit or `null` to set the website up on a generated temporary free subdomain. Cannot start with \"www.\" and can have at most one subdomain level, e.g. `blog.example.com`. A free subdomain generated through `POST /api/hosting/v1/domains/free-subdomains` in the last 24 hours is also accepted."
|
|
3775
3775
|
},
|
|
3776
3776
|
"datacenter_code": {
|
|
3777
3777
|
"type": "string",
|
|
@@ -427,7 +427,7 @@ export default [
|
|
|
427
427
|
"readOnlyHint": false,
|
|
428
428
|
"destructiveHint": false
|
|
429
429
|
},
|
|
430
|
-
"description": "Install WordPress on an existing website.\n\nThe website must already exist before calling this endpoint. To create a new\nwebsite first, use POST /api/hosting/v1/orders/{order_id}/onboardings\n(`
|
|
430
|
+
"description": "Install WordPress on an existing website.\n\nThe website must already exist before calling this endpoint. To create a new\nwebsite first, use POST /api/hosting/v1/orders/{order_id}/onboardings\n(`hosting_websites_create`) and poll GET /api/hosting/v1/onboardings\n(`hosting_websites_list-setups`) with the `domain` filter until its `status` is\n`completed`.\n\nSend `type: headless` to turn a headless website (for example one created by\n`hosting_websites_create` with `type: headless_empty`) into a headless WordPress\nwebsite: WordPress is installed into the `cms` directory with the Hostinger headless\nMU plugin and the website is marked as a headless WordPress website. `directory` is\nnot allowed with it. The target website must already be headless: the headless\ninstall rewrites the root `.htaccess`, so on any other website the request is\nrejected with 422.\n\nCall GET /api/hosting/v1/wordpress/installations (`wordpress_installations_list`)\nfiltered by username and domain before proceeding to check whether WordPress is\nalready installed on the target domain/path. If WordPress already exists and\n`overwrite` is false (the default), the async job will fail.\n\nThis operation is asynchronous: a successful response only means the install\njob has been queued, not that WordPress is ready. Installation typically\ntakes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations\n(`wordpress_installations_list`) filtered by username and domain to track\nprogress. When the installation appears in that list, WordPress is ready.\n\nReturns 422 when the account already uses all the databases its plan allows,\nunless `database.name` is an existing database on the account.",
|
|
431
431
|
"method": "POST",
|
|
432
432
|
"path": "/api/hosting/v1/accounts/{username}/wordpress/installations",
|
|
433
433
|
"inputSchema": {
|
|
@@ -451,7 +451,7 @@ export default [
|
|
|
451
451
|
},
|
|
452
452
|
"type": {
|
|
453
453
|
"type": "string",
|
|
454
|
-
"description": "Installation kind; `default` when omitted. `headless` installs WordPress into the `cms` directory with the Hostinger headless MU plugin and marks the website as a headless WordPress website. Accepted only for a website that is already headless, e.g. one created by `POST /api/hosting/v1/orders/{order_id}/onboardings` (`
|
|
454
|
+
"description": "Installation kind; `default` when omitted. `headless` installs WordPress into the `cms` directory with the Hostinger headless MU plugin and marks the website as a headless WordPress website. Accepted only for a website that is already headless, e.g. one created by `POST /api/hosting/v1/orders/{order_id}/onboardings` (`hosting_websites_create`) with `type: headless_empty`; any other website is rejected with 422.",
|
|
455
455
|
"enum": [
|
|
456
456
|
"default",
|
|
457
457
|
"headless"
|
|
@@ -444,7 +444,7 @@ const tools: OpenApiTool[] = [
|
|
|
444
444
|
"readOnlyHint": false,
|
|
445
445
|
"destructiveHint": false
|
|
446
446
|
},
|
|
447
|
-
"description": "Install WordPress on an existing website.\n\nThe website must already exist before calling this endpoint. To create a new\nwebsite first, use POST /api/hosting/v1/orders/{order_id}/onboardings\n(`
|
|
447
|
+
"description": "Install WordPress on an existing website.\n\nThe website must already exist before calling this endpoint. To create a new\nwebsite first, use POST /api/hosting/v1/orders/{order_id}/onboardings\n(`hosting_websites_create`) and poll GET /api/hosting/v1/onboardings\n(`hosting_websites_list-setups`) with the `domain` filter until its `status` is\n`completed`.\n\nSend `type: headless` to turn a headless website (for example one created by\n`hosting_websites_create` with `type: headless_empty`) into a headless WordPress\nwebsite: WordPress is installed into the `cms` directory with the Hostinger headless\nMU plugin and the website is marked as a headless WordPress website. `directory` is\nnot allowed with it. The target website must already be headless: the headless\ninstall rewrites the root `.htaccess`, so on any other website the request is\nrejected with 422.\n\nCall GET /api/hosting/v1/wordpress/installations (`wordpress_installations_list`)\nfiltered by username and domain before proceeding to check whether WordPress is\nalready installed on the target domain/path. If WordPress already exists and\n`overwrite` is false (the default), the async job will fail.\n\nThis operation is asynchronous: a successful response only means the install\njob has been queued, not that WordPress is ready. Installation typically\ntakes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations\n(`wordpress_installations_list`) filtered by username and domain to track\nprogress. When the installation appears in that list, WordPress is ready.\n\nReturns 422 when the account already uses all the databases its plan allows,\nunless `database.name` is an existing database on the account.",
|
|
448
448
|
"method": "POST",
|
|
449
449
|
"path": "/api/hosting/v1/accounts/{username}/wordpress/installations",
|
|
450
450
|
"inputSchema": {
|
|
@@ -468,7 +468,7 @@ const tools: OpenApiTool[] = [
|
|
|
468
468
|
},
|
|
469
469
|
"type": {
|
|
470
470
|
"type": "string",
|
|
471
|
-
"description": "Installation kind; `default` when omitted. `headless` installs WordPress into the `cms` directory with the Hostinger headless MU plugin and marks the website as a headless WordPress website. Accepted only for a website that is already headless, e.g. one created by `POST /api/hosting/v1/orders/{order_id}/onboardings` (`
|
|
471
|
+
"description": "Installation kind; `default` when omitted. `headless` installs WordPress into the `cms` directory with the Hostinger headless MU plugin and marks the website as a headless WordPress website. Accepted only for a website that is already headless, e.g. one created by `POST /api/hosting/v1/orders/{order_id}/onboardings` (`hosting_websites_create`) with `type: headless_empty`; any other website is rejected with 422.",
|
|
472
472
|
"enum": [
|
|
473
473
|
"default",
|
|
474
474
|
"headless"
|
|
@@ -4,4 +4,4 @@ import { startServer } from '../core/runtime.js';
|
|
|
4
4
|
import tools from '../core/tools/agency-hosting.js';
|
|
5
5
|
import instructions from '../core/instructions.agency-hosting.js';
|
|
6
6
|
|
|
7
|
-
startServer({ name: 'hostinger-agency-hosting-mcp', version: '3.25.
|
|
7
|
+
startServer({ name: 'hostinger-agency-hosting-mcp', version: '3.25.1', tools, instructions });
|
|
@@ -4,4 +4,4 @@ import { startServer } from '../core/runtime.js';
|
|
|
4
4
|
import tools from '../core/tools/agency-hosting.js';
|
|
5
5
|
import instructions from '../core/instructions.agency-hosting.js';
|
|
6
6
|
|
|
7
|
-
startServer({ name: 'hostinger-agency-hosting-mcp', version: '3.25.
|
|
7
|
+
startServer({ name: 'hostinger-agency-hosting-mcp', version: '3.25.1', tools, instructions });
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
import { startServer } from '../core/runtime.js';
|
|
4
4
|
import tools from '../core/tools/agent-readiness.js';
|
|
5
5
|
|
|
6
|
-
startServer({ name: 'hostinger-agent-readiness-mcp', version: '3.25.
|
|
6
|
+
startServer({ name: 'hostinger-agent-readiness-mcp', version: '3.25.1', tools });
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
import { startServer } from '../core/runtime.js';
|
|
4
4
|
import tools from '../core/tools/agent-readiness.js';
|
|
5
5
|
|
|
6
|
-
startServer({ name: 'hostinger-agent-readiness-mcp', version: '3.25.
|
|
6
|
+
startServer({ name: 'hostinger-agent-readiness-mcp', version: '3.25.1', tools });
|
package/src/servers/all.js
CHANGED
|
@@ -5,4 +5,4 @@ import tools from '../core/tools/all.js';
|
|
|
5
5
|
import instructions from '../core/instructions.js';
|
|
6
6
|
import skills from '../core/skills.js';
|
|
7
7
|
|
|
8
|
-
startServer({ name: 'hostinger-api-mcp', version: '3.25.
|
|
8
|
+
startServer({ name: 'hostinger-api-mcp', version: '3.25.1', tools, instructions, skills });
|
package/src/servers/all.ts
CHANGED
|
@@ -5,4 +5,4 @@ import tools from '../core/tools/all.js';
|
|
|
5
5
|
import instructions from '../core/instructions.js';
|
|
6
6
|
import skills from '../core/skills.js';
|
|
7
7
|
|
|
8
|
-
startServer({ name: 'hostinger-api-mcp', version: '3.25.
|
|
8
|
+
startServer({ name: 'hostinger-api-mcp', version: '3.25.1', tools, instructions, skills });
|
package/src/servers/billing.js
CHANGED
package/src/servers/billing.ts
CHANGED
package/src/servers/dns.js
CHANGED
package/src/servers/dns.ts
CHANGED
package/src/servers/domains.js
CHANGED
package/src/servers/domains.ts
CHANGED
package/src/servers/ecommerce.js
CHANGED
package/src/servers/ecommerce.ts
CHANGED
package/src/servers/horizons.js
CHANGED
package/src/servers/horizons.ts
CHANGED
package/src/servers/hosting.js
CHANGED
|
@@ -4,4 +4,4 @@ import { startServer } from '../core/runtime.js';
|
|
|
4
4
|
import tools from '../core/tools/hosting.js';
|
|
5
5
|
import instructions from '../core/instructions.js';
|
|
6
6
|
|
|
7
|
-
startServer({ name: 'hostinger-hosting-mcp', version: '3.25.
|
|
7
|
+
startServer({ name: 'hostinger-hosting-mcp', version: '3.25.1', tools, instructions });
|
package/src/servers/hosting.ts
CHANGED
|
@@ -4,4 +4,4 @@ import { startServer } from '../core/runtime.js';
|
|
|
4
4
|
import tools from '../core/tools/hosting.js';
|
|
5
5
|
import instructions from '../core/instructions.js';
|
|
6
6
|
|
|
7
|
-
startServer({ name: 'hostinger-hosting-mcp', version: '3.25.
|
|
7
|
+
startServer({ name: 'hostinger-hosting-mcp', version: '3.25.1', tools, instructions });
|
package/src/servers/mail.js
CHANGED
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
|
@@ -5362,11 +5362,11 @@ nothing: WordPress can be added later through
|
|
|
5362
5362
|
`POST /api/hosting/v1/accounts/{username}/wordpress/installations`
|
|
5363
5363
|
(`wordpress_installations_install`) with `type: headless`.
|
|
5364
5364
|
|
|
5365
|
-
Omit `domain` to set the website up on a generated temporary free subdomain
|
|
5366
|
-
|
|
5367
|
-
same domain, generate
|
|
5368
|
-
|
|
5369
|
-
24 hours, only from the client that generated it.
|
|
5365
|
+
Omit `domain` to set the website up on a generated temporary free subdomain; the created
|
|
5366
|
+
setup returns it as `domain`. REST clients that need to know the free subdomain before the
|
|
5367
|
+
call, so a timed-out call can be looked up and retried on the same domain, can generate
|
|
5368
|
+
one through `POST /api/hosting/v1/domains/free-subdomains` and send it as `domain`. It is
|
|
5369
|
+
accepted for 24 hours, only from the client that generated it.
|
|
5370
5370
|
|
|
5371
5371
|
When the order has no hosting account yet, the setup creates one first, in the datacenter
|
|
5372
5372
|
given by `datacenter_code` or the order's default datacenter when it is omitted.
|
|
@@ -5385,7 +5385,7 @@ running.
|
|
|
5385
5385
|
*/
|
|
5386
5386
|
type?: string;
|
|
5387
5387
|
/**
|
|
5388
|
-
* Customer-owned domain
|
|
5388
|
+
* Customer-owned domain. Omit or `null` to set the website up on a generated temporary free subdomain. Cannot start with "www." and can have at most one subdomain level, e.g. `blog.example.com`. A free subdomain generated through `POST /api/hosting/v1/domains/free-subdomains` in the last 24 hours is also accepted.
|
|
5389
5389
|
*/
|
|
5390
5390
|
domain?: string;
|
|
5391
5391
|
/**
|
|
@@ -10383,12 +10383,12 @@ database files that have been uploaded to the website's directory.
|
|
|
10383
10383
|
|
|
10384
10384
|
The website must already exist before calling this endpoint. To create a new
|
|
10385
10385
|
website first, use POST /api/hosting/v1/orders/{order_id}/onboardings
|
|
10386
|
-
(`
|
|
10386
|
+
(`hosting_websites_create`) and poll GET /api/hosting/v1/onboardings
|
|
10387
10387
|
(`hosting_websites_list-setups`) with the `domain` filter until its `status` is
|
|
10388
10388
|
`completed`.
|
|
10389
10389
|
|
|
10390
10390
|
Send `type: headless` to turn a headless website (for example one created by
|
|
10391
|
-
`
|
|
10391
|
+
`hosting_websites_create` with `type: headless_empty`) into a headless WordPress
|
|
10392
10392
|
website: WordPress is installed into the `cms` directory with the Hostinger headless
|
|
10393
10393
|
MU plugin and the website is marked as a headless WordPress website. `directory` is
|
|
10394
10394
|
not allowed with it. The target website must already be headless: the headless
|
|
@@ -10428,7 +10428,7 @@ unless `database.name` is an existing database on the account.
|
|
|
10428
10428
|
*/
|
|
10429
10429
|
language?: string;
|
|
10430
10430
|
/**
|
|
10431
|
-
* Installation kind; `default` when omitted. `headless` installs WordPress into the `cms` directory with the Hostinger headless MU plugin and marks the website as a headless WordPress website. Accepted only for a website that is already headless, e.g. one created by `POST /api/hosting/v1/orders/{order_id}/onboardings` (`
|
|
10431
|
+
* Installation kind; `default` when omitted. `headless` installs WordPress into the `cms` directory with the Hostinger headless MU plugin and marks the website as a headless WordPress website. Accepted only for a website that is already headless, e.g. one created by `POST /api/hosting/v1/orders/{order_id}/onboardings` (`hosting_websites_create`) with `type: headless_empty`; any other website is rejected with 422.
|
|
10432
10432
|
*/
|
|
10433
10433
|
type?: string;
|
|
10434
10434
|
/**
|