hostinger-api-mcp 1.38.2 → 1.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -69,14 +69,14 @@ pnpm update -g hostinger-api-mcp
69
69
 
70
70
  This package installs the following MCP server commands:
71
71
 
72
- - `hostinger-api-mcp` — unified server with every tool (330 total)
73
- - `hostinger-agency-hosting-mcp` — 27 tools for agency-hosting
72
+ - `hostinger-api-mcp` — unified server with every tool (340 total)
73
+ - `hostinger-agency-hosting-mcp` — 34 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` — 14 tools for ecommerce
78
78
  - `hostinger-horizons-mcp` — 2 tools for horizons
79
- - `hostinger-hosting-mcp` — 50 tools for hosting
79
+ - `hostinger-hosting-mcp` — 53 tools for hosting
80
80
  - `hostinger-mail-mcp` — 38 tools for mail
81
81
  - `hostinger-reach-mcp` — 45 tools for reach
82
82
  - `hostinger-vps-mcp` — 62 tools for vps
@@ -307,6 +307,55 @@ Returns a paginated list of Agency Plan orders accessible to the authenticated c
307
307
  - **Method**: `GET`
308
308
  - **Path**: `/api/agency-hosting/v1/orders`
309
309
 
310
+ #### agency-hosting_listPHPExtensionsForAWebsiteV1
311
+
312
+ Lists every PHP extension available to an Agency Plan website and whether it is currently enabled.
313
+
314
+ - **Method**: `GET`
315
+ - **Path**: `/api/agency-hosting/v1/websites/{website_uid}/php-settings/extensions`
316
+
317
+ #### agency-hosting_replaceWebsitePHPExtensionsV1
318
+
319
+ Replaces the set of PHP extensions enabled on an Agency Plan website with the ones provided. Any toggleable extension not in the request is disabled, so call the extensions endpoint first and send the full desired set. Extensions compiled into PHP, reported with the "built-in" state, are always active and are unaffected.
320
+
321
+ - **Method**: `PUT`
322
+ - **Path**: `/api/agency-hosting/v1/websites/{website_uid}/php-settings/extensions`
323
+
324
+ #### agency-hosting_listPHPOptionsForAWebsiteV1
325
+
326
+ Lists the php.ini directives that can be configured for an Agency Plan website, each with its default, the value currently in effect, and the values it accepts.
327
+
328
+ - **Method**: `GET`
329
+ - **Path**: `/api/agency-hosting/v1/websites/{website_uid}/php-settings/options`
330
+
331
+ #### agency-hosting_replaceWebsitePHPOptionsV1
332
+
333
+ Replaces the custom php.ini values on an Agency Plan website with the ones provided. Any option not in the request is reset to its default, so call the options endpoint first and send the full desired set. Sending an empty array resets every option to its default.
334
+
335
+ - **Method**: `PUT`
336
+ - **Path**: `/api/agency-hosting/v1/websites/{website_uid}/php-settings/options`
337
+
338
+ #### agency-hosting_listAvailablePHPVersionsForAnOrderV1
339
+
340
+ Lists the PHP versions available to websites created under an Agency Plan order, determined by the server the order is hosted on. Use this before creating a website; for a website that already exists, call the website-scoped versions endpoint instead.
341
+
342
+ - **Method**: `GET`
343
+ - **Path**: `/api/agency-hosting/v1/orders/{order_id}/websites/php-settings/versions`
344
+
345
+ #### agency-hosting_listAvailablePHPVersionsForAWebsiteV1
346
+
347
+ Lists the PHP versions an Agency Plan website can be switched to. The version the website is currently running is returned as settings.php.version by the website details endpoint.
348
+
349
+ - **Method**: `GET`
350
+ - **Path**: `/api/agency-hosting/v1/websites/{website_uid}/php-settings/versions`
351
+
352
+ #### agency-hosting_updateWebsitePHPVersionV1
353
+
354
+ Switches an Agency Plan website to a different PHP version. Call the available versions endpoint first to see which versions can be selected. The website restarts on the new version, so requests served during the switch may fail and code that is incompatible with the target version will break.
355
+
356
+ - **Method**: `PATCH`
357
+ - **Path**: `/api/agency-hosting/v1/websites/{website_uid}/php-settings/version`
358
+
310
359
  #### agency-hosting_createANewWebsiteV1
311
360
 
312
361
  Provisions a new website on one of your Agency Plan hosting orders.
@@ -1809,6 +1858,29 @@ Use the Get PHP details endpoint to see the versions available for the website.
1809
1858
  - **Method**: `PATCH`
1810
1859
  - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/php/version`
