hostinger-api-mcp 1.57.2 → 1.57.4
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 +30 -0
- package/README.md +66 -9
- 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 +143 -4
- package/src/core/tools/all.ts +143 -4
- package/src/core/tools/ecommerce.js +2 -2
- package/src/core/tools/ecommerce.ts +2 -2
- package/src/core/tools/horizons.js +141 -2
- package/src/core/tools/horizons.ts +141 -2
- package/src/servers/agency-hosting.js +1 -1
- package/src/servers/agency-hosting.ts +1 -1
- package/src/servers/all.js +1 -1
- package/src/servers/all.ts +1 -1
- package/src/servers/billing.js +1 -1
- package/src/servers/billing.ts +1 -1
- package/src/servers/dns.js +1 -1
- package/src/servers/dns.ts +1 -1
- package/src/servers/domains.js +1 -1
- package/src/servers/domains.ts +1 -1
- package/src/servers/ecommerce.js +1 -1
- package/src/servers/ecommerce.ts +1 -1
- package/src/servers/horizons.js +1 -1
- package/src/servers/horizons.ts +1 -1
- package/src/servers/hosting.js +1 -1
- package/src/servers/hosting.ts +1 -1
- package/src/servers/mail.js +1 -1
- package/src/servers/mail.ts +1 -1
- package/src/servers/reach.js +1 -1
- package/src/servers/reach.ts +1 -1
- package/src/servers/vps.js +1 -1
- package/src/servers/vps.ts +1 -1
- package/src/servers/wordpress.js +1 -1
- package/src/servers/wordpress.ts +1 -1
- package/types.d.ts +95 -10
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,36 @@ 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
|
+
## v1.57.4 — 2026-09-09
|
|
8
|
+
|
|
9
|
+
### Tools
|
|
10
|
+
|
|
11
|
+
- Changed the description and input schema of `ecommerce_uploadAndAttachAProductImageV1`
|
|
12
|
+
|
|
13
|
+
### Also in this release
|
|
14
|
+
|
|
15
|
+
- Documentation: `README.md`
|
|
16
|
+
- Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
|
|
17
|
+
- Build and packaging: `types.d.ts`
|
|
18
|
+
|
|
19
|
+
## v1.57.3 — 2026-09-09
|
|
20
|
+
|
|
21
|
+
### Tools
|
|
22
|
+
|
|
23
|
+
- Added `horizons_cloneWebsiteV1` — Clone website
|
|
24
|
+
- Added `horizons_getWebsiteListV1` — Get website list
|
|
25
|
+
- Added `horizons_editWebsiteV1` — Edit website
|
|
26
|
+
- Added `horizons_publishWebsiteV1` — Publish website
|
|
27
|
+
- Changed the description of `horizons_createWebsiteV1`
|
|
28
|
+
- Changed the description of `horizons_getWebsiteV1`
|
|
29
|
+
|
|
30
|
+
### Also in this release
|
|
31
|
+
|
|
32
|
+
- Documentation: `README.md`
|
|
33
|
+
- Dependencies: `package-lock.json`
|
|
34
|
+
- Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
|
|
35
|
+
- Build and packaging: `types.d.ts`
|
|
36
|
+
|
|
7
37
|
## v1.57.2 — 2026-09-07
|
|
8
38
|
|
|
9
39
|
### Also in this release
|
package/README.md
CHANGED
|
@@ -69,13 +69,13 @@ 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 with every tool (
|
|
72
|
+
- `hostinger-api-mcp` — unified server with every tool (386 total)
|
|
73
73
|
- `hostinger-agency-hosting-mcp` — 38 tools for agency-hosting
|
|
74
74
|
- `hostinger-billing-mcp` — 9 tools for billing
|
|
75
75
|
- `hostinger-dns-mcp` — 8 tools for dns
|
|
76
76
|
- `hostinger-domains-mcp` — 40 tools for domains
|
|
77
77
|
- `hostinger-ecommerce-mcp` — 29 tools for ecommerce
|
|
78
|
-
- `hostinger-horizons-mcp` —
|
|
78
|
+
- `hostinger-horizons-mcp` — 6 tools for horizons
|
|
79
79
|
- `hostinger-hosting-mcp` — 64 tools for hosting
|
|
80
80
|
- `hostinger-mail-mcp` — 38 tools for mail
|
|
81
81
|
- `hostinger-reach-mcp` — 52 tools for reach
|
|
@@ -1422,8 +1422,10 @@ Create a published physical product with a single variant priced in the store cu
|
|
|
1422
1422
|
#### ecommerce_uploadAndAttachAProductImageV1
|
|
1423
1423
|
|
|
1424
1424
|
Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a
|
|
1425
|
-
single call.
|
|
1426
|
-
|
|
1425
|
+
single call. Image downloads require HTTPS on port 443 without embedded credentials. At most one redirect
|
|
1426
|
+
is allowed, and its destination must meet the same requirements. Private or reserved network
|
|
1427
|
+
destinations, unsupported URLs and longer redirect chains are rejected. The image is virus-scanned
|
|
1428
|
+
and validated by content, then stored on the CDN. Set is_thumbnail to make it the product's primary image.
|
|
1427
1429
|
|
|
1428
1430
|
- **Method**: `POST`
|
|
1429
1431
|
- **Path**: `/api/ecommerce/v1/stores/{store_id}/products/{product_id}/images`
|
|
@@ -1528,6 +1530,31 @@ store currency. Returns the created variant.
|
|
|
1528
1530
|
|
|
1529
1531
|
### `hostinger-horizons-mcp`
|
|
1530
1532
|
|
|
1533
|
+
#### horizons_cloneWebsiteV1
|
|
1534
|
+
|
|
1535
|
+
Clone a Hostinger Horizons website into a new website.\n
|
|
1536
|
+
Use this tool when the user wants a copy of an existing website, for example to try out
|
|
1537
|
+
changes without touching the original.\n
|
|
1538
|
+
This tool returns the ID and URL of the newly created copy.
|
|
1539
|
+
The original website is left untouched.\n
|
|
1540
|
+
To edit the copy, use the `Edit website` tool with the returned website ID, or the user can
|
|
1541
|
+
open the provided website URL in Hostinger Horizons interface.
|
|
1542
|
+
|
|
1543
|
+
- **Method**: `POST`
|
|
1544
|
+
- **Path**: `/api/horizons/v1/websites/{websiteId}/clone`
|
|
1545
|
+
|
|
1546
|
+
#### horizons_getWebsiteListV1
|
|
1547
|
+
|
|
1548
|
+
List the Hostinger Horizons websites the user owns.\n
|
|
1549
|
+
Use this tool when the user asks which websites they have, or when you need a website ID
|
|
1550
|
+
before editing, publishing or cloning a website.\n
|
|
1551
|
+
Each website is returned with its ID, status, domain and the URL to open it
|
|
1552
|
+
in Hostinger Horizons interface.\n
|
|
1553
|
+
The complete list of websites is returned in a single response - it is not paginated.
|
|
1554
|
+
|
|
1555
|
+
- **Method**: `GET`
|
|
1556
|
+
- **Path**: `/api/horizons/v1/websites`
|
|
1557
|
+
|
|
1531
1558
|
#### horizons_createWebsiteV1
|
|
1532
1559
|
|
|
1533
1560
|
Create new Hostinger Horizons website from the given message.\n
|
|
@@ -1538,8 +1565,8 @@ The generation happens asynchronously.\n
|
|
|
1538
1565
|
After invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing
|
|
1539
1566
|
that Hostinger Horizons is now creating their website and it will be ready in a few minutes
|
|
1540
1567
|
and you should provide the website URL to the user immediately
|
|
1541
|
-
Do not write code.\n\nTo edit afterwards,
|
|
1542
|
-
in the provided website URL.
|
|
1568
|
+
Do not write code.\n\nTo edit afterwards, use the `Edit website` tool with the returned
|
|
1569
|
+
website ID, or the user can go to Hostinger Horizons interface in the provided website URL.
|
|
1543
1570
|
If the tool call fails with an error, you should provide a clear explanation of the error
|
|
1544
1571
|
and do not generate code yourself in the chat.
|
|
1545
1572
|
\n
|
|
@@ -1569,11 +1596,41 @@ MAPS:\n
|
|
|
1569
1596
|
- **Method**: `POST`
|
|
1570
1597
|
- **Path**: `/api/horizons/v1/websites`
|
|
1571
1598
|
|
|
1599
|
+
#### horizons_editWebsiteV1
|
|
1600
|
+
|
|
1601
|
+
Edit an existing Hostinger Horizons website with a follow-up message.\n
|
|
1602
|
+
Use this tool when the user wants to change, extend or fix a website that already exists.\n
|
|
1603
|
+
This tool queues the requested changes and returns the website URL and ID.
|
|
1604
|
+
The changes are applied asynchronously.\n
|
|
1605
|
+
After invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing
|
|
1606
|
+
that Hostinger Horizons is now applying the requested changes and they will be ready
|
|
1607
|
+
in a few minutes, and you should provide the website URL to the user immediately.
|
|
1608
|
+
Do not write code.\n
|
|
1609
|
+
If the tool call fails with an error, you should provide a clear explanation of the error
|
|
1610
|
+
and do not generate code yourself in the chat.
|
|
1611
|
+
|
|
1612
|
+
- **Method**: `POST`
|
|
1613
|
+
- **Path**: `/api/horizons/v1/websites/{websiteId}/messages`
|
|
1614
|
+
|
|
1615
|
+
#### horizons_publishWebsiteV1
|
|
1616
|
+
|
|
1617
|
+
Publish a Hostinger Horizons website so its latest changes go live.\n
|
|
1618
|
+
Use this tool when the user asks to publish, deploy or make their website live.\n
|
|
1619
|
+
This tool starts the publish process and returns the URL the website will be live on.
|
|
1620
|
+
Publishing happens asynchronously and takes a few minutes.\n
|
|
1621
|
+
After invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing
|
|
1622
|
+
that the website is being published and you should provide the published URL to the user immediately.
|
|
1623
|
+
|
|
1624
|
+
- **Method**: `POST`
|
|
1625
|
+
- **Path**: `/api/horizons/v1/websites/{websiteId}/publish`
|
|
1626
|
+
|
|
1572
1627
|
#### horizons_getWebsiteV1
|
|
1573
1628
|
|
|
1574
|
-
Get
|
|
1575
|
-
Use this tool when user wants
|
|
1576
|
-
|
|
1629
|
+
Get the link for the user to open their website in Hostinger Horizons interface.\n
|
|
1630
|
+
Use this tool when the user wants the link to an existing website, or when you need its
|
|
1631
|
+
website URL before or after editing it.\n
|
|
1632
|
+
Websites can be edited with the `Edit website` tool, or by the user in Hostinger Horizons
|
|
1633
|
+
interface in the provided website URL.
|
|
1577
1634
|
|
|
1578
1635
|
- **Method**: `GET`
|
|
1579
1636
|
- **Path**: `/api/horizons/v1/websites/{websiteId}`
|
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": "1.57.
|
|
9
|
+
"version": "1.57.4",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@hostinger/mcp",
|
|
14
|
-
"version": "1.57.
|
|
14
|
+
"version": "1.57.4",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
package/src/core/runtime.js
CHANGED
package/src/core/runtime.ts
CHANGED
package/src/core/tools/all.js
CHANGED
|
@@ -4727,7 +4727,7 @@ export default [
|
|
|
4727
4727
|
"readOnlyHint": false,
|
|
4728
4728
|
"destructiveHint": false
|
|
4729
4729
|
},
|
|
4730
|
-
"description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. The image is virus-scanned
|
|
4730
|
+
"description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. Image downloads require HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed, and its destination must meet the same requirements. Private or reserved network\ndestinations, unsupported URLs and longer redirect chains are rejected. The image is virus-scanned\nand validated by content, then stored on the CDN. Set is_thumbnail to make it the product's primary image.",
|
|
4731
4731
|
"method": "POST",
|
|
4732
4732
|
"path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}/images",
|
|
4733
4733
|
"inputSchema": {
|
|
@@ -4743,7 +4743,7 @@ export default [
|
|
|
4743
4743
|
},
|
|
4744
4744
|
"image_url": {
|
|
4745
4745
|
"type": "string",
|
|
4746
|
-
"description": "Publicly reachable URL of
|
|
4746
|
+
"description": "Publicly reachable URL of a raster image (JPEG, PNG, GIF or WebP), maximum 15MB. Fetching\nthe image requires HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed; its destination must meet the same URL requirements. Private or reserved\nnetwork destinations, unsupported URLs and longer redirect chains are rejected. The image\nis fetched, virus-scanned and validated by content, then stored on the CDN. SVG is not\naccepted. Provide either this or object_name."
|
|
4747
4747
|
},
|
|
4748
4748
|
"object_name": {
|
|
4749
4749
|
"type": "string",
|
|
@@ -5342,6 +5342,59 @@ export default [
|
|
|
5342
5342
|
],
|
|
5343
5343
|
"group": "ecommerce"
|
|
5344
5344
|
},
|
|
5345
|
+
{
|
|
5346
|
+
"name": "horizons_cloneWebsiteV1",
|
|
5347
|
+
"title": "Clone website",
|
|
5348
|
+
"annotations": {
|
|
5349
|
+
"title": "Clone website",
|
|
5350
|
+
"readOnlyHint": false,
|
|
5351
|
+
"destructiveHint": false
|
|
5352
|
+
},
|
|
5353
|
+
"description": "Clone a Hostinger Horizons website into a new website.\\n\nUse this tool when the user wants a copy of an existing website, for example to try out\nchanges without touching the original.\\n\nThis tool returns the ID and URL of the newly created copy.\nThe original website is left untouched.\\n\nTo edit the copy, use the `Edit website` tool with the returned website ID, or the user can\nopen the provided website URL in Hostinger Horizons interface.",
|
|
5354
|
+
"method": "POST",
|
|
5355
|
+
"path": "/api/horizons/v1/websites/{websiteId}/clone",
|
|
5356
|
+
"inputSchema": {
|
|
5357
|
+
"type": "object",
|
|
5358
|
+
"properties": {
|
|
5359
|
+
"websiteId": {
|
|
5360
|
+
"type": "string",
|
|
5361
|
+
"description": "The website ID"
|
|
5362
|
+
}
|
|
5363
|
+
},
|
|
5364
|
+
"required": [
|
|
5365
|
+
"websiteId"
|
|
5366
|
+
]
|
|
5367
|
+
},
|
|
5368
|
+
"security": [
|
|
5369
|
+
{
|
|
5370
|
+
"apiToken": []
|
|
5371
|
+
}
|
|
5372
|
+
],
|
|
5373
|
+
"group": "horizons"
|
|
5374
|
+
},
|
|
5375
|
+
{
|
|
5376
|
+
"name": "horizons_getWebsiteListV1",
|
|
5377
|
+
"title": "Get website list",
|
|
5378
|
+
"annotations": {
|
|
5379
|
+
"title": "Get website list",
|
|
5380
|
+
"readOnlyHint": true,
|
|
5381
|
+
"destructiveHint": false
|
|
5382
|
+
},
|
|
5383
|
+
"description": "List the Hostinger Horizons websites the user owns.\\n\nUse this tool when the user asks which websites they have, or when you need a website ID\nbefore editing, publishing or cloning a website.\\n\nEach website is returned with its ID, status, domain and the URL to open it\nin Hostinger Horizons interface.\\n\nThe complete list of websites is returned in a single response - it is not paginated.",
|
|
5384
|
+
"method": "GET",
|
|
5385
|
+
"path": "/api/horizons/v1/websites",
|
|
5386
|
+
"inputSchema": {
|
|
5387
|
+
"type": "object",
|
|
5388
|
+
"properties": {},
|
|
5389
|
+
"required": []
|
|
5390
|
+
},
|
|
5391
|
+
"security": [
|
|
5392
|
+
{
|
|
5393
|
+
"apiToken": []
|
|
5394
|
+
}
|
|
5395
|
+
],
|
|
5396
|
+
"group": "horizons"
|
|
5397
|
+
},
|
|
5345
5398
|
{
|
|
5346
5399
|
"name": "horizons_createWebsiteV1",
|
|
5347
5400
|
"title": "Create website",
|
|
@@ -5350,7 +5403,7 @@ export default [
|
|
|
5350
5403
|
"readOnlyHint": false,
|
|
5351
5404
|
"destructiveHint": false
|
|
5352
5405
|
},
|
|
5353
|
-
"description": "Create new Hostinger Horizons website from the given message.\\n\nUse this tool when user asks you to create a website, landing page, blog\nor any other type of application.\\n\nThis tool initiates the website creation process and returns a website URL and ID.\nThe generation happens asynchronously.\\n\nAfter invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing\nthat Hostinger Horizons is now creating their website and it will be ready in a few minutes\nand you should provide the website URL to the user immediately\nDo not write code.\\n\\nTo edit afterwards,
|
|
5406
|
+
"description": "Create new Hostinger Horizons website from the given message.\\n\nUse this tool when user asks you to create a website, landing page, blog\nor any other type of application.\\n\nThis tool initiates the website creation process and returns a website URL and ID.\nThe generation happens asynchronously.\\n\nAfter invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing\nthat Hostinger Horizons is now creating their website and it will be ready in a few minutes\nand you should provide the website URL to the user immediately\nDo not write code.\\n\\nTo edit afterwards, use the `Edit website` tool with the returned\nwebsite ID, or the user can go to Hostinger Horizons interface in the provided website URL.\nIf the tool call fails with an error, you should provide a clear explanation of the error\nand do not generate code yourself in the chat.\n\\n\nTECHNOLOGY STACK CONSTRAINTS (STRICTLY ENFORCED):\\n\nThe environment is limited to the following technologies.\nYou MUST NOT use, suggest, or implement any technology outside this list:\\n\n\\n\n- Language: JavaScript ONLY.\n- Languages like TypeScript, Rust, Python, Java, PHP, etc., are STRICTLY PROHIBITED.\\n\n- Framework: React.\\n\n- Navigation: React Router.\\n\n- Styling: TailwindCSS.\\n\n- Components: shadcn/ui (built with @radix-ui primitives).\\n\n- Icons: Lucide React.\\n\n- Animations: Framer Motion.\\n\n\\n\nBACKEND & DATA STORAGE:\\n\n- Horizons integrated backend is the EXCLUSIVE solution for persistent data storage,\nauthentication, and database needs.\\n\n- Local databases (SQLite, MySQL, etc.) are STRICTLY PROHIBITED.\\n\n- Third-party services (Firebase, AWS Amplify) are allowed ONLY if explicitly requested by the user.\\n\n\\n\nMAPS:\\n\n- OpenStreetMap is the default provider.\\n\n- Alternative providers (Google Maps, Mapbox) are allowed ONLY if explicitly requested by the user.\\n",
|
|
5354
5407
|
"method": "POST",
|
|
5355
5408
|
"path": "/api/horizons/v1/websites",
|
|
5356
5409
|
"inputSchema": {
|
|
@@ -5393,6 +5446,92 @@ export default [
|
|
|
5393
5446
|
],
|
|
5394
5447
|
"group": "horizons"
|
|
5395
5448
|
},
|
|
5449
|
+
{
|
|
5450
|
+
"name": "horizons_editWebsiteV1",
|
|
5451
|
+
"title": "Edit website",
|
|
5452
|
+
"annotations": {
|
|
5453
|
+
"title": "Edit website",
|
|
5454
|
+
"readOnlyHint": false,
|
|
5455
|
+
"destructiveHint": false
|
|
5456
|
+
},
|
|
5457
|
+
"description": "Edit an existing Hostinger Horizons website with a follow-up message.\\n\nUse this tool when the user wants to change, extend or fix a website that already exists.\\n\nThis tool queues the requested changes and returns the website URL and ID.\nThe changes are applied asynchronously.\\n\nAfter invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing\nthat Hostinger Horizons is now applying the requested changes and they will be ready\nin a few minutes, and you should provide the website URL to the user immediately.\nDo not write code.\\n\nIf the tool call fails with an error, you should provide a clear explanation of the error\nand do not generate code yourself in the chat.",
|
|
5458
|
+
"method": "POST",
|
|
5459
|
+
"path": "/api/horizons/v1/websites/{websiteId}/messages",
|
|
5460
|
+
"inputSchema": {
|
|
5461
|
+
"type": "object",
|
|
5462
|
+
"properties": {
|
|
5463
|
+
"websiteId": {
|
|
5464
|
+
"type": "string",
|
|
5465
|
+
"description": "The website ID"
|
|
5466
|
+
},
|
|
5467
|
+
"message": {
|
|
5468
|
+
"type": "array",
|
|
5469
|
+
"description": "message parameter",
|
|
5470
|
+
"items": {
|
|
5471
|
+
"type": "object",
|
|
5472
|
+
"description": "message parameter",
|
|
5473
|
+
"properties": {
|
|
5474
|
+
"type": {
|
|
5475
|
+
"type": "string",
|
|
5476
|
+
"description": "type parameter",
|
|
5477
|
+
"enum": [
|
|
5478
|
+
"text"
|
|
5479
|
+
]
|
|
5480
|
+
},
|
|
5481
|
+
"text": {
|
|
5482
|
+
"type": "string",
|
|
5483
|
+
"description": "Detailed description of the changes to apply to the website.\nInclude which sections, features, content or design should change and how.\nThe specification should be detailed and comprehensive, covering all requested changes."
|
|
5484
|
+
}
|
|
5485
|
+
},
|
|
5486
|
+
"required": [
|
|
5487
|
+
"type",
|
|
5488
|
+
"text"
|
|
5489
|
+
]
|
|
5490
|
+
}
|
|
5491
|
+
}
|
|
5492
|
+
},
|
|
5493
|
+
"required": [
|
|
5494
|
+
"websiteId",
|
|
5495
|
+
"message"
|
|
5496
|
+
]
|
|
5497
|
+
},
|
|
5498
|
+
"security": [
|
|
5499
|
+
{
|
|
5500
|
+
"apiToken": []
|
|
5501
|
+
}
|
|
5502
|
+
],
|
|
5503
|
+
"group": "horizons"
|
|
5504
|
+
},
|
|
5505
|
+
{
|
|
5506
|
+
"name": "horizons_publishWebsiteV1",
|
|
5507
|
+
"title": "Publish website",
|
|
5508
|
+
"annotations": {
|
|
5509
|
+
"title": "Publish website",
|
|
5510
|
+
"readOnlyHint": false,
|
|
5511
|
+
"destructiveHint": false
|
|
5512
|
+
},
|
|
5513
|
+
"description": "Publish a Hostinger Horizons website so its latest changes go live.\\n\nUse this tool when the user asks to publish, deploy or make their website live.\\n\nThis tool starts the publish process and returns the URL the website will be live on.\nPublishing happens asynchronously and takes a few minutes.\\n\nAfter invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing\nthat the website is being published and you should provide the published URL to the user immediately.",
|
|
5514
|
+
"method": "POST",
|
|
5515
|
+
"path": "/api/horizons/v1/websites/{websiteId}/publish",
|
|
5516
|
+
"inputSchema": {
|
|
5517
|
+
"type": "object",
|
|
5518
|
+
"properties": {
|
|
5519
|
+
"websiteId": {
|
|
5520
|
+
"type": "string",
|
|
5521
|
+
"description": "The website ID"
|
|
5522
|
+
}
|
|
5523
|
+
},
|
|
5524
|
+
"required": [
|
|
5525
|
+
"websiteId"
|
|
5526
|
+
]
|
|
5527
|
+
},
|
|
5528
|
+
"security": [
|
|
5529
|
+
{
|
|
5530
|
+
"apiToken": []
|
|
5531
|
+
}
|
|
5532
|
+
],
|
|
5533
|
+
"group": "horizons"
|
|
5534
|
+
},
|
|
5396
5535
|
{
|
|
5397
5536
|
"name": "horizons_getWebsiteV1",
|
|
5398
5537
|
"title": "Get website",
|
|
@@ -5401,7 +5540,7 @@ export default [
|
|
|
5401
5540
|
"readOnlyHint": true,
|
|
5402
5541
|
"destructiveHint": false
|
|
5403
5542
|
},
|
|
5404
|
-
"description": "Get
|
|
5543
|
+
"description": "Get the link for the user to open their website in Hostinger Horizons interface.\\n\nUse this tool when the user wants the link to an existing website, or when you need its\nwebsite URL before or after editing it.\\n\nWebsites can be edited with the `Edit website` tool, or by the user in Hostinger Horizons\ninterface in the provided website URL.",
|
|
5405
5544
|
"method": "GET",
|
|
5406
5545
|
"path": "/api/horizons/v1/websites/{websiteId}",
|
|
5407
5546
|
"inputSchema": {
|
package/src/core/tools/all.ts
CHANGED
|
@@ -4741,7 +4741,7 @@ const tools: OpenApiTool[] = [
|
|
|
4741
4741
|
"readOnlyHint": false,
|
|
4742
4742
|
"destructiveHint": false
|
|
4743
4743
|
},
|
|
4744
|
-
"description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. The image is virus-scanned
|
|
4744
|
+
"description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. Image downloads require HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed, and its destination must meet the same requirements. Private or reserved network\ndestinations, unsupported URLs and longer redirect chains are rejected. The image is virus-scanned\nand validated by content, then stored on the CDN. Set is_thumbnail to make it the product's primary image.",
|
|
4745
4745
|
"method": "POST",
|
|
4746
4746
|
"path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}/images",
|
|
4747
4747
|
"inputSchema": {
|
|
@@ -4757,7 +4757,7 @@ const tools: OpenApiTool[] = [
|
|
|
4757
4757
|
},
|
|
4758
4758
|
"image_url": {
|
|
4759
4759
|
"type": "string",
|
|
4760
|
-
"description": "Publicly reachable URL of
|
|
4760
|
+
"description": "Publicly reachable URL of a raster image (JPEG, PNG, GIF or WebP), maximum 15MB. Fetching\nthe image requires HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed; its destination must meet the same URL requirements. Private or reserved\nnetwork destinations, unsupported URLs and longer redirect chains are rejected. The image\nis fetched, virus-scanned and validated by content, then stored on the CDN. SVG is not\naccepted. Provide either this or object_name."
|
|
4761
4761
|
},
|
|
4762
4762
|
"object_name": {
|
|
4763
4763
|
"type": "string",
|
|
@@ -5356,6 +5356,59 @@ const tools: OpenApiTool[] = [
|
|
|
5356
5356
|
],
|
|
5357
5357
|
"group": "ecommerce"
|
|
5358
5358
|
},
|
|
5359
|
+
{
|
|
5360
|
+
"name": "horizons_cloneWebsiteV1",
|
|
5361
|
+
"title": "Clone website",
|
|
5362
|
+
"annotations": {
|
|
5363
|
+
"title": "Clone website",
|
|
5364
|
+
"readOnlyHint": false,
|
|
5365
|
+
"destructiveHint": false
|
|
5366
|
+
},
|
|
5367
|
+
"description": "Clone a Hostinger Horizons website into a new website.\\n\nUse this tool when the user wants a copy of an existing website, for example to try out\nchanges without touching the original.\\n\nThis tool returns the ID and URL of the newly created copy.\nThe original website is left untouched.\\n\nTo edit the copy, use the `Edit website` tool with the returned website ID, or the user can\nopen the provided website URL in Hostinger Horizons interface.",
|
|
5368
|
+
"method": "POST",
|
|
5369
|
+
"path": "/api/horizons/v1/websites/{websiteId}/clone",
|
|
5370
|
+
"inputSchema": {
|
|
5371
|
+
"type": "object",
|
|
5372
|
+
"properties": {
|
|
5373
|
+
"websiteId": {
|
|
5374
|
+
"type": "string",
|
|
5375
|
+
"description": "The website ID"
|
|
5376
|
+
}
|
|
5377
|
+
},
|
|
5378
|
+
"required": [
|
|
5379
|
+
"websiteId"
|
|
5380
|
+
]
|
|
5381
|
+
},
|
|
5382
|
+
"security": [
|
|
5383
|
+
{
|
|
5384
|
+
"apiToken": []
|
|
5385
|
+
}
|
|
5386
|
+
],
|
|
5387
|
+
"group": "horizons"
|
|
5388
|
+
},
|
|
5389
|
+
{
|
|
5390
|
+
"name": "horizons_getWebsiteListV1",
|
|
5391
|
+
"title": "Get website list",
|
|
5392
|
+
"annotations": {
|
|
5393
|
+
"title": "Get website list",
|
|
5394
|
+
"readOnlyHint": true,
|
|
5395
|
+
"destructiveHint": false
|
|
5396
|
+
},
|
|
5397
|
+
"description": "List the Hostinger Horizons websites the user owns.\\n\nUse this tool when the user asks which websites they have, or when you need a website ID\nbefore editing, publishing or cloning a website.\\n\nEach website is returned with its ID, status, domain and the URL to open it\nin Hostinger Horizons interface.\\n\nThe complete list of websites is returned in a single response - it is not paginated.",
|
|
5398
|
+
"method": "GET",
|
|
5399
|
+
"path": "/api/horizons/v1/websites",
|
|
5400
|
+
"inputSchema": {
|
|
5401
|
+
"type": "object",
|
|
5402
|
+
"properties": {},
|
|
5403
|
+
"required": []
|
|
5404
|
+
},
|
|
5405
|
+
"security": [
|
|
5406
|
+
{
|
|
5407
|
+
"apiToken": []
|
|
5408
|
+
}
|
|
5409
|
+
],
|
|
5410
|
+
"group": "horizons"
|
|
5411
|
+
},
|
|
5359
5412
|
{
|
|
5360
5413
|
"name": "horizons_createWebsiteV1",
|
|
5361
5414
|
"title": "Create website",
|
|
@@ -5364,7 +5417,7 @@ const tools: OpenApiTool[] = [
|
|
|
5364
5417
|
"readOnlyHint": false,
|
|
5365
5418
|
"destructiveHint": false
|
|
5366
5419
|
},
|
|
5367
|
-
"description": "Create new Hostinger Horizons website from the given message.\\n\nUse this tool when user asks you to create a website, landing page, blog\nor any other type of application.\\n\nThis tool initiates the website creation process and returns a website URL and ID.\nThe generation happens asynchronously.\\n\nAfter invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing\nthat Hostinger Horizons is now creating their website and it will be ready in a few minutes\nand you should provide the website URL to the user immediately\nDo not write code.\\n\\nTo edit afterwards,
|
|
5420
|
+
"description": "Create new Hostinger Horizons website from the given message.\\n\nUse this tool when user asks you to create a website, landing page, blog\nor any other type of application.\\n\nThis tool initiates the website creation process and returns a website URL and ID.\nThe generation happens asynchronously.\\n\nAfter invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing\nthat Hostinger Horizons is now creating their website and it will be ready in a few minutes\nand you should provide the website URL to the user immediately\nDo not write code.\\n\\nTo edit afterwards, use the `Edit website` tool with the returned\nwebsite ID, or the user can go to Hostinger Horizons interface in the provided website URL.\nIf the tool call fails with an error, you should provide a clear explanation of the error\nand do not generate code yourself in the chat.\n\\n\nTECHNOLOGY STACK CONSTRAINTS (STRICTLY ENFORCED):\\n\nThe environment is limited to the following technologies.\nYou MUST NOT use, suggest, or implement any technology outside this list:\\n\n\\n\n- Language: JavaScript ONLY.\n- Languages like TypeScript, Rust, Python, Java, PHP, etc., are STRICTLY PROHIBITED.\\n\n- Framework: React.\\n\n- Navigation: React Router.\\n\n- Styling: TailwindCSS.\\n\n- Components: shadcn/ui (built with @radix-ui primitives).\\n\n- Icons: Lucide React.\\n\n- Animations: Framer Motion.\\n\n\\n\nBACKEND & DATA STORAGE:\\n\n- Horizons integrated backend is the EXCLUSIVE solution for persistent data storage,\nauthentication, and database needs.\\n\n- Local databases (SQLite, MySQL, etc.) are STRICTLY PROHIBITED.\\n\n- Third-party services (Firebase, AWS Amplify) are allowed ONLY if explicitly requested by the user.\\n\n\\n\nMAPS:\\n\n- OpenStreetMap is the default provider.\\n\n- Alternative providers (Google Maps, Mapbox) are allowed ONLY if explicitly requested by the user.\\n",
|
|
5368
5421
|
"method": "POST",
|
|
5369
5422
|
"path": "/api/horizons/v1/websites",
|
|
5370
5423
|
"inputSchema": {
|
|
@@ -5407,6 +5460,92 @@ const tools: OpenApiTool[] = [
|
|
|
5407
5460
|
],
|
|
5408
5461
|
"group": "horizons"
|
|
5409
5462
|
},
|
|
5463
|
+
{
|
|
5464
|
+
"name": "horizons_editWebsiteV1",
|
|
5465
|
+
"title": "Edit website",
|
|
5466
|
+
"annotations": {
|
|
5467
|
+
"title": "Edit website",
|
|
5468
|
+
"readOnlyHint": false,
|
|
5469
|
+
"destructiveHint": false
|
|
5470
|
+
},
|
|
5471
|
+
"description": "Edit an existing Hostinger Horizons website with a follow-up message.\\n\nUse this tool when the user wants to change, extend or fix a website that already exists.\\n\nThis tool queues the requested changes and returns the website URL and ID.\nThe changes are applied asynchronously.\\n\nAfter invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing\nthat Hostinger Horizons is now applying the requested changes and they will be ready\nin a few minutes, and you should provide the website URL to the user immediately.\nDo not write code.\\n\nIf the tool call fails with an error, you should provide a clear explanation of the error\nand do not generate code yourself in the chat.",
|
|
5472
|
+
"method": "POST",
|
|
5473
|
+
"path": "/api/horizons/v1/websites/{websiteId}/messages",
|
|
5474
|
+
"inputSchema": {
|
|
5475
|
+
"type": "object",
|
|
5476
|
+
"properties": {
|
|
5477
|
+
"websiteId": {
|
|
5478
|
+
"type": "string",
|
|
5479
|
+
"description": "The website ID"
|
|
5480
|
+
},
|
|
5481
|
+
"message": {
|
|
5482
|
+
"type": "array",
|
|
5483
|
+
"description": "message parameter",
|
|
5484
|
+
"items": {
|
|
5485
|
+
"type": "object",
|
|
5486
|
+
"description": "message parameter",
|
|
5487
|
+
"properties": {
|
|
5488
|
+
"type": {
|
|
5489
|
+
"type": "string",
|
|
5490
|
+
"description": "type parameter",
|
|
5491
|
+
"enum": [
|
|
5492
|
+
"text"
|
|
5493
|
+
]
|
|
5494
|
+
},
|
|
5495
|
+
"text": {
|
|
5496
|
+
"type": "string",
|
|
5497
|
+
"description": "Detailed description of the changes to apply to the website.\nInclude which sections, features, content or design should change and how.\nThe specification should be detailed and comprehensive, covering all requested changes."
|
|
5498
|
+
}
|
|
5499
|
+
},
|
|
5500
|
+
"required": [
|
|
5501
|
+
"type",
|
|
5502
|
+
"text"
|
|
5503
|
+
]
|
|
5504
|
+
}
|
|
5505
|
+
}
|
|
5506
|
+
},
|
|
5507
|
+
"required": [
|
|
5508
|
+
"websiteId",
|
|
5509
|
+
"message"
|
|
5510
|
+
]
|
|
5511
|
+
},
|
|
5512
|
+
"security": [
|
|
5513
|
+
{
|
|
5514
|
+
"apiToken": []
|
|
5515
|
+
}
|
|
5516
|
+
],
|
|
5517
|
+
"group": "horizons"
|
|
5518
|
+
},
|
|
5519
|
+
{
|
|
5520
|
+
"name": "horizons_publishWebsiteV1",
|
|
5521
|
+
"title": "Publish website",
|
|
5522
|
+
"annotations": {
|
|
5523
|
+
"title": "Publish website",
|
|
5524
|
+
"readOnlyHint": false,
|
|
5525
|
+
"destructiveHint": false
|
|
5526
|
+
},
|
|
5527
|
+
"description": "Publish a Hostinger Horizons website so its latest changes go live.\\n\nUse this tool when the user asks to publish, deploy or make their website live.\\n\nThis tool starts the publish process and returns the URL the website will be live on.\nPublishing happens asynchronously and takes a few minutes.\\n\nAfter invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing\nthat the website is being published and you should provide the published URL to the user immediately.",
|
|
5528
|
+
"method": "POST",
|
|
5529
|
+
"path": "/api/horizons/v1/websites/{websiteId}/publish",
|
|
5530
|
+
"inputSchema": {
|
|
5531
|
+
"type": "object",
|
|
5532
|
+
"properties": {
|
|
5533
|
+
"websiteId": {
|
|
5534
|
+
"type": "string",
|
|
5535
|
+
"description": "The website ID"
|
|
5536
|
+
}
|
|
5537
|
+
},
|
|
5538
|
+
"required": [
|
|
5539
|
+
"websiteId"
|
|
5540
|
+
]
|
|
5541
|
+
},
|
|
5542
|
+
"security": [
|
|
5543
|
+
{
|
|
5544
|
+
"apiToken": []
|
|
5545
|
+
}
|
|
5546
|
+
],
|
|
5547
|
+
"group": "horizons"
|
|
5548
|
+
},
|
|
5410
5549
|
{
|
|
5411
5550
|
"name": "horizons_getWebsiteV1",
|
|
5412
5551
|
"title": "Get website",
|
|
@@ -5415,7 +5554,7 @@ const tools: OpenApiTool[] = [
|
|
|
5415
5554
|
"readOnlyHint": true,
|
|
5416
5555
|
"destructiveHint": false
|
|
5417
5556
|
},
|
|
5418
|
-
"description": "Get
|
|
5557
|
+
"description": "Get the link for the user to open their website in Hostinger Horizons interface.\\n\nUse this tool when the user wants the link to an existing website, or when you need its\nwebsite URL before or after editing it.\\n\nWebsites can be edited with the `Edit website` tool, or by the user in Hostinger Horizons\ninterface in the provided website URL.",
|
|
5419
5558
|
"method": "GET",
|
|
5420
5559
|
"path": "/api/horizons/v1/websites/{websiteId}",
|
|
5421
5560
|
"inputSchema": {
|
|
@@ -808,7 +808,7 @@ export default [
|
|
|
808
808
|
"readOnlyHint": false,
|
|
809
809
|
"destructiveHint": false
|
|
810
810
|
},
|
|
811
|
-
"description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. The image is virus-scanned
|
|
811
|
+
"description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. Image downloads require HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed, and its destination must meet the same requirements. Private or reserved network\ndestinations, unsupported URLs and longer redirect chains are rejected. The image is virus-scanned\nand validated by content, then stored on the CDN. Set is_thumbnail to make it the product's primary image.",
|
|
812
812
|
"method": "POST",
|
|
813
813
|
"path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}/images",
|
|
814
814
|
"inputSchema": {
|
|
@@ -824,7 +824,7 @@ export default [
|
|
|
824
824
|
},
|
|
825
825
|
"image_url": {
|
|
826
826
|
"type": "string",
|
|
827
|
-
"description": "Publicly reachable URL of
|
|
827
|
+
"description": "Publicly reachable URL of a raster image (JPEG, PNG, GIF or WebP), maximum 15MB. Fetching\nthe image requires HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed; its destination must meet the same URL requirements. Private or reserved\nnetwork destinations, unsupported URLs and longer redirect chains are rejected. The image\nis fetched, virus-scanned and validated by content, then stored on the CDN. SVG is not\naccepted. Provide either this or object_name."
|
|
828
828
|
},
|
|
829
829
|
"object_name": {
|
|
830
830
|
"type": "string",
|
|
@@ -822,7 +822,7 @@ const tools: OpenApiTool[] = [
|
|
|
822
822
|
"readOnlyHint": false,
|
|
823
823
|
"destructiveHint": false
|
|
824
824
|
},
|
|
825
|
-
"description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. The image is virus-scanned
|
|
825
|
+
"description": "Fetch a raster image (JPEG, PNG, GIF or WebP, max 15MB) from a URL and attach it to a product in a\nsingle call. Image downloads require HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed, and its destination must meet the same requirements. Private or reserved network\ndestinations, unsupported URLs and longer redirect chains are rejected. The image is virus-scanned\nand validated by content, then stored on the CDN. Set is_thumbnail to make it the product's primary image.",
|
|
826
826
|
"method": "POST",
|
|
827
827
|
"path": "/api/ecommerce/v1/stores/{store_id}/products/{product_id}/images",
|
|
828
828
|
"inputSchema": {
|
|
@@ -838,7 +838,7 @@ const tools: OpenApiTool[] = [
|
|
|
838
838
|
},
|
|
839
839
|
"image_url": {
|
|
840
840
|
"type": "string",
|
|
841
|
-
"description": "Publicly reachable URL of
|
|
841
|
+
"description": "Publicly reachable URL of a raster image (JPEG, PNG, GIF or WebP), maximum 15MB. Fetching\nthe image requires HTTPS on port 443 without embedded credentials. At most one redirect\nis allowed; its destination must meet the same URL requirements. Private or reserved\nnetwork destinations, unsupported URLs and longer redirect chains are rejected. The image\nis fetched, virus-scanned and validated by content, then stored on the CDN. SVG is not\naccepted. Provide either this or object_name."
|
|
842
842
|
},
|
|
843
843
|
"object_name": {
|
|
844
844
|
"type": "string",
|