hostinger-api-mcp 1.5.4 → 1.5.6

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.
Files changed (43) hide show
  1. package/README.md +13 -2
  2. package/gemini-extension.json +1 -1
  3. package/package.json +1 -1
  4. package/server.json +2 -2
  5. package/src/core/runtime.js +6 -7
  6. package/src/core/runtime.ts +12 -8
  7. package/src/core/tools/agency-hosting.js +29 -0
  8. package/src/core/tools/agency-hosting.ts +33 -0
  9. package/src/core/tools/all.js +29 -0
  10. package/src/core/tools/all.ts +33 -0
  11. package/src/core/tools/billing.ts +4 -0
  12. package/src/core/tools/dns.ts +4 -0
  13. package/src/core/tools/domains.ts +4 -0
  14. package/src/core/tools/ecommerce.ts +4 -0
  15. package/src/core/tools/horizons.ts +4 -0
  16. package/src/core/tools/hosting.ts +4 -0
  17. package/src/core/tools/reach.ts +4 -0
  18. package/src/core/tools/vps.ts +4 -0
  19. package/src/core/tools/wordpress.ts +4 -0
  20. package/src/servers/agency-hosting.js +1 -1
  21. package/src/servers/agency-hosting.ts +1 -1
  22. package/src/servers/all.js +1 -1
  23. package/src/servers/all.ts +1 -1
  24. package/src/servers/billing.js +1 -1
  25. package/src/servers/billing.ts +1 -1
  26. package/src/servers/dns.js +1 -1
  27. package/src/servers/dns.ts +1 -1
  28. package/src/servers/domains.js +1 -1
  29. package/src/servers/domains.ts +1 -1
  30. package/src/servers/ecommerce.js +1 -1
  31. package/src/servers/ecommerce.ts +1 -1
  32. package/src/servers/horizons.js +1 -1
  33. package/src/servers/horizons.ts +1 -1
  34. package/src/servers/hosting.js +1 -1
  35. package/src/servers/hosting.ts +1 -1
  36. package/src/servers/reach.js +1 -1
  37. package/src/servers/reach.ts +1 -1
  38. package/src/servers/vps.js +1 -1
  39. package/src/servers/vps.ts +1 -1
  40. package/src/servers/wordpress.js +1 -1
  41. package/src/servers/wordpress.ts +1 -1
  42. package/tsconfig.json +1 -1
  43. package/types.d.ts +21 -0
package/README.md CHANGED
@@ -49,8 +49,8 @@ pnpm update -g hostinger-api-mcp
49
49
 
50
50
  This package installs the following MCP server commands:
51
51
 
52
- - `hostinger-api-mcp` — unified server with every tool (212 total)
53
- - `hostinger-agency-hosting-mcp` — 11 tools for agency-hosting
52
+ - `hostinger-api-mcp` — unified server with every tool (213 total)
53
+ - `hostinger-agency-hosting-mcp` — 12 tools for agency-hosting
54
54
  - `hostinger-billing-mcp` — 7 tools for billing
55
55
  - `hostinger-dns-mcp` — 8 tools for dns
56
56
  - `hostinger-domains-mcp` — 18 tools for domains
@@ -254,6 +254,17 @@ If this is the only domain on the website, unlinking leaves the website without
254
254
  - **Method**: `DELETE`
255
255
  - **Path**: `/api/agency-hosting/v1/websites/{website_uid}/domains/{domain}`
256
256
 
257
+ #### agency-hosting_importAgencyPlanWebsiteFromArchiveV1
258
+
259
+ Imports an Agency Plan website from an already-uploaded archive.
260
+
261
+ Upload the archive to the website's root directory via file browser first, then provide its
262
+ filename in this request. Website contents are overwritten by the archive contents. Supported
263
+ archive types: .zip, .tar, .tar.gz, .tgz.
264
+
265
+ - **Method**: `POST`
266
+ - **Path**: `/api/agency-hosting/v1/websites/{website_uid}/files/import-archive`
267
+
257
268
  #### agency-hosting_provisionANewAgencyPlanWebsiteV1