1811
1860
 
1861
+ #### hosting_listWebsiteRedirectsV1
1862
+
1863
+ Returns a paginated list of redirects configured for the selected website.
1864
+
1865
+ - **Method**: `GET`
1866
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/redirects`
1867
+
1868
+ #### hosting_createWebsiteRedirectV1
1869
+
1870
+ Creates a redirect from a URL on the selected website to another URL or IP address.
1871
+
1872
+ - **Method**: `POST`
1873
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/redirects`
1874
+
1875
+ #### hosting_deleteWebsiteRedirectV1
1876
+
1877
+ Permanently deletes the redirect identified by its source URL.
1878
+
1879
+ Pass the `from` value exactly as returned by the list redirects endpoint.
1880
+
1881
+ - **Method**: `DELETE`
1882
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/redirects`
1883
+
1812
1884
  #### hosting_listWebsitesV1
1813
1885
 
1814
1886
  Retrieve a paginated list of websites (main and addon types) accessible to the authenticated client.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.38.2",
3
+ "version": "1.40.0",
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.38.2",
3
+ "version": "1.40.0",
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.38.2",
9
+ "version": "1.40.0",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "hostinger-api-mcp",
14
- "version": "1.38.2",
14
+ "version": "1.40.0",
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.35.1
32
+ * Generated from OpenAPI spec version 1.37.0
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.35.1
55
+ * Generated from OpenAPI spec version 1.37.0
56
56
  */
57
57
  class MCPServer {
58
58
  private readonly name: string;
@@ -273,6 +273,211 @@ export default [
273
273
  ],
274
274
  "group": "agency-hosting"
275
275
  },
276
+ {
277
+ "name": "agency-hosting_listPHPExtensionsForAWebsiteV1",
278
+ "description": "Lists every PHP extension available to an Agency Plan website and whether it is currently enabled.",
279
+ "method": "GET",
280
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/extensions",
281
+ "inputSchema": {
282
+ "type": "object",
283
+ "properties": {
284
+ "website_uid": {
285
+ "type": "string",
286
+ "description": "Agency Plan website UID"
287
+ }
288
+ },
289
+ "required": [
290
+ "website_uid"
291
+ ]
292
+ },
293
+ "security": [
294
+ {
295
+ "apiToken": []
296
+ }
297
+ ],
298
+ "group": "agency-hosting"
299
+ },
300
+ {
301
+ "name": "agency-hosting_replaceWebsitePHPExtensionsV1",
302
+ "description": "Replaces the set of PHP extensions enabled on an Agency Plan website with the ones provided. Any toggleable extension not in the request is disabled, so call the extensions endpoint first and send the full desired set. Extensions compiled into PHP, reported with the \"built-in\" state, are always active and are unaffected.",
303
+ "method": "PUT",
304
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/extensions",
305
+ "inputSchema": {
306
+ "type": "object",
307
+ "properties": {
308
+ "website_uid": {
309
+ "type": "string",
310
+ "description": "Agency Plan website UID"
311
+ },
312
+ "extensions": {
313
+ "type": "array",
314
+ "description": "Extension names, exactly as returned by the extensions endpoint.",
315
+ "items": {
316
+ "type": "string",
317
+ "description": "extensions parameter"
318
+ }
319
+ }
320
+ },
321
+ "required": [
322
+ "website_uid",
323
+ "extensions"
324
+ ]
325
+ },
326
+ "security": [
327
+ {
328
+ "apiToken": []
329
+ }
330
+ ],
331
+ "group": "agency-hosting"
332
+ },
333
+ {
334
+ "name": "agency-hosting_listPHPOptionsForAWebsiteV1",
335
+ "description": "Lists the php.ini directives that can be configured for an Agency Plan website, each with its default, the value currently in effect, and the values it accepts.",
336
+ "method": "GET",
337
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/options",
338
+ "inputSchema": {
339
+ "type": "object",
340
+ "properties": {
341
+ "website_uid": {
342
+ "type": "string",
343
+ "description": "Agency Plan website UID"
344
+ }
345
+ },
346
+ "required": [
347
+ "website_uid"
348
+ ]
349
+ },
350
+ "security": [
351
+ {
352
+ "apiToken": []
353
+ }
354
+ ],
355
+ "group": "agency-hosting"
356
+ },
357
+ {
358
+ "name": "agency-hosting_replaceWebsitePHPOptionsV1",
359
+ "description": "Replaces the custom php.ini values on an Agency Plan website with the ones provided. Any option not in the request is reset to its default, so call the options endpoint first and send the full desired set. Sending an empty array resets every option to its default.",
360
+ "method": "PUT",
361
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/options",
362
+ "inputSchema": {
363
+ "type": "object",
364
+ "properties": {
365
+ "website_uid": {
366
+ "type": "string",
367
+ "description": "Agency Plan website UID"
368
+ },
369
+ "options": {
370
+ "type": "array",
371
+ "description": "Option names and values. Each name must be one of the options returned by the options endpoint, and each value must satisfy that option's allowed_values when it declares them.",
372
+ "items": {
373
+ "type": "object",
374
+ "description": "options parameter",
375
+ "properties": {
376
+ "name": {
377
+ "type": "string",
378
+ "description": "php.ini directive name."
379
+ },
380
+ "value": {
381
+ "type": "string",
382
+ "description": "Value to apply."
383
+ }
384
+ },
385
+ "required": [
386
+ "name",
387
+ "value"
388
+ ]
389
+ }
390
+ }
391
+ },
392
+ "required": [
393
+ "website_uid",
394
+ "options"
395
+ ]
396
+ },
397
+ "security": [
398
+ {
399
+ "apiToken": []
400
+ }
401
+ ],
402
+ "group": "agency-hosting"
403
+ },
404
+ {
405
+ "name": "agency-hosting_listAvailablePHPVersionsForAnOrderV1",
406
+ "description": "Lists the PHP versions available to websites created under an Agency Plan order, determined by the server the order is hosted on. Use this before creating a website; for a website that already exists, call the website-scoped versions endpoint instead.",
407
+ "method": "GET",
408
+ "path": "/api/agency-hosting/v1/orders/{order_id}/websites/php-settings/versions",
409
+ "inputSchema": {
410
+ "type": "object",
411
+ "properties": {
412
+ "order_id": {
413
+ "type": "integer",
414
+ "description": "Agency Plan order ID"
415
+ }
416
+ },
417
+ "required": [
418
+ "order_id"
419
+ ]
420
+ },
421
+ "security": [
422
+ {
423
+ "apiToken": []
424
+ }
425
+ ],
426
+ "group": "agency-hosting"
427
+ },
428
+ {
429
+ "name": "agency-hosting_listAvailablePHPVersionsForAWebsiteV1",
430
+ "description": "Lists the PHP versions an Agency Plan website can be switched to. The version the website is currently running is returned as settings.php.version by the website details endpoint.",
431
+ "method": "GET",
432
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/versions",
433
+ "inputSchema": {
434
+ "type": "object",
435
+ "properties": {
436
+ "website_uid": {
437
+ "type": "string",
438
+ "description": "Agency Plan website UID"
439
+ }
440
+ },
441
+ "required": [
442
+ "website_uid"
443
+ ]
444
+ },
445
+ "security": [
446
+ {
447
+ "apiToken": []
448
+ }
449
+ ],
450
+ "group": "agency-hosting"
451
+ },
452
+ {
453
+ "name": "agency-hosting_updateWebsitePHPVersionV1",
454
+ "description": "Switches an Agency Plan website to a different PHP version. Call the available versions endpoint first to see which versions can be selected. The website restarts on the new version, so requests served during the switch may fail and code that is incompatible with the target version will break.",
455
+ "method": "PATCH",
456
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/version",
457
+ "inputSchema": {
458
+ "type": "object",
459
+ "properties": {
460
+ "website_uid": {
461
+ "type": "string",
462
+ "description": "Agency Plan website UID"
463
+ },
464
+ "version": {
465
+ "type": "string",
466
+ "description": "PHP version to switch the website to, as major.minor. Must be one of the versions returned by the available versions endpoint."
467
+ }
468
+ },
469
+ "required": [
470
+ "website_uid",
471
+ "version"
472
+ ]
473
+ },
474
+ "security": [
475
+ {
476
+ "apiToken": []
477
+ }
478
+ ],
479
+ "group": "agency-hosting"
480
+ },
276
481
  {
277
482
  "name": "agency-hosting_createANewWebsiteV1",
278
483
  "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.",
@@ -287,6 +287,211 @@ const tools: OpenApiTool[] = [
287
287
  ],
288
288
  "group": "agency-hosting"
289
289
  },
290
+ {
291
+ "name": "agency-hosting_listPHPExtensionsForAWebsiteV1",
292
+ "description": "Lists every PHP extension available to an Agency Plan website and whether it is currently enabled.",
293
+ "method": "GET",
294
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/extensions",
295
+ "inputSchema": {
296
+ "type": "object",
297
+ "properties": {
298
+ "website_uid": {
299
+ "type": "string",
300
+ "description": "Agency Plan website UID"
301
+ }
302
+ },
303
+ "required": [
304
+ "website_uid"
305
+ ]
306
+ },
307
+ "security": [
308
+ {
309
+ "apiToken": []
310
+ }
311
+ ],
312
+ "group": "agency-hosting"
313
+ },
314
+ {
315
+ "name": "agency-hosting_replaceWebsitePHPExtensionsV1",
316
+ "description": "Replaces the set of PHP extensions enabled on an Agency Plan website with the ones provided. Any toggleable extension not in the request is disabled, so call the extensions endpoint first and send the full desired set. Extensions compiled into PHP, reported with the \"built-in\" state, are always active and are unaffected.",
317
+ "method": "PUT",
318
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/extensions",
319
+ "inputSchema": {
320
+ "type": "object",
321
+ "properties": {
322
+ "website_uid": {
323
+ "type": "string",
324
+ "description": "Agency Plan website UID"
325
+ },
326
+ "extensions": {
327
+ "type": "array",
328
+ "description": "Extension names, exactly as returned by the extensions endpoint.",
329
+ "items": {
330
+ "type": "string",
331
+ "description": "extensions parameter"
332
+ }
333
+ }
334
+ },
335
+ "required": [
336
+ "website_uid",
337
+ "extensions"
338
+ ]
339
+ },
340
+ "security": [
341
+ {
342
+ "apiToken": []
343
+ }
344
+ ],
345
+ "group": "agency-hosting"
346
+ },
347
+ {
348
+ "name": "agency-hosting_listPHPOptionsForAWebsiteV1",
349
+ "description": "Lists the php.ini directives that can be configured for an Agency Plan website, each with its default, the value currently in effect, and the values it accepts.",
350
+ "method": "GET",
351
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/options",
352
+ "inputSchema": {
353
+ "type": "object",
354
+ "properties": {
355
+ "website_uid": {
356
+ "type": "string",
357
+ "description": "Agency Plan website UID"
358
+ }
359
+ },
360
+ "required": [
361
+ "website_uid"
362
+ ]
363
+ },
364
+ "security": [
365
+ {
366
+ "apiToken": []
367
+ }
368
+ ],
369
+ "group": "agency-hosting"
370
+ },
371
+ {
372
+ "name": "agency-hosting_replaceWebsitePHPOptionsV1",
373
+ "description": "Replaces the custom php.ini values on an Agency Plan website with the ones provided. Any option not in the request is reset to its default, so call the options endpoint first and send the full desired set. Sending an empty array resets every option to its default.",
374
+ "method": "PUT",
375
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/options",
376
+ "inputSchema": {
377
+ "type": "object",
378
+ "properties": {
379
+ "website_uid": {
380
+ "type": "string",
381
+ "description": "Agency Plan website UID"
382
+ },
383
+ "options": {
384
+ "type": "array",
385
+ "description": "Option names and values. Each name must be one of the options returned by the options endpoint, and each value must satisfy that option's allowed_values when it declares them.",
386
+ "items": {
387
+ "type": "object",
388
+ "description": "options parameter",
389
+ "properties": {
390
+ "name": {
391
+ "type": "string",
392
+ "description": "php.ini directive name."
393
+ },
394
+ "value": {
395
+ "type": "string",
396
+ "description": "Value to apply."
397
+ }
398
+ },
399
+ "required": [
400
+ "name",
401
+ "value"
402
+ ]
403
+ }
404
+ }
405
+ },
406
+ "required": [
407
+ "website_uid",
408
+ "options"
409
+ ]
410
+ },
411
+ "security": [
412
+ {
413
+ "apiToken": []
414
+ }
415
+ ],
416
+ "group": "agency-hosting"
417
+ },
418
+ {
419
+ "name": "agency-hosting_listAvailablePHPVersionsForAnOrderV1",
420
+ "description": "Lists the PHP versions available to websites created under an Agency Plan order, determined by the server the order is hosted on. Use this before creating a website; for a website that already exists, call the website-scoped versions endpoint instead.",
421
+ "method": "GET",
422
+ "path": "/api/agency-hosting/v1/orders/{order_id}/websites/php-settings/versions",
423
+ "inputSchema": {
424
+ "type": "object",
425
+ "properties": {
426
+ "order_id": {
427
+ "type": "integer",
428
+ "description": "Agency Plan order ID"
429
+ }
430
+ },
431
+ "required": [
432
+ "order_id"
433
+ ]
434
+ },
435
+ "security": [
436
+ {
437
+ "apiToken": []
438
+ }
439
+ ],
440
+ "group": "agency-hosting"
441
+ },
442
+ {
443
+ "name": "agency-hosting_listAvailablePHPVersionsForAWebsiteV1",
444
+ "description": "Lists the PHP versions an Agency Plan website can be switched to. The version the website is currently running is returned as settings.php.version by the website details endpoint.",
445
+ "method": "GET",
446
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/versions",
447
+ "inputSchema": {
448
+ "type": "object",
449
+ "properties": {
450
+ "website_uid": {
451
+ "type": "string",
452
+ "description": "Agency Plan website UID"
453
+ }
454
+ },
455
+ "required": [
456
+ "website_uid"
457
+ ]
458
+ },
459
+ "security": [
460
+ {
461
+ "apiToken": []
462
+ }
463
+ ],
464
+ "group": "agency-hosting"
465
+ },
466
+ {
467
+ "name": "agency-hosting_updateWebsitePHPVersionV1",
468
+ "description": "Switches an Agency Plan website to a different PHP version. Call the available versions endpoint first to see which versions can be selected. The website restarts on the new version, so requests served during the switch may fail and code that is incompatible with the target version will break.",
469
+ "method": "PATCH",
470
+ "path": "/api/agency-hosting/v1/websites/{website_uid}/php-settings/version",
471
+ "inputSchema": {
472
+ "type": "object",
473
+ "properties": {
474
+ "website_uid": {
475
+ "type": "string",
476
+ "description": "Agency Plan website UID"
477
+ },
478
+ "version": {
479
+ "type": "string",
480
+ "description": "PHP version to switch the website to, as major.minor. Must be one of the versions returned by the available versions endpoint."
481
+ }
482
+ },
483
+ "required": [
484
+ "website_uid",
485
+ "version"
486
+ ]
487
+ },
488
+ "security": [
489
+ {
490
+ "apiToken": []
491
+ }
492
+ ],
493
+ "group": "agency-hosting"
494
+ },
290
495
  {
291
496
  "name": "agency-hosting_createANewWebsiteV1",
292
497
  "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.",