@hostinger/mcp 2.18.0 → 3.1.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 +27 -0
- package/README.md +41 -13
- 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/all.js +131 -3
- package/src/core/tools/all.ts +131 -3
- package/src/core/tools/ecommerce.js +82 -2
- package/src/core/tools/ecommerce.ts +82 -2
- package/src/core/tools/wordpress.js +49 -1
- package/src/core/tools/wordpress.ts +49 -1
- 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 +69 -11
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,33 @@ 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.1.0 — 2026-10-16
|
|
8
|
+
|
|
9
|
+
### Operations
|
|
10
|
+
|
|
11
|
+
- Changed the description and input schema of `ecommerce_products_update`
|
|
12
|
+
- Changed the input schema of `ecommerce_products_create-physical`
|
|
13
|
+
- Changed the description and input schema of `ecommerce_product-variants_update-in-batch`
|
|
14
|
+
|
|
15
|
+
### Also in this release
|
|
16
|
+
|
|
17
|
+
- Documentation: `README.md`
|
|
18
|
+
- Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
|
|
19
|
+
- Build and packaging: `types.d.ts`
|
|
20
|
+
|
|
21
|
+
## v3.0.0 — 2026-10-15
|
|
22
|
+
|
|
23
|
+
### Operations
|
|
24
|
+
|
|
25
|
+
- Added `wordpress_ai-content_generation-result` — Get generation result
|
|
26
|
+
- Changed the description of `wordpress_ai-content_generate-images`
|
|
27
|
+
|
|
28
|
+
### Also in this release
|
|
29
|
+
|
|
30
|
+
- Documentation: `README.md`
|
|
31
|
+
- Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
|
|
32
|
+
- Build and packaging: `types.d.ts`
|
|
33
|
+
|
|
7
34
|
## v2.18.0 — 2026-10-15
|
|
8
35
|
|
|
9
36
|
### Operations
|
package/README.md
CHANGED
|
@@ -69,7 +69,7 @@ pnpm update -g @hostinger/mcp
|
|
|
69
69
|
|
|
70
70
|
This package installs the following MCP server commands:
|
|
71
71
|
|
|
72
|
-
- `hostinger-api-mcp` — unified server over every operation (
|
|
72
|
+
- `hostinger-api-mcp` — unified server over every operation (421 total)
|
|
73
73
|
- `hostinger-agency-hosting-mcp` — 42 operations for agency-hosting
|
|
74
74
|
- `hostinger-agent-readiness-mcp` — 3 operations for agent-readiness
|
|
75
75
|
- `hostinger-billing-mcp` — 9 operations for billing
|
|
@@ -81,7 +81,7 @@ This package installs the following MCP server commands:
|
|
|
81
81
|
- `hostinger-mail-mcp` — 38 operations for mail
|
|
82
82
|
- `hostinger-reach-mcp` — 56 operations for reach
|
|
83
83
|
- `hostinger-vps-mcp` — 67 operations for vps
|
|
84
|
-
- `hostinger-wordpress-mcp` —
|
|
84
|
+
- `hostinger-wordpress-mcp` — 40 operations for wordpress
|
|
85
85
|
|
|
86
86
|
Every binary exposes the same three tools; a scoped binary only searches and executes its own group's operations. `hostinger-api-mcp` remains the backwards-compatible default.
|
|
87
87
|
|
|
@@ -1554,9 +1554,11 @@ subscribers is archived instead of deleted so its data stays available.
|
|
|
1554
1554
|
|
|
1555
1555
|
#### ecommerce_products_update
|
|
1556
1556
|
|
|
1557
|
-
Update a product's name, description or
|
|
1558
|
-
draft to hide it, or archived to retire it.
|
|
1559
|
-
|
|
1557
|
+
Update a product's name, description, status, SEO settings or collections. Set status to
|
|
1558
|
+
published to make it buyable, draft to hide it, or archived to retire it. SEO settings (title,
|
|
1559
|
+
description, slug) left out keep their values. collection_changes adds or removes collections
|
|
1560
|
+
without touching the others. Variants, prices and inventory are managed through the variant
|
|
1561
|
+
endpoints, not here. Returns the updated product summary.
|
|
1560
1562
|
|
|
1561
1563
|
- **Method**: `PATCH`
|
|
1562
1564
|
- **Path**: `/api/ecommerce/v1/stores/{store_id}/products/{product_id}`
|
|
@@ -1662,8 +1664,8 @@ plus its default currency. Useful to verify prerequisites before building a stor
|
|
|
1662
1664
|
|
|
1663
1665
|
#### ecommerce_product-variants_update-in-batch
|
|
1664
1666
|
|
|
1665
|
-
Update up to 100 existing variants in place by id — title, inventory, stock tracking
|
|
1666
|
-
prices. Variants omitted from the request are left untouched. Prices replace the variant's
|
|
1667
|
+
Update up to 100 existing variants in place by id — title, SKU, inventory, stock tracking
|
|
1668
|
+
and prices. Variants omitted from the request are left untouched. Prices replace the variant's
|
|
1667
1669
|
existing prices in full. Returns the updated variants.
|
|
1668
1670
|
|
|
1669
1671
|
- **Method**: `PATCH`
|
|
@@ -4640,13 +4642,20 @@ Use this endpoint to power off running VPS instances.
|
|
|
4640
4642
|
|
|
4641
4643
|
#### wordpress_ai-content_generate-images
|
|
4642
4644
|
|
|
4643
|
-
|
|
4644
|
-
WordPress installation.
|
|
4645
|
-
|
|
4646
|
-
|
|
4645
|
+
Start generating one or more images from a prompt and an image type for the specified
|
|
4646
|
+
WordPress installation. The generation runs asynchronously: the response is returned
|
|
4647
|
+
right away with `status: in-progress` and a `generation_id`. Poll
|
|
4648
|
+
GET /api/hosting/v1/accounts/{username}/wordpress/{software}/content/generations/{generation_id}
|
|
4649
|
+
every few seconds until `status` is `completed` or `failed`.
|
|
4647
4650
|
|
|
4648
|
-
|
|
4649
|
-
|
|
4651
|
+
A completed generation returns temporary image URLs together with the time they expire;
|
|
4652
|
+
download the images before then. Images match the requested aspect ratio and are never
|
|
4653
|
+
smaller than the requested size; logos are transparent images cropped to the mark.
|
|
4654
|
+
|
|
4655
|
+
Only one image generation can run per installation at a time: while one is still in
|
|
4656
|
+
progress the endpoint returns 409 without the ID of the running generation, so a caller
|
|
4657
|
+
that did not receive the `202` has to wait for it to finish (up to a few minutes) before
|
|
4658
|
+
starting a new one. The endpoint is limited to 10 requests per minute.
|
|
4650
4659
|
|
|
4651
4660
|
Provide the WordPress installation (software) identifier in the path. It can
|
|
4652
4661
|
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
|
|
@@ -4654,6 +4663,25 @@ be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
|
|
|
4654
4663
|
- **Method**: `POST`
|
|
4655
4664
|
- **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/content/images/generate`
|
|
4656
4665
|
|
|
4666
|
+
#### wordpress_ai-content_generation-result
|
|
4667
|
+
|
|
4668
|
+
Get the result of an AI content generation started for the specified WordPress
|
|
4669
|
+
installation, such as an image generation started with
|
|
4670
|
+
POST /api/hosting/v1/accounts/{username}/wordpress/{software}/content/images/generate.
|
|
4671
|
+
|
|
4672
|
+
While the generation is still running only `status: in-progress` is returned; poll every
|
|
4673
|
+
few seconds. Once `completed`, `result` holds the generated content shaped according to
|
|
4674
|
+
`type`: temporary image URLs together with the time they expire for `image-generation`, or
|
|
4675
|
+
the generated website document for `website-generation` (started from the Hostinger
|
|
4676
|
+
WordPress plugin). A `failed` generation has no `result`. Unknown or expired generation
|
|
4677
|
+
IDs return 404.
|
|
4678
|
+
|
|
4679
|
+
Provide the WordPress installation (software) identifier in the path. It can
|
|
4680
|
+
be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
|
|
4681
|
+
|
|
4682
|
+
- **Method**: `GET`
|
|
4683
|
+
- **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/content/generations/{generation_id}`
|
|
4684
|
+
|
|
4657
4685
|
#### wordpress_ai-tools_show-option-status
|
|
4658
4686
|
|
|
4659
4687
|
Show the current AI option status for the Hostinger Tools plugin on the
|
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": "
|
|
9
|
+
"version": "3.1.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@hostinger/mcp",
|
|
14
|
-
"version": "
|
|
14
|
+
"version": "3.1.0",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
package/src/core/runtime.js
CHANGED
|
@@ -64,7 +64,7 @@ const GetSkillRequestSchema = z.object({
|
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
66
|
* MCP Server for Hostinger API
|
|
67
|
-
* Generated from OpenAPI spec version 1.
|
|
67
|
+
* Generated from OpenAPI spec version 2.1.0
|
|
68
68
|
*/
|
|
69
69
|
class MCPServer {
|
|
70
70
|
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 1.
|
|
97
|
+
* Generated from OpenAPI spec version 2.1.0
|
|
98
98
|
*/
|
|
99
99
|
class MCPServer {
|
|
100
100
|
private readonly name: string;
|
package/src/core/tools/all.js
CHANGED
|
@@ -4845,7 +4845,7 @@ export default [
|
|
|
4845
4845
|
"destructiveHint": true,
|
|
4846
4846
|
"idempotentHint": true
|
|
4847
4847
|
},
|
|
4848
|
-
"description": "Update a product's name, description or
|
|
4848
|
+
"description": "Update a product's name, description, status, SEO settings or collections. Set status to\npublished to make it buyable, draft to hide it, or archived to retire it. SEO settings (title,\ndescription, slug) left out keep their values. collection_changes adds or removes collections\nwithout touching the others. Variants, prices and inventory are managed through the variant\nendpoints, not here. Returns the updated product summary.",
|
|
4849
4849
|
"method": "PATCH",
|
|
4850
4850
|
"path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}",
|
|
4851
4851
|
"inputSchema": {
|
|
@@ -4875,6 +4875,64 @@ export default [
|
|
|
4875
4875
|
"published",
|
|
4876
4876
|
"archived"
|
|
4877
4877
|
]
|
|
4878
|
+
},
|
|
4879
|
+
"seo_settings": {
|
|
4880
|
+
"type": "object",
|
|
4881
|
+
"description": "Search-engine settings to change. Send at least one field; omitted fields keep their current values.",
|
|
4882
|
+
"properties": {
|
|
4883
|
+
"title": {
|
|
4884
|
+
"type": "string",
|
|
4885
|
+
"description": "Search-engine title for the product page."
|
|
4886
|
+
},
|
|
4887
|
+
"description": {
|
|
4888
|
+
"type": "string",
|
|
4889
|
+
"description": "Search-engine description for the product page."
|
|
4890
|
+
},
|
|
4891
|
+
"slug": {
|
|
4892
|
+
"type": "string",
|
|
4893
|
+
"description": "URL slug of the product page. Lowercase letters, digits and dashes."
|
|
4894
|
+
}
|
|
4895
|
+
}
|
|
4896
|
+
},
|
|
4897
|
+
"collection_changes": {
|
|
4898
|
+
"type": "object",
|
|
4899
|
+
"description": "Adds the product to or removes it from collections without touching its other collections. Send at least one collection in add or remove.",
|
|
4900
|
+
"properties": {
|
|
4901
|
+
"add": {
|
|
4902
|
+
"type": "array",
|
|
4903
|
+
"description": "Collections to add the product to. Every id must exist in the store.",
|
|
4904
|
+
"items": {
|
|
4905
|
+
"type": "object",
|
|
4906
|
+
"description": "add parameter",
|
|
4907
|
+
"properties": {
|
|
4908
|
+
"id": {
|
|
4909
|
+
"type": "string",
|
|
4910
|
+
"description": "The collection id."
|
|
4911
|
+
}
|
|
4912
|
+
},
|
|
4913
|
+
"required": [
|
|
4914
|
+
"id"
|
|
4915
|
+
]
|
|
4916
|
+
}
|
|
4917
|
+
},
|
|
4918
|
+
"remove": {
|
|
4919
|
+
"type": "array",
|
|
4920
|
+
"description": "Collections to take the product out of. Ids the product is not in are ignored.",
|
|
4921
|
+
"items": {
|
|
4922
|
+
"type": "object",
|
|
4923
|
+
"description": "remove parameter",
|
|
4924
|
+
"properties": {
|
|
4925
|
+
"id": {
|
|
4926
|
+
"type": "string",
|
|
4927
|
+
"description": "The collection id."
|
|
4928
|
+
}
|
|
4929
|
+
},
|
|
4930
|
+
"required": [
|
|
4931
|
+
"id"
|
|
4932
|
+
]
|
|
4933
|
+
}
|
|
4934
|
+
}
|
|
4935
|
+
}
|
|
4878
4936
|
}
|
|
4879
4937
|
},
|
|
4880
4938
|
"required": [
|
|
@@ -5047,6 +5105,24 @@ export default [
|
|
|
5047
5105
|
"currency": {
|
|
5048
5106
|
"type": "string",
|
|
5049
5107
|
"description": "ISO 4217 currency code. Defaults to the store's default currency when omitted."
|
|
5108
|
+
},
|
|
5109
|
+
"seo_settings": {
|
|
5110
|
+
"type": "object",
|
|
5111
|
+
"description": "Search-engine settings. Omitted fields are generated from the name and description; a slug already in use gets a numeric suffix. Send at least one field.",
|
|
5112
|
+
"properties": {
|
|
5113
|
+
"title": {
|
|
5114
|
+
"type": "string",
|
|
5115
|
+
"description": "Search-engine title for the product page."
|
|
5116
|
+
},
|
|
5117
|
+
"description": {
|
|
5118
|
+
"type": "string",
|
|
5119
|
+
"description": "Search-engine description for the product page."
|
|
5120
|
+
},
|
|
5121
|
+
"slug": {
|
|
5122
|
+
"type": "string",
|
|
5123
|
+
"description": "URL slug of the product page. Lowercase letters, digits and dashes."
|
|
5124
|
+
}
|
|
5125
|
+
}
|
|
5050
5126
|
}
|
|
5051
5127
|
},
|
|
5052
5128
|
"required": [
|
|
@@ -5424,7 +5500,7 @@ export default [
|
|
|
5424
5500
|
"destructiveHint": true,
|
|
5425
5501
|
"idempotentHint": true
|
|
5426
5502
|
},
|
|
5427
|
-
"description": "Update up to 100 existing variants in place by id — title, inventory, stock tracking
|
|
5503
|
+
"description": "Update up to 100 existing variants in place by id — title, SKU, inventory, stock tracking\nand prices. Variants omitted from the request are left untouched. Prices replace the variant's\nexisting prices in full. Returns the updated variants.",
|
|
5428
5504
|
"method": "PATCH",
|
|
5429
5505
|
"path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}/variants/batch",
|
|
5430
5506
|
"inputSchema": {
|
|
@@ -5453,6 +5529,10 @@ export default [
|
|
|
5453
5529
|
"type": "string",
|
|
5454
5530
|
"description": "The variant title."
|
|
5455
5531
|
},
|
|
5532
|
+
"sku": {
|
|
5533
|
+
"type": "string",
|
|
5534
|
+
"description": "The variant SKU."
|
|
5535
|
+
},
|
|
5456
5536
|
"inventory_quantity": {
|
|
5457
5537
|
"type": "integer",
|
|
5458
5538
|
"description": "Units in stock."
|
|
@@ -15963,7 +16043,7 @@ export default [
|
|
|
15963
16043
|
"readOnlyHint": false,
|
|
15964
16044
|
"destructiveHint": false
|
|
15965
16045
|
},
|
|
15966
|
-
"description": "
|
|
16046
|
+
"description": "Start generating one or more images from a prompt and an image type for the specified\nWordPress installation. The generation runs asynchronously: the response is returned\nright away with `status: in-progress` and a `generation_id`. Poll\nGET /api/hosting/v1/accounts/{username}/wordpress/{software}/content/generations/{generation_id}\nevery few seconds until `status` is `completed` or `failed`.\n\nA completed generation returns temporary image URLs together with the time they expire;\ndownload the images before then. Images match the requested aspect ratio and are never\nsmaller than the requested size; logos are transparent images cropped to the mark.\n\nOnly one image generation can run per installation at a time: while one is still in\nprogress the endpoint returns 409 without the ID of the running generation, so a caller\nthat did not receive the `202` has to wait for it to finish (up to a few minutes) before\nstarting a new one. The endpoint is limited to 10 requests per minute.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
|
|
15967
16047
|
"method": "POST",
|
|
15968
16048
|
"path": "/api/hosting/v1/accounts/{username}/wordpress/{software}/content/images/generate",
|
|
15969
16049
|
"inputSchema": {
|
|
@@ -16028,6 +16108,54 @@ export default [
|
|
|
16028
16108
|
],
|
|
16029
16109
|
"group": "wordpress"
|
|
16030
16110
|
},
|
|
16111
|
+
{
|
|
16112
|
+
"name": "wordpress_ai-content_generation-result",
|
|
16113
|
+
"title": "Get generation result",
|
|
16114
|
+
"annotations": {
|
|
16115
|
+
"title": "Get generation result",
|
|
16116
|
+
"readOnlyHint": true,
|
|
16117
|
+
"destructiveHint": false
|
|
16118
|
+
},
|
|
16119
|
+
"description": "Get the result of an AI content generation started for the specified WordPress\ninstallation, such as an image generation started with\nPOST /api/hosting/v1/accounts/{username}/wordpress/{software}/content/images/generate.\n\nWhile the generation is still running only `status: in-progress` is returned; poll every\nfew seconds. Once `completed`, `result` holds the generated content shaped according to\n`type`: temporary image URLs together with the time they expire for `image-generation`, or\nthe generated website document for `website-generation` (started from the Hostinger\nWordPress plugin). A `failed` generation has no `result`. Unknown or expired generation\nIDs return 404.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
|
|
16120
|
+
"method": "GET",
|
|
16121
|
+
"path": "/api/hosting/v1/accounts/{username}/wordpress/{software}/content/generations/{generation_id}",
|
|
16122
|
+
"inputSchema": {
|
|
16123
|
+
"type": "object",
|
|
16124
|
+
"properties": {
|
|
16125
|
+
"username": {
|
|
16126
|
+
"type": "string",
|
|
16127
|
+
"description": "username parameter"
|
|
16128
|
+
},
|
|
16129
|
+
"software": {
|
|
16130
|
+
"type": "string",
|
|
16131
|
+
"description": "WordPress installation (software) identifier"
|
|
16132
|
+
},
|
|
16133
|
+
"generation_id": {
|
|
16134
|
+
"type": "string",
|
|
16135
|
+
"description": "Generation ID returned when the generation was started"
|
|
16136
|
+
},
|
|
16137
|
+
"type": {
|
|
16138
|
+
"type": "string",
|
|
16139
|
+
"description": "Generation type to look up. When omitted, every generation type is checked.",
|
|
16140
|
+
"enum": [
|
|
16141
|
+
"website-generation",
|
|
16142
|
+
"image-generation"
|
|
16143
|
+
]
|
|
16144
|
+
}
|
|
16145
|
+
},
|
|
16146
|
+
"required": [
|
|
16147
|
+
"username",
|
|
16148
|
+
"software",
|
|
16149
|
+
"generation_id"
|
|
16150
|
+
]
|
|
16151
|
+
},
|
|
16152
|
+
"security": [
|
|
16153
|
+
{
|
|
16154
|
+
"apiToken": []
|
|
16155
|
+
}
|
|
16156
|
+
],
|
|
16157
|
+
"group": "wordpress"
|
|
16158
|
+
},
|
|
16031
16159
|
{
|
|
16032
16160
|
"name": "wordpress_ai-tools_show-option-status",
|
|
16033
16161
|
"title": "Show AI option status",
|
package/src/core/tools/all.ts
CHANGED
|
@@ -4859,7 +4859,7 @@ const tools: OpenApiTool[] = [
|
|
|
4859
4859
|
"destructiveHint": true,
|
|
4860
4860
|
"idempotentHint": true
|
|
4861
4861
|
},
|
|
4862
|
-
"description": "Update a product's name, description or
|
|
4862
|
+
"description": "Update a product's name, description, status, SEO settings or collections. Set status to\npublished to make it buyable, draft to hide it, or archived to retire it. SEO settings (title,\ndescription, slug) left out keep their values. collection_changes adds or removes collections\nwithout touching the others. Variants, prices and inventory are managed through the variant\nendpoints, not here. Returns the updated product summary.",
|
|
4863
4863
|
"method": "PATCH",
|
|
4864
4864
|
"path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}",
|
|
4865
4865
|
"inputSchema": {
|
|
@@ -4889,6 +4889,64 @@ const tools: OpenApiTool[] = [
|
|
|
4889
4889
|
"published",
|
|
4890
4890
|
"archived"
|
|
4891
4891
|
]
|
|
4892
|
+
},
|
|
4893
|
+
"seo_settings": {
|
|
4894
|
+
"type": "object",
|
|
4895
|
+
"description": "Search-engine settings to change. Send at least one field; omitted fields keep their current values.",
|
|
4896
|
+
"properties": {
|
|
4897
|
+
"title": {
|
|
4898
|
+
"type": "string",
|
|
4899
|
+
"description": "Search-engine title for the product page."
|
|
4900
|
+
},
|
|
4901
|
+
"description": {
|
|
4902
|
+
"type": "string",
|
|
4903
|
+
"description": "Search-engine description for the product page."
|
|
4904
|
+
},
|
|
4905
|
+
"slug": {
|
|
4906
|
+
"type": "string",
|
|
4907
|
+
"description": "URL slug of the product page. Lowercase letters, digits and dashes."
|
|
4908
|
+
}
|
|
4909
|
+
}
|
|
4910
|
+
},
|
|
4911
|
+
"collection_changes": {
|
|
4912
|
+
"type": "object",
|
|
4913
|
+
"description": "Adds the product to or removes it from collections without touching its other collections. Send at least one collection in add or remove.",
|
|
4914
|
+
"properties": {
|
|
4915
|
+
"add": {
|
|
4916
|
+
"type": "array",
|
|
4917
|
+
"description": "Collections to add the product to. Every id must exist in the store.",
|
|
4918
|
+
"items": {
|
|
4919
|
+
"type": "object",
|
|
4920
|
+
"description": "add parameter",
|
|
4921
|
+
"properties": {
|
|
4922
|
+
"id": {
|
|
4923
|
+
"type": "string",
|
|
4924
|
+
"description": "The collection id."
|
|
4925
|
+
}
|
|
4926
|
+
},
|
|
4927
|
+
"required": [
|
|
4928
|
+
"id"
|
|
4929
|
+
]
|
|
4930
|
+
}
|
|
4931
|
+
},
|
|
4932
|
+
"remove": {
|
|
4933
|
+
"type": "array",
|
|
4934
|
+
"description": "Collections to take the product out of. Ids the product is not in are ignored.",
|
|
4935
|
+
"items": {
|
|
4936
|
+
"type": "object",
|
|
4937
|
+
"description": "remove parameter",
|
|
4938
|
+
"properties": {
|
|
4939
|
+
"id": {
|
|
4940
|
+
"type": "string",
|
|
4941
|
+
"description": "The collection id."
|
|
4942
|
+
}
|
|
4943
|
+
},
|
|
4944
|
+
"required": [
|
|
4945
|
+
"id"
|
|
4946
|
+
]
|
|
4947
|
+
}
|
|
4948
|
+
}
|
|
4949
|
+
}
|
|
4892
4950
|
}
|
|
4893
4951
|
},
|
|
4894
4952
|
"required": [
|
|
@@ -5061,6 +5119,24 @@ const tools: OpenApiTool[] = [
|
|
|
5061
5119
|
"currency": {
|
|
5062
5120
|
"type": "string",
|
|
5063
5121
|
"description": "ISO 4217 currency code. Defaults to the store's default currency when omitted."
|
|
5122
|
+
},
|
|
5123
|
+
"seo_settings": {
|
|
5124
|
+
"type": "object",
|
|
5125
|
+
"description": "Search-engine settings. Omitted fields are generated from the name and description; a slug already in use gets a numeric suffix. Send at least one field.",
|
|
5126
|
+
"properties": {
|
|
5127
|
+
"title": {
|
|
5128
|
+
"type": "string",
|
|
5129
|
+
"description": "Search-engine title for the product page."
|
|
5130
|
+
},
|
|
5131
|
+
"description": {
|
|
5132
|
+
"type": "string",
|
|
5133
|
+
"description": "Search-engine description for the product page."
|
|
5134
|
+
},
|
|
5135
|
+
"slug": {
|
|
5136
|
+
"type": "string",
|
|
5137
|
+
"description": "URL slug of the product page. Lowercase letters, digits and dashes."
|
|
5138
|
+
}
|
|
5139
|
+
}
|
|
5064
5140
|
}
|
|
5065
5141
|
},
|
|
5066
5142
|
"required": [
|
|
@@ -5438,7 +5514,7 @@ const tools: OpenApiTool[] = [
|
|
|
5438
5514
|
"destructiveHint": true,
|
|
5439
5515
|
"idempotentHint": true
|
|
5440
5516
|
},
|
|
5441
|
-
"description": "Update up to 100 existing variants in place by id — title, inventory, stock tracking
|
|
5517
|
+
"description": "Update up to 100 existing variants in place by id — title, SKU, inventory, stock tracking\nand prices. Variants omitted from the request are left untouched. Prices replace the variant's\nexisting prices in full. Returns the updated variants.",
|
|
5442
5518
|
"method": "PATCH",
|
|
5443
5519
|
"path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}/variants/batch",
|
|
5444
5520
|
"inputSchema": {
|
|
@@ -5467,6 +5543,10 @@ const tools: OpenApiTool[] = [
|
|
|
5467
5543
|
"type": "string",
|
|
5468
5544
|
"description": "The variant title."
|
|
5469
5545
|
},
|
|
5546
|
+
"sku": {
|
|
5547
|
+
"type": "string",
|
|
5548
|
+
"description": "The variant SKU."
|
|
5549
|
+
},
|
|
5470
5550
|
"inventory_quantity": {
|
|
5471
5551
|
"type": "integer",
|
|
5472
5552
|
"description": "Units in stock."
|
|
@@ -15977,7 +16057,7 @@ const tools: OpenApiTool[] = [
|
|
|
15977
16057
|
"readOnlyHint": false,
|
|
15978
16058
|
"destructiveHint": false
|
|
15979
16059
|
},
|
|
15980
|
-
"description": "
|
|
16060
|
+
"description": "Start generating one or more images from a prompt and an image type for the specified\nWordPress installation. The generation runs asynchronously: the response is returned\nright away with `status: in-progress` and a `generation_id`. Poll\nGET /api/hosting/v1/accounts/{username}/wordpress/{software}/content/generations/{generation_id}\nevery few seconds until `status` is `completed` or `failed`.\n\nA completed generation returns temporary image URLs together with the time they expire;\ndownload the images before then. Images match the requested aspect ratio and are never\nsmaller than the requested size; logos are transparent images cropped to the mark.\n\nOnly one image generation can run per installation at a time: while one is still in\nprogress the endpoint returns 409 without the ID of the running generation, so a caller\nthat did not receive the `202` has to wait for it to finish (up to a few minutes) before\nstarting a new one. The endpoint is limited to 10 requests per minute.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
|
|
15981
16061
|
"method": "POST",
|
|
15982
16062
|
"path": "/api/hosting/v1/accounts/{username}/wordpress/{software}/content/images/generate",
|
|
15983
16063
|
"inputSchema": {
|
|
@@ -16042,6 +16122,54 @@ const tools: OpenApiTool[] = [
|
|
|
16042
16122
|
],
|
|
16043
16123
|
"group": "wordpress"
|
|
16044
16124
|
},
|
|
16125
|
+
{
|
|
16126
|
+
"name": "wordpress_ai-content_generation-result",
|
|
16127
|
+
"title": "Get generation result",
|
|
16128
|
+
"annotations": {
|
|
16129
|
+
"title": "Get generation result",
|
|
16130
|
+
"readOnlyHint": true,
|
|
16131
|
+
"destructiveHint": false
|
|
16132
|
+
},
|
|
16133
|
+
"description": "Get the result of an AI content generation started for the specified WordPress\ninstallation, such as an image generation started with\nPOST /api/hosting/v1/accounts/{username}/wordpress/{software}/content/images/generate.\n\nWhile the generation is still running only `status: in-progress` is returned; poll every\nfew seconds. Once `completed`, `result` holds the generated content shaped according to\n`type`: temporary image URLs together with the time they expire for `image-generation`, or\nthe generated website document for `website-generation` (started from the Hostinger\nWordPress plugin). A `failed` generation has no `result`. Unknown or expired generation\nIDs return 404.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
|
|
16134
|
+
"method": "GET",
|
|
16135
|
+
"path": "/api/hosting/v1/accounts/{username}/wordpress/{software}/content/generations/{generation_id}",
|
|
16136
|
+
"inputSchema": {
|
|
16137
|
+
"type": "object",
|
|
16138
|
+
"properties": {
|
|
16139
|
+
"username": {
|
|
16140
|
+
"type": "string",
|
|
16141
|
+
"description": "username parameter"
|
|
16142
|
+
},
|
|
16143
|
+
"software": {
|
|
16144
|
+
"type": "string",
|
|
16145
|
+
"description": "WordPress installation (software) identifier"
|
|
16146
|
+
},
|
|
16147
|
+
"generation_id": {
|
|
16148
|
+
"type": "string",
|
|
16149
|
+
"description": "Generation ID returned when the generation was started"
|
|
16150
|
+
},
|
|
16151
|
+
"type": {
|
|
16152
|
+
"type": "string",
|
|
16153
|
+
"description": "Generation type to look up. When omitted, every generation type is checked.",
|
|
16154
|
+
"enum": [
|
|
16155
|
+
"website-generation",
|
|
16156
|
+
"image-generation"
|
|
16157
|
+
]
|
|
16158
|
+
}
|
|
16159
|
+
},
|
|
16160
|
+
"required": [
|
|
16161
|
+
"username",
|
|
16162
|
+
"software",
|
|
16163
|
+
"generation_id"
|
|
16164
|
+
]
|
|
16165
|
+
},
|
|
16166
|
+
"security": [
|
|
16167
|
+
{
|
|
16168
|
+
"apiToken": []
|
|
16169
|
+
}
|
|
16170
|
+
],
|
|
16171
|
+
"group": "wordpress"
|
|
16172
|
+
},
|
|
16045
16173
|
{
|
|
16046
16174
|
"name": "wordpress_ai-tools_show-option-status",
|
|
16047
16175
|
"title": "Show AI option status",
|