258
269
 
259
270
  Provisions a new website on one of your Agency Plan hosting orders.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.5.4",
3
+ "version": "1.5.6",
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.5.4",
3
+ "version": "1.5.6",
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.5.4",
9
+ "version": "1.5.6",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "hostinger-api-mcp",
14
- "version": "1.5.4",
14
+ "version": "1.5.6",
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.6.1
32
+ * Generated from OpenAPI spec version 1.6.2
33
33
  */
34
34
  class MCPServer {
35
35
  constructor({ name, version, tools }) {
@@ -141,8 +141,8 @@ class MCPServer {
141
141
 
142
142
  // Handle tool execution requests
143
143
  this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
144
- const { id, name, arguments: params } = request.params;
145
- this.log('debug', "Handling CallTool request", { id, name, params });
144
+ const { name, arguments: params } = request.params;
145
+ this.log('debug', "Handling CallTool request", { name, params });
146
146
 
147
147
  let toolName;
148
148
  let toolDetails;
@@ -1971,11 +1971,10 @@ class MCPServer {
1971
1971
  * Only sends to MCP if we're connected
1972
1972
  */
1973
1973
  log(level, message, data) {
1974
- // Always log to stderr for visibility
1975
- console.error(`[${level.toUpperCase()}] ${message}${data ? ': ' + JSON.stringify(data) : ''}`);
1976
-
1977
- // Only try to send via MCP if we're in debug mode or it's important
1974
+ // Debug logs (which may include request params) only reach stderr when
1975
+ // DEBUG=true; info/warning/error always log. This gate also guards the MCP send.
1978
1976
  if (this.debug || level !== 'debug') {
1977
+ console.error(`[${level.toUpperCase()}] ${message}${data ? ': ' + JSON.stringify(data) : ''}`);
1979
1978
  try {
1980
1979
  // Only send if server exists and is connected
1981
1980
  if (this.server && this.server.isConnected) {
@@ -25,8 +25,13 @@ dotenvConfig();
25
25
  interface OpenApiTool extends Tool {
26
26
  method: string;
27
27
  path: string;
28
- security: any[];
28
+ security: unknown[];
29
29
  custom?: boolean;
30
+ group?: string;
31
+ topic?: string;
32
+ handlerMethod?: string;
33
+ templateFile?: string;
34
+ templateFileTS?: string;
30
35
  }
31
36
 
32
37
  interface SecurityScheme {
@@ -47,7 +52,7 @@ const SECURITY_SCHEMES: Record<string, SecurityScheme> = {
47
52
 
48
53
  /**
49
54
  * MCP Server for Hostinger API
50
- * Generated from OpenAPI spec version 1.6.1
55
+ * Generated from OpenAPI spec version 1.6.2
51
56
  */
52
57
  class MCPServer {
53
58
  private readonly name: string;
@@ -167,8 +172,8 @@ class MCPServer {
167
172
 
168
173
  // Handle tool execution requests
169
174
  this.server.setRequestHandler(CallToolRequestSchema, async (request) => {
170
- const { id, name, arguments: params } = request.params;
171
- this.log('debug', "Handling CallTool request", { id, name, params });
175
+ const { name, arguments: params } = request.params;
176
+ this.log('debug', "Handling CallTool request", { name, params });
172
177
 
173
178
  let toolName: string | undefined;
174
179
  let toolDetails: OpenApiTool | undefined;
@@ -2009,11 +2014,10 @@ class MCPServer {
2009
2014
  * Only sends to MCP if we're connected
2010
2015
  */
2011
2016
  private log(level: 'debug' | 'info' | 'warning' | 'error', message: string, data?: any): void {
2012
- // Always log to stderr for visibility
2013
- console.error(`[${level.toUpperCase()}] ${message}${data ? ': ' + JSON.stringify(data) : ''}`);
2014
-
2015
- // Only try to send via MCP if we're in debug mode or it's important
2017
+ // Debug logs (which may include request params) only reach stderr when
2018
+ // DEBUG=true; info/warning/error always log. This gate also guards the MCP send.
2016
2019
  if (this.debug || level !== 'debug') {
2020
+ console.error(`[${level.toUpperCase()}] ${message}${data ? ': ' + JSON.stringify(data) : ''}`);
2017
2021
  try {
2018
2022
  // Only send if server exists and is connected
2019
2023
  if (this.server && (this.server as any).isConnected) {
@@ -150,6 +150,35 @@ export default [
150
150
  ],
151
151
  "group": "agency-hosting"
152
152
  },
153
+ {
154
+ "name": "agency-hosting_importAgencyPlanWebsiteFromArchiveV1",
155
+ "description": "Imports an Agency Plan website from an already-uploaded archive.\n\nUpload the archive to the website's root directory via file browser first, then provide its\nfilename in this request. Website contents are overwritten by the archive contents. Supported\narchive types: .zip, .tar, .tar.gz, .tgz.",
156
+ "method": "POST",
157
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/files/import-archive",
158
+ "inputSchema": {
159
+ "type": "object",
160
+ "properties": {
161
+ "website_uid": {
162
+ "type": "string",
163
+ "description": "Agency Plan website UID"
164
+ },
165
+ "archive_name": {
166
+ "type": "string",
167
+ "description": "Archive filename (e.g., archive.zip). The file must already be uploaded to the website's .h5g/ directory."
168
+ }
169
+ },
170
+ "required": [
171
+ "website_uid",
172
+ "archive_name"
173
+ ]
174
+ },
175
+ "security": [
176
+ {
177
+ "apiToken": []
178
+ }
179
+ ],
180
+ "group": "agency-hosting"
181
+ },
153
182
  {
154
183
  "name": "agency-hosting_provisionANewAgencyPlanWebsiteV1",
155
184
  "description": "Provisions a new website on one of your Agency Plan hosting orders.\n\nChoose the datacenter, stack (`flavor`), and PHP version for the site. Optionally attach\nyour own `domain` — omit it, set it to `null`, or leave it unavailable and a free\n`*.hostingersite.com` subdomain is generated instead — and/or install WordPress by\nsupplying the `wordpress` details (admin account, site title, and language).\n\nCommon setups:\n- **Plain PHP site**: `flavor` set to `php-fpm`, with `settings.php.version`; omit\n `wordpress` and `type`.\n- **WordPress site**: `flavor` set to the desired WordPress version (e.g. `wp-7.0`), plus\n the `wordpress` block (admin account, title, language).\n- **Static/Node.js frontend app**: `flavor` set to `php-fpm` and `type` set to\n `node-static`.\n\nProvisioning runs in the background, so the response returns immediately with a setup UUID\nthat identifies the job. The new website becomes reachable once provisioning finishes.",
@@ -7,6 +7,10 @@ export interface OpenApiTool extends Tool {
7
7
  security: unknown[];
8
8
  custom?: boolean;
9
9
  group?: string;
10
+ topic?: string;
11
+ handlerMethod?: string;
12
+ templateFile?: string;
13
+ templateFileTS?: string;
10
14
  }
11
15
 
12
16
  const tools: OpenApiTool[] = [
@@ -160,6 +164,35 @@ const tools: OpenApiTool[] = [
160
164
  ],
161
165
  "group": "agency-hosting"
162
166
  },
167
+ {
168
+ "name": "agency-hosting_importAgencyPlanWebsiteFromArchiveV1",
169
+ "description": "Imports an Agency Plan website from an already-uploaded archive.\n\nUpload the archive to the website's root directory via file browser first, then provide its\nfilename in this request. Website contents are overwritten by the archive contents. Supported\narchive types: .zip, .tar, .tar.gz, .tgz.",
170
+ "method": "POST",
171
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/files/import-archive",
172
+ "inputSchema": {
173
+ "type": "object",
174
+ "properties": {
175
+ "website_uid": {
176
+ "type": "string",
177
+ "description": "Agency Plan website UID"
178
+ },
179
+ "archive_name": {
180
+ "type": "string",
181
+ "description": "Archive filename (e.g., archive.zip). The file must already be uploaded to the website's .h5g/ directory."
182
+ }
183
+ },
184
+ "required": [
185
+ "website_uid",
186
+ "archive_name"
187
+ ]
188
+ },
189
+ "security": [
190
+ {
191
+ "apiToken": []
192
+ }
193
+ ],
194
+ "group": "agency-hosting"
195
+ },
163
196
  {
164
197
  "name": "agency-hosting_provisionANewAgencyPlanWebsiteV1",
165
198
  "description": "Provisions a new website on one of your Agency Plan hosting orders.\n\nChoose the datacenter, stack (`flavor`), and PHP version for the site. Optionally attach\nyour own `domain` — omit it, set it to `null`, or leave it unavailable and a free\n`*.hostingersite.com` subdomain is generated instead — and/or install WordPress by\nsupplying the `wordpress` details (admin account, site title, and language).\n\nCommon setups:\n- **Plain PHP site**: `flavor` set to `php-fpm`, with `settings.php.version`; omit\n `wordpress` and `type`.\n- **WordPress site**: `flavor` set to the desired WordPress version (e.g. `wp-7.0`), plus\n the `wordpress` block (admin account, title, language).\n- **Static/Node.js frontend app**: `flavor` set to `php-fpm` and `type` set to\n `node-static`.\n\nProvisioning runs in the background, so the response returns immediately with a setup UUID\nthat identifies the job. The new website becomes reachable once provisioning finishes.",
@@ -407,6 +407,35 @@ export default [
407
407
  ],
408
408
  "group": "agency-hosting"
409
409
  },
410
+ {
411
+ "name": "agency-hosting_importAgencyPlanWebsiteFromArchiveV1",
412
+ "description": "Imports an Agency Plan website from an already-uploaded archive.\n\nUpload the archive to the website's root directory via file browser first, then provide its\nfilename in this request. Website contents are overwritten by the archive contents. Supported\narchive types: .zip, .tar, .tar.gz, .tgz.",
413
+ "method": "POST",
414
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/files/import-archive",
415
+ "inputSchema": {
416
+ "type": "object",
417
+ "properties": {
418
+ "website_uid": {
419
+ "type": "string",
420
+ "description": "Agency Plan website UID"
421
+ },
422
+ "archive_name": {
423
+ "type": "string",
424
+ "description": "Archive filename (e.g., archive.zip). The file must already be uploaded to the website's .h5g/ directory."
425
+ }
426
+ },
427
+ "required": [
428
+ "website_uid",
429
+ "archive_name"
430
+ ]
431
+ },
432
+ "security": [
433
+ {
434
+ "apiToken": []
435
+ }
436
+ ],
437
+ "group": "agency-hosting"
438
+ },
410
439
  {
411
440
  "name": "agency-hosting_provisionANewAgencyPlanWebsiteV1",
412
441
  "description": "Provisions a new website on one of your Agency Plan hosting orders.\n\nChoose the datacenter, stack (`flavor`), and PHP version for the site. Optionally attach\nyour own `domain` — omit it, set it to `null`, or leave it unavailable and a free\n`*.hostingersite.com` subdomain is generated instead — and/or install WordPress by\nsupplying the `wordpress` details (admin account, site title, and language).\n\nCommon setups:\n- **Plain PHP site**: `flavor` set to `php-fpm`, with `settings.php.version`; omit\n `wordpress` and `type`.\n- **WordPress site**: `flavor` set to the desired WordPress version (e.g. `wp-7.0`), plus\n the `wordpress` block (admin account, title, language).\n- **Static/Node.js frontend app**: `flavor` set to `php-fpm` and `type` set to\n `node-static`.\n\nProvisioning runs in the background, so the response returns immediately with a setup UUID\nthat identifies the job. The new website becomes reachable once provisioning finishes.",
@@ -7,6 +7,10 @@ export interface OpenApiTool extends Tool {
7
7
  security: unknown[];
8
8
  custom?: boolean;
9
9
  group?: string;
10
+ topic?: string;
11
+ handlerMethod?: string;
12
+ templateFile?: string;
13
+ templateFileTS?: string;
10
14
  }
11
15
 
12
16
  const tools: OpenApiTool[] = [
@@ -417,6 +421,35 @@ const tools: OpenApiTool[] = [
417
421
  ],
418
422
  "group": "agency-hosting"
419
423
  },
424
+ {
425
+ "name": "agency-hosting_importAgencyPlanWebsiteFromArchiveV1",
426
+ "description": "Imports an Agency Plan website from an already-uploaded archive.\n\nUpload the archive to the website's root directory via file browser first, then provide its\nfilename in this request. Website contents are overwritten by the archive contents. Supported\narchive types: .zip, .tar, .tar.gz, .tgz.",
427
+ "method": "POST",
428
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/files/import-archive",
429
+ "inputSchema": {
430
+ "type": "object",
431
+ "properties": {
432
+ "website_uid": {
433
+ "type": "string",
434
+ "description": "Agency Plan website UID"
435
+ },
436
+ "archive_name": {
437
+ "type": "string",
438
+ "description": "Archive filename (e.g., archive.zip). The file must already be uploaded to the website's .h5g/ directory."
439
+ }
440
+ },
441
+ "required": [
442
+ "website_uid",
443
+ "archive_name"
444
+ ]
445
+ },
446
+ "security": [
447
+ {
448
+ "apiToken": []
449
+ }
450
+ ],
451
+ "group": "agency-hosting"
452
+ },
420
453
  {
421
454
  "name": "agency-hosting_provisionANewAgencyPlanWebsiteV1",
422
455
  "description": "Provisions a new website on one of your Agency Plan hosting orders.\n\nChoose the datacenter, stack (`flavor`), and PHP version for the site. Optionally attach\nyour own `domain` — omit it, set it to `null`, or leave it unavailable and a free\n`*.hostingersite.com` subdomain is generated instead — and/or install WordPress by\nsupplying the `wordpress` details (admin account, site title, and language).\n\nCommon setups:\n- **Plain PHP site**: `flavor` set to `php-fpm`, with `settings.php.version`; omit\n `wordpress` and `type`.\n- **WordPress site**: `flavor` set to the desired WordPress version (e.g. `wp-7.0`), plus\n the `wordpress` block (admin account, title, language).\n- **Static/Node.js frontend app**: `flavor` set to `php-fpm` and `type` set to\n `node-static`.\n\nProvisioning runs in the background, so the response returns immediately with a setup UUID\nthat identifies the job. The new website becomes reachable once provisioning finishes.",
@@ -7,6 +7,10 @@ export interface OpenApiTool extends Tool {
7
7
  security: unknown[];
8
8
  custom?: boolean;
9
9
  group?: string;
10
+ topic?: string;
11
+ handlerMethod?: string;
12
+ templateFile?: string;
13
+ templateFileTS?: string;
10
14
  }
11
15
 
12
16
  const tools: OpenApiTool[] = [
@@ -7,6 +7,10 @@ export interface OpenApiTool extends Tool {
7
7
  security: unknown[];
8
8
  custom?: boolean;
9
9
  group?: string;
10
+ topic?: string;
11
+ handlerMethod?: string;
12
+ templateFile?: string;
13
+ templateFileTS?: string;
10
14
  }
11
15
 
12
16
  const tools: OpenApiTool[] = [
@@ -7,6 +7,10 @@ export interface OpenApiTool extends Tool {
7
7
  security: unknown[];
8
8
  custom?: boolean;
9
9
  group?: string;
10
+ topic?: string;
11
+ handlerMethod?: string;
12
+ templateFile?: string;
13
+ templateFileTS?: string;
10
14
  }
11
15
 
12
16
  const tools: OpenApiTool[] = [
@@ -7,6 +7,10 @@ export interface OpenApiTool extends Tool {
7
7
  security: unknown[];
8
8
  custom?: boolean;
9
9
  group?: string;
10
+ topic?: string;
11
+ handlerMethod?: string;
12
+ templateFile?: string;
13
+ templateFileTS?: string;
10
14
  }
11
15
 
12
16
  const tools: OpenApiTool[] = [
@@ -7,6 +7,10 @@ export interface OpenApiTool extends Tool {
7
7
  security: unknown[];
8
8
  custom?: boolean;
9
9
  group?: string;
10
+ topic?: string;
11
+ handlerMethod?: string;
12
+ templateFile?: string;
13
+ templateFileTS?: string;
10
14
  }
11
15
 
12
16
  const tools: OpenApiTool[] = [
@@ -7,6 +7,10 @@ export interface OpenApiTool extends Tool {
7
7
  security: unknown[];
8
8
  custom?: boolean;
9
9
  group?: string;
10
+ topic?: string;
11
+ handlerMethod?: string;
12
+ templateFile?: string;
13
+ templateFileTS?: string;
10
14
  }
11
15
 
12
16
  const tools: OpenApiTool[] = [
@@ -7,6 +7,10 @@ export interface OpenApiTool extends Tool {
7
7
  security: unknown[];
8
8
  custom?: boolean;
9
9
  group?: string;
10
+ topic?: string;
11
+ handlerMethod?: string;
12
+ templateFile?: string;
13
+ templateFileTS?: string;
10
14
  }
11
15
 
12
16
  const tools: OpenApiTool[] = [
@@ -7,6 +7,10 @@ export interface OpenApiTool extends Tool {
7
7
  security: unknown[];
8
8
  custom?: boolean;
9
9
  group?: string;
10
+ topic?: string;
11
+ handlerMethod?: string;
12
+ templateFile?: string;
13
+ templateFileTS?: string;
10
14
  }
11
15
 
12
16
  const tools: OpenApiTool[] = [
@@ -7,6 +7,10 @@ export interface OpenApiTool extends Tool {
7
7
  security: unknown[];
8
8
  custom?: boolean;
9
9
  group?: string;
10
+ topic?: string;
11
+ handlerMethod?: string;
12
+ templateFile?: string;
13
+ templateFileTS?: string;
10
14
  }
11
15
 
12
16
  const tools: OpenApiTool[] = [
@@ -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.5.4', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.5.6', 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.5.4', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.5.6', tools });
package/tsconfig.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "compilerOptions": {
3
3
  "target": "es2022",
4
4
  "module": "esnext",
5
- "moduleResolution": "node",
5
+ "moduleResolution": "bundler",
6
6
  "esModuleInterop": true,
7
7
  "strict": true,
8
8
  "skipLibCheck": true,
package/types.d.ts CHANGED
@@ -264,6 +264,27 @@ If this is the only domain on the website, unlinking leaves the website without
264
264
  response: any; // Response structure will depend on the API
265
265
  };
266
266
 
267
+ /**
268
+ * Imports an Agency Plan website from an already-uploaded archive.
269
+
270
+ Upload the archive to the website's root directory via file browser first, then provide its
271
+ filename in this request. Website contents are overwritten by the archive contents. Supported
272
+ archive types: .zip, .tar, .tar.gz, .tgz.
273
+ */
274
+ "agency-hosting_importAgencyPlanWebsiteFromArchiveV1": {
275
+ params: {
276
+ /**
277
+ * Agency Plan website UID
278
+ */
279
+ website_uid: string;
280
+ /**
281
+ * Archive filename (e.g., archive.zip). The file must already be uploaded to the website's .h5g/ directory.
282
+ */
283
+ archive_name: string;
284
+ };
285
+ response: any; // Response structure will depend on the API
286
+ };
287
+
267
288
  /**
268
289
  * Provisions a new website on one of your Agency Plan hosting orders.
269
290