hostinger-api-mcp 1.57.2 → 1.57.3

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 CHANGED
@@ -4,6 +4,24 @@ 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.3 — 2026-09-09
8
+
9
+ ### Tools
10
+
11
+ - Added `horizons_cloneWebsiteV1` — Clone website
12
+ - Added `horizons_getWebsiteListV1` — Get website list
13
+ - Added `horizons_editWebsiteV1` — Edit website
14
+ - Added `horizons_publishWebsiteV1` — Publish website
15
+ - Changed the description of `horizons_createWebsiteV1`
16
+ - Changed the description of `horizons_getWebsiteV1`
17
+
18
+ ### Also in this release
19
+
20
+ - Documentation: `README.md`
21
+ - Dependencies: `package-lock.json`
22
+ - Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
23
+ - Build and packaging: `types.d.ts`
24
+
7
25
  ## v1.57.2 — 2026-09-07
8
26
 
9
27
  ### 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 (382 total)
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` — 2 tools for horizons
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
@@ -1528,6 +1528,31 @@ store currency. Returns the created variant.
1528
1528
 
1529
1529
  ### `hostinger-horizons-mcp`
1530
1530
 
1531
+ #### horizons_cloneWebsiteV1
1532
+
1533
+ Clone a Hostinger Horizons website into a new website.\n
1534
+ Use this tool when the user wants a copy of an existing website, for example to try out
1535
+ changes without touching the original.\n
1536
+ This tool returns the ID and URL of the newly created copy.
1537
+ The original website is left untouched.\n
1538
+ To edit the copy, use the `Edit website` tool with the returned website ID, or the user can
1539
+ open the provided website URL in Hostinger Horizons interface.
1540
+
1541
+ - **Method**: `POST`
1542
+ - **Path**: `/api/horizons/v1/websites/{websiteId}/clone`
1543
+
1544
+ #### horizons_getWebsiteListV1
1545
+
1546
+ List the Hostinger Horizons websites the user owns.\n
1547
+ Use this tool when the user asks which websites they have, or when you need a website ID
1548
+ before editing, publishing or cloning a website.\n
1549
+ Each website is returned with its ID, status, domain and the URL to open it
1550
+ in Hostinger Horizons interface.\n
1551
+ The complete list of websites is returned in a single response - it is not paginated.
1552
+
1553
+ - **Method**: `GET`
1554
+ - **Path**: `/api/horizons/v1/websites`
1555
+
1531
1556
  #### horizons_createWebsiteV1
1532
1557
 
1533
1558
  Create new Hostinger Horizons website from the given message.\n
@@ -1538,8 +1563,8 @@ The generation happens asynchronously.\n
1538
1563
  After invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing
1539
1564
  that Hostinger Horizons is now creating their website and it will be ready in a few minutes
1540
1565
  and you should provide the website URL to the user immediately
1541
- Do not write code.\n\nTo edit afterwards, users must go to Hostinger Horizons interface
1542
- in the provided website URL.
1566
+ Do not write code.\n\nTo edit afterwards, use the `Edit website` tool with the returned
1567
+ website ID, or the user can go to Hostinger Horizons interface in the provided website URL.
1543
1568
  If the tool call fails with an error, you should provide a clear explanation of the error
1544
1569
  and do not generate code yourself in the chat.
1545
1570
  \n
@@ -1569,11 +1594,41 @@ MAPS:\n
1569
1594
  - **Method**: `POST`
1570
1595
  - **Path**: `/api/horizons/v1/websites`
1571
1596
 
1597
+ #### horizons_editWebsiteV1
1598
+
1599
+ Edit an existing Hostinger Horizons website with a follow-up message.\n
1600
+ Use this tool when the user wants to change, extend or fix a website that already exists.\n
1601
+ This tool queues the requested changes and returns the website URL and ID.
1602
+ The changes are applied asynchronously.\n
1603
+ After invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing
1604
+ that Hostinger Horizons is now applying the requested changes and they will be ready
1605
+ in a few minutes, and you should provide the website URL to the user immediately.
1606
+ Do not write code.\n
1607
+ If the tool call fails with an error, you should provide a clear explanation of the error
1608
+ and do not generate code yourself in the chat.
1609
+
1610
+ - **Method**: `POST`
1611
+ - **Path**: `/api/horizons/v1/websites/{websiteId}/messages`
1612
+
1613
+ #### horizons_publishWebsiteV1
1614
+
1615
+ Publish a Hostinger Horizons website so its latest changes go live.\n
1616
+ Use this tool when the user asks to publish, deploy or make their website live.\n
1617
+ This tool starts the publish process and returns the URL the website will be live on.
1618
+ Publishing happens asynchronously and takes a few minutes.\n
1619
+ After invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing
1620
+ that the website is being published and you should provide the published URL to the user immediately.
1621
+
1622
+ - **Method**: `POST`
1623
+ - **Path**: `/api/horizons/v1/websites/{websiteId}/publish`
1624
+
1572
1625
  #### horizons_getWebsiteV1
1573
1626
 
1574
- Get a link for the user to edit their website in Hostinger Horizons interface.\n
1575
- Use this tool when user wants to modify, edit or add new features to an existing website.\n
1576
- Websites can only be edited in Hostinger Horizons interface in the provided website URL.
1627
+ Get the link for the user to open their website in Hostinger Horizons interface.\n
1628
+ Use this tool when the user wants the link to an existing website, or when you need its
1629
+ website URL before or after editing it.\n
1630
+ Websites can be edited with the `Edit website` tool, or by the user in Hostinger Horizons
1631
+ interface in the provided website URL.
1577
1632
 
1578
1633
  - **Method**: `GET`
1579
1634
  - **Path**: `/api/horizons/v1/websites/{websiteId}`
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.57.2",
3
+ "version": "1.57.3",
4
4
  "description": "Hostinger API — manage domains, DNS, hosting, VPS, billing and more from Gemini CLI.",
5
5
  "mcpServers": {
6
6
  "hostinger": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.57.2",
3
+ "version": "1.57.3",
4
4
  "mcpName": "io.github.hostinger/hostinger-api-mcp",
5
5
  "description": "MCP server for Hostinger API",
6
6
  "repository": {
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.2",
9
+ "version": "1.57.3",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "@hostinger/mcp",
14
- "version": "1.57.2",
14
+ "version": "1.57.3",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },
@@ -29,7 +29,7 @@ const SECURITY_SCHEMES = {
29
29
 
30
30
  /**
31
31
  * MCP Server for Hostinger API
32
- * Generated from OpenAPI spec version 1.49.2
32
+ * Generated from OpenAPI spec version 1.49.3
33
33
  */
34
34
  class MCPServer {
35
35
  constructor({ name, version, tools }) {
@@ -52,7 +52,7 @@ const SECURITY_SCHEMES: Record<string, SecurityScheme> = {
52
52
 
53
53
  /**
54
54
  * MCP Server for Hostinger API
55
- * Generated from OpenAPI spec version 1.49.2
55
+ * Generated from OpenAPI spec version 1.49.3
56
56
  */
57
57
  class MCPServer {
58
58
  private readonly name: 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, users must go to Hostinger Horizons interface\nin 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",
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 a link for the user to edit their website in Hostinger Horizons interface.\\n\nUse this tool when user wants to modify, edit or add new features to an existing website.\\n\nWebsites can only be edited in Hostinger Horizons interface in the provided website URL.",
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": {
@@ -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, users must go to Hostinger Horizons interface\nin 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",
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 a link for the user to edit their website in Hostinger Horizons interface.\\n\nUse this tool when user wants to modify, edit or add new features to an existing website.\\n\nWebsites can only be edited in Hostinger Horizons interface in the provided website URL.",
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": {
@@ -1,5 +1,58 @@
1
1
  // Auto-generated tool list for group: horizons
2
2
  export default [
3
+ {
4
+ "name": "horizons_cloneWebsiteV1",
5
+ "title": "Clone website",
6
+ "annotations": {
7
+ "title": "Clone website",
8
+ "readOnlyHint": false,
9
+ "destructiveHint": false
10
+ },
11
+ "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.",
12
+ "method": "POST",
13
+ "path": "/api/horizons/v1/websites/{websiteId}/clone",
14
+ "inputSchema": {
15
+ "type": "object",
16
+ "properties": {
17
+ "websiteId": {
18
+ "type": "string",
19
+ "description": "The website ID"
20
+ }
21
+ },
22
+ "required": [
23
+ "websiteId"
24
+ ]
25
+ },
26
+ "security": [
27
+ {
28
+ "apiToken": []
29
+ }
30
+ ],
31
+ "group": "horizons"
32
+ },
33
+ {
34
+ "name": "horizons_getWebsiteListV1",
35
+ "title": "Get website list",
36
+ "annotations": {
37
+ "title": "Get website list",
38
+ "readOnlyHint": true,
39
+ "destructiveHint": false
40
+ },
41
+ "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.",
42
+ "method": "GET",
43
+ "path": "/api/horizons/v1/websites",
44
+ "inputSchema": {
45
+ "type": "object",
46
+ "properties": {},
47
+ "required": []
48
+ },
49
+ "security": [
50
+ {
51
+ "apiToken": []
52
+ }
53
+ ],
54
+ "group": "horizons"
55
+ },
3
56
  {
4
57
  "name": "horizons_createWebsiteV1",
5
58
  "title": "Create website",
@@ -8,7 +61,7 @@ export default [
8
61
  "readOnlyHint": false,
9
62
  "destructiveHint": false
10
63
  },
11
- "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, users must go to Hostinger Horizons interface\nin 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",
64
+ "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",
12
65
  "method": "POST",
13
66
  "path": "/api/horizons/v1/websites",
14
67
  "inputSchema": {
@@ -51,6 +104,92 @@ export default [
51
104
  ],
52
105
  "group": "horizons"
53
106
  },
107
+ {
108
+ "name": "horizons_editWebsiteV1",
109
+ "title": "Edit website",
110
+ "annotations": {
111
+ "title": "Edit website",
112
+ "readOnlyHint": false,
113
+ "destructiveHint": false
114
+ },
115
+ "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.",
116
+ "method": "POST",
117
+ "path": "/api/horizons/v1/websites/{websiteId}/messages",
118
+ "inputSchema": {
119
+ "type": "object",
120
+ "properties": {
121
+ "websiteId": {
122
+ "type": "string",
123
+ "description": "The website ID"
124
+ },
125
+ "message": {
126
+ "type": "array",
127
+ "description": "message parameter",
128
+ "items": {
129
+ "type": "object",
130
+ "description": "message parameter",
131
+ "properties": {
132
+ "type": {
133
+ "type": "string",
134
+ "description": "type parameter",
135
+ "enum": [
136
+ "text"
137
+ ]
138
+ },
139
+ "text": {
140
+ "type": "string",
141
+ "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."
142
+ }
143
+ },
144
+ "required": [
145
+ "type",
146
+ "text"
147
+ ]
148
+ }
149
+ }
150
+ },
151
+ "required": [
152
+ "websiteId",
153
+ "message"
154
+ ]
155
+ },
156
+ "security": [
157
+ {
158
+ "apiToken": []
159
+ }
160
+ ],
161
+ "group": "horizons"
162
+ },
163
+ {
164
+ "name": "horizons_publishWebsiteV1",
165
+ "title": "Publish website",
166
+ "annotations": {
167
+ "title": "Publish website",
168
+ "readOnlyHint": false,
169
+ "destructiveHint": false
170
+ },
171
+ "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.",
172
+ "method": "POST",
173
+ "path": "/api/horizons/v1/websites/{websiteId}/publish",
174
+ "inputSchema": {
175
+ "type": "object",
176
+ "properties": {
177
+ "websiteId": {
178
+ "type": "string",
179
+ "description": "The website ID"
180
+ }
181
+ },
182
+ "required": [
183
+ "websiteId"
184
+ ]
185
+ },
186
+ "security": [
187
+ {
188
+ "apiToken": []
189
+ }
190
+ ],
191
+ "group": "horizons"
192
+ },
54
193
  {
55
194
  "name": "horizons_getWebsiteV1",
56
195
  "title": "Get website",
@@ -59,7 +198,7 @@ export default [
59
198
  "readOnlyHint": true,
60
199
  "destructiveHint": false
61
200
  },
62
- "description": "Get a link for the user to edit their website in Hostinger Horizons interface.\\n\nUse this tool when user wants to modify, edit or add new features to an existing website.\\n\nWebsites can only be edited in Hostinger Horizons interface in the provided website URL.",
201
+ "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.",
63
202
  "method": "GET",
64
203
  "path": "/api/horizons/v1/websites/{websiteId}",
65
204
  "inputSchema": {
@@ -14,6 +14,59 @@ export interface OpenApiTool extends Tool {
14
14
  }
15
15
 
16
16
  const tools: OpenApiTool[] = [
17
+ {
18
+ "name": "horizons_cloneWebsiteV1",
19
+ "title": "Clone website",
20
+ "annotations": {
21
+ "title": "Clone website",
22
+ "readOnlyHint": false,
23
+ "destructiveHint": false
24
+ },
25
+ "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.",
26
+ "method": "POST",
27
+ "path": "/api/horizons/v1/websites/{websiteId}/clone",
28
+ "inputSchema": {
29
+ "type": "object",
30
+ "properties": {
31
+ "websiteId": {
32
+ "type": "string",
33
+ "description": "The website ID"
34
+ }
35
+ },
36
+ "required": [
37
+ "websiteId"
38
+ ]
39
+ },
40
+ "security": [
41
+ {
42
+ "apiToken": []
43
+ }
44
+ ],
45
+ "group": "horizons"
46
+ },
47
+ {
48
+ "name": "horizons_getWebsiteListV1",
49
+ "title": "Get website list",
50
+ "annotations": {
51
+ "title": "Get website list",
52
+ "readOnlyHint": true,
53
+ "destructiveHint": false
54
+ },
55
+ "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.",
56
+ "method": "GET",
57
+ "path": "/api/horizons/v1/websites",
58
+ "inputSchema": {
59
+ "type": "object",
60
+ "properties": {},
61
+ "required": []
62
+ },
63
+ "security": [
64
+ {
65
+ "apiToken": []
66
+ }
67
+ ],
68
+ "group": "horizons"
69
+ },
17
70
  {
18
71
  "name": "horizons_createWebsiteV1",
19
72
  "title": "Create website",
@@ -22,7 +75,7 @@ const tools: OpenApiTool[] = [
22
75
  "readOnlyHint": false,
23
76
  "destructiveHint": false
24
77
  },
25
- "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, users must go to Hostinger Horizons interface\nin 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",
78
+ "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",
26
79
  "method": "POST",
27
80
  "path": "/api/horizons/v1/websites",
28
81
  "inputSchema": {
@@ -65,6 +118,92 @@ const tools: OpenApiTool[] = [
65
118
  ],
66
119
  "group": "horizons"
67
120
  },
121
+ {
122
+ "name": "horizons_editWebsiteV1",
123
+ "title": "Edit website",
124
+ "annotations": {
125
+ "title": "Edit website",
126
+ "readOnlyHint": false,
127
+ "destructiveHint": false
128
+ },
129
+ "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.",
130
+ "method": "POST",
131
+ "path": "/api/horizons/v1/websites/{websiteId}/messages",
132
+ "inputSchema": {
133
+ "type": "object",
134
+ "properties": {
135
+ "websiteId": {
136
+ "type": "string",
137
+ "description": "The website ID"
138
+ },
139
+ "message": {
140
+ "type": "array",
141
+ "description": "message parameter",
142
+ "items": {
143
+ "type": "object",
144
+ "description": "message parameter",
145
+ "properties": {
146
+ "type": {
147
+ "type": "string",
148
+ "description": "type parameter",
149
+ "enum": [
150
+ "text"
151
+ ]
152
+ },
153
+ "text": {
154
+ "type": "string",
155
+ "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."
156
+ }
157
+ },
158
+ "required": [
159
+ "type",
160
+ "text"
161
+ ]
162
+ }
163
+ }
164
+ },
165
+ "required": [
166
+ "websiteId",
167
+ "message"
168
+ ]
169
+ },
170
+ "security": [
171
+ {
172
+ "apiToken": []
173
+ }
174
+ ],
175
+ "group": "horizons"
176
+ },
177
+ {
178
+ "name": "horizons_publishWebsiteV1",
179
+ "title": "Publish website",
180
+ "annotations": {
181
+ "title": "Publish website",
182
+ "readOnlyHint": false,
183
+ "destructiveHint": false
184
+ },
185
+ "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.",
186
+ "method": "POST",
187
+ "path": "/api/horizons/v1/websites/{websiteId}/publish",
188
+ "inputSchema": {
189
+ "type": "object",
190
+ "properties": {
191
+ "websiteId": {
192
+ "type": "string",
193
+ "description": "The website ID"
194
+ }
195
+ },
196
+ "required": [
197
+ "websiteId"
198
+ ]
199
+ },
200
+ "security": [
201
+ {
202
+ "apiToken": []
203
+ }
204
+ ],
205
+ "group": "horizons"
206
+ },
68
207
  {
69
208
  "name": "horizons_getWebsiteV1",
70
209
  "title": "Get website",
@@ -73,7 +212,7 @@ const tools: OpenApiTool[] = [
73
212
  "readOnlyHint": true,
74
213
  "destructiveHint": false
75
214
  },
76
- "description": "Get a link for the user to edit their website in Hostinger Horizons interface.\\n\nUse this tool when user wants to modify, edit or add new features to an existing website.\\n\nWebsites can only be edited in Hostinger Horizons interface in the provided website URL.",
215
+ "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.",
77
216
  "method": "GET",
78
217
  "path": "/api/horizons/v1/websites/{websiteId}",
79
218
  "inputSchema": {
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/agency-hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/agency-hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/all.js';
5
5
 
6
- startServer({ name: 'hostinger-api-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/all.js';
5
5
 
6
- startServer({ name: 'hostinger-api-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/billing.js';
5
5
 
6
- startServer({ name: 'hostinger-billing-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/billing.js';
5
5
 
6
- startServer({ name: 'hostinger-billing-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/dns.js';
5
5
 
6
- startServer({ name: 'hostinger-dns-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/dns.js';
5
5
 
6
- startServer({ name: 'hostinger-dns-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/domains.js';
5
5
 
6
- startServer({ name: 'hostinger-domains-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/domains.js';
5
5
 
6
- startServer({ name: 'hostinger-domains-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/ecommerce.js';
5
5
 
6
- startServer({ name: 'hostinger-ecommerce-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/ecommerce.js';
5
5
 
6
- startServer({ name: 'hostinger-ecommerce-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/horizons.js';
5
5
 
6
- startServer({ name: 'hostinger-horizons-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/horizons.js';
5
5
 
6
- startServer({ name: 'hostinger-horizons-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-hosting-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-hosting-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/mail.js';
5
5
 
6
- startServer({ name: 'hostinger-mail-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/mail.js';
5
5
 
6
- startServer({ name: 'hostinger-mail-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/reach.js';
5
5
 
6
- startServer({ name: 'hostinger-reach-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/reach.js';
5
5
 
6
- startServer({ name: 'hostinger-reach-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/vps.js';
5
5
 
6
- startServer({ name: 'hostinger-vps-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/vps.js';
5
5
 
6
- startServer({ name: 'hostinger-vps-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/wordpress.js';
5
5
 
6
- startServer({ name: 'hostinger-wordpress-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.57.3', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/wordpress.js';
5
5
 
6
- startServer({ name: 'hostinger-wordpress-mcp', version: '1.57.2', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.57.3', tools });
package/types.d.ts CHANGED
@@ -2881,6 +2881,40 @@ store currency. Returns the created variant.
2881
2881
  response: any; // Response structure will depend on the API
2882
2882
  };
2883
2883
 
2884
+ /**
2885
+ * Clone a Hostinger Horizons website into a new website.\n
2886
+ Use this tool when the user wants a copy of an existing website, for example to try out
2887
+ changes without touching the original.\n
2888
+ This tool returns the ID and URL of the newly created copy.
2889
+ The original website is left untouched.\n
2890
+ To edit the copy, use the `Edit website` tool with the returned website ID, or the user can
2891
+ open the provided website URL in Hostinger Horizons interface.
2892
+ */
2893
+ "horizons_cloneWebsiteV1": {
2894
+ params: {
2895
+ /**
2896
+ * The website ID
2897
+ */
2898
+ websiteId: string;
2899
+ };
2900
+ response: any; // Response structure will depend on the API
2901
+ };
2902
+
2903
+ /**
2904
+ * List the Hostinger Horizons websites the user owns.\n
2905
+ Use this tool when the user asks which websites they have, or when you need a website ID
2906
+ before editing, publishing or cloning a website.\n
2907
+ Each website is returned with its ID, status, domain and the URL to open it
2908
+ in Hostinger Horizons interface.\n
2909
+ The complete list of websites is returned in a single response - it is not paginated.
2910
+ */
2911
+ "horizons_getWebsiteListV1": {
2912
+ params: {
2913
+
2914
+ };
2915
+ response: any; // Response structure will depend on the API
2916
+ };
2917
+
2884
2918
  /**
2885
2919
  * Create new Hostinger Horizons website from the given message.\n
2886
2920
  Use this tool when user asks you to create a website, landing page, blog
@@ -2890,8 +2924,8 @@ The generation happens asynchronously.\n
2890
2924
  After invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing
2891
2925
  that Hostinger Horizons is now creating their website and it will be ready in a few minutes
2892
2926
  and you should provide the website URL to the user immediately
2893
- Do not write code.\n\nTo edit afterwards, users must go to Hostinger Horizons interface
2894
- in the provided website URL.
2927
+ Do not write code.\n\nTo edit afterwards, use the `Edit website` tool with the returned
2928
+ website ID, or the user can go to Hostinger Horizons interface in the provided website URL.
2895
2929
  If the tool call fails with an error, you should provide a clear explanation of the error
2896
2930
  and do not generate code yourself in the chat.
2897
2931
  \n
@@ -2929,9 +2963,55 @@ MAPS:\n
2929
2963
  };
2930
2964
 
2931
2965
  /**
2932
- * Get a link for the user to edit their website in Hostinger Horizons interface.\n
2933
- Use this tool when user wants to modify, edit or add new features to an existing website.\n
2934
- Websites can only be edited in Hostinger Horizons interface in the provided website URL.
2966
+ * Edit an existing Hostinger Horizons website with a follow-up message.\n
2967
+ Use this tool when the user wants to change, extend or fix a website that already exists.\n
2968
+ This tool queues the requested changes and returns the website URL and ID.
2969
+ The changes are applied asynchronously.\n
2970
+ After invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing
2971
+ that Hostinger Horizons is now applying the requested changes and they will be ready
2972
+ in a few minutes, and you should provide the website URL to the user immediately.
2973
+ Do not write code.\n
2974
+ If the tool call fails with an error, you should provide a clear explanation of the error
2975
+ and do not generate code yourself in the chat.
2976
+ */
2977
+ "horizons_editWebsiteV1": {
2978
+ params: {
2979
+ /**
2980
+ * The website ID
2981
+ */
2982
+ websiteId: string;
2983
+ /**
2984
+ * message parameter
2985
+ */
2986
+ message: array;
2987
+ };
2988
+ response: any; // Response structure will depend on the API
2989
+ };
2990
+
2991
+ /**
2992
+ * Publish a Hostinger Horizons website so its latest changes go live.\n
2993
+ Use this tool when the user asks to publish, deploy or make their website live.\n
2994
+ This tool starts the publish process and returns the URL the website will be live on.
2995
+ Publishing happens asynchronously and takes a few minutes.\n
2996
+ After invoking this tool, your chat reply must be EXACTLY 1 sentence summarizing
2997
+ that the website is being published and you should provide the published URL to the user immediately.
2998
+ */
2999
+ "horizons_publishWebsiteV1": {
3000
+ params: {
3001
+ /**
3002
+ * The website ID
3003
+ */
3004
+ websiteId: string;
3005
+ };
3006
+ response: any; // Response structure will depend on the API
3007
+ };
3008
+
3009
+ /**
3010
+ * Get the link for the user to open their website in Hostinger Horizons interface.\n
3011
+ Use this tool when the user wants the link to an existing website, or when you need its
3012
+ website URL before or after editing it.\n
3013
+ Websites can be edited with the `Edit website` tool, or by the user in Hostinger Horizons
3014
+ interface in the provided website URL.
2935
3015
  */
2936
3016
  "horizons_getWebsiteV1": {
2937
3017
  params: {