hostinger-api-mcp 0.1.28 → 0.1.37

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 (5) hide show
  1. package/README.md +107 -82
  2. package/package.json +1 -1
  3. package/server.js +42 -96
  4. package/server.ts +42 -96
  5. package/types.d.ts +107 -90
package/server.js CHANGED
@@ -273,7 +273,7 @@ const TOOLS = [
273
273
  },
274
274
  {
275
275
  "name": "billing_getCatalogItemListV1",
276
- "description": "Retrieve catalog items available for order.\n\nPrices in catalog items is displayed as cents (without floating point), e.g: float `17.99` is displayed as integer `1799`.\n\nUse this endpoint to view available services and pricing before placing orders.",
276
+ "description": "Retrieve catalog items available for order.\n\nPrices in catalog items is displayed as cents (without floating point),\ne.g: float `17.99` is displayed as integer `1799`.\n\nUse this endpoint to view available services and pricing before placing orders.",
277
277
  "method": "GET",
278
278
  "path": "/api/billing/v1/catalog",
279
279
  "inputSchema": {
@@ -300,60 +300,6 @@ const TOOLS = [
300
300
  }
301
301
  ]
302
302
  },
303
- {
304
- "name": "billing_createServiceOrderV1",
305
- "description": "Create a new service order. \n\n**DEPRECATED**\n\nTo purchase a domain, use [`POST /api/domains/v1/portfolio`](/#tag/domains-portfolio/POST/api/domains/v1/portfolio) instead.\n\nTo purchase a VPS, use [`POST /api/vps/v1/virtual-machines`](/#tag/vps-virtual-machine/POST/api/vps/v1/virtual-machines) instead.\n\n\nTo place order, you need to provide payment method ID and list of price items from the catalog endpoint together with quantity.\nCoupons also can be provided during order creation.\n\nOrders created using this endpoint will be set for automatic renewal.\n\nSome `credit_card` payments might need additional verification, rendering purchase unprocessed.\nWe recommend use other payment methods than `credit_card` if you encounter this issue.",
306
- "method": "POST",
307
- "path": "/api/billing/v1/orders",
308
- "inputSchema": {
309
- "type": "object",
310
- "properties": {
311
- "payment_method_id": {
312
- "type": "integer",
313
- "description": "Payment method ID"
314
- },
315
- "items": {
316
- "type": "array",
317
- "description": "items parameter",
318
- "items": {
319
- "type": "object",
320
- "description": "items parameter",
321
- "properties": {
322
- "item_id": {
323
- "type": "string",
324
- "description": "Price Item ID"
325
- },
326
- "quantity": {
327
- "type": "integer",
328
- "description": "quantity parameter"
329
- }
330
- },
331
- "required": [
332
- "item_id",
333
- "quantity"
334
- ]
335
- }
336
- },
337
- "coupons": {
338
- "type": "array",
339
- "description": "Discount coupon codes",
340
- "items": {
341
- "type": "string",
342
- "description": "coupons parameter"
343
- }
344
- }
345
- },
346
- "required": [
347
- "payment_method_id",
348
- "items"
349
- ]
350
- },
351
- "security": [
352
- {
353
- "apiToken": []
354
- }
355
- ]
356
- },
357
303
  {
358
304
  "name": "billing_setDefaultPaymentMethodV1",
359
305
  "description": "Set the default payment method for your account.\n\nUse this endpoint to configure the primary payment method for future orders.",
@@ -402,7 +348,7 @@ const TOOLS = [
402
348
  },
403
349
  {
404
350
  "name": "billing_getPaymentMethodListV1",
405
- "description": "Retrieve available payment methods that can be used for placing new orders.\n\nIf you want to add new payment method, please use [hPanel](https://hpanel.hostinger.com/billing/payment-methods).\n\nUse this endpoint to view available payment options before creating orders.",
351
+ "description": "Retrieve available payment methods that can be used for placing new orders.\n\nIf you want to add new payment method,\nplease use [hPanel](https://hpanel.hostinger.com/billing/payment-methods).\n\nUse this endpoint to view available payment options before creating orders.",
406
352
  "method": "GET",
407
353
  "path": "/api/billing/v1/payment-methods",
408
354
  "inputSchema": {
@@ -594,7 +540,7 @@ const TOOLS = [
594
540
  },
595
541
  "overwrite": {
596
542
  "type": "boolean",
597
- "description": "If `true`, resource records (RRs) matching name and type will be deleted and new RRs will be created, otherwise resource records' ttl's are updated and new records are appended. If no matching RRs are found, they are created."
543
+ "description": "If `true`, resource records (RRs) matching name and type will be deleted and new RRs will be created,\notherwise resource records' ttl's are updated and new records are appended.\nIf no matching RRs are found, they are created."
598
544
  },
599
545
  "zone": {
600
546
  "type": "array",
@@ -740,7 +686,7 @@ const TOOLS = [
740
686
  },
741
687
  "overwrite": {
742
688
  "type": "boolean",
743
- "description": "If `true`, resource records (RRs) matching name and type will be deleted and new RRs will be created, otherwise resource records' ttl's are updated and new records are appended. If no matching RRs are found, they are created."
689
+ "description": "If `true`, resource records (RRs) matching name and type will be deleted and new RRs will be created,\notherwise resource records' ttl's are updated and new records are appended.\nIf no matching RRs are found, they are created."
744
690
  },
745
691
  "zone": {
746
692
  "type": "array",
@@ -947,7 +893,7 @@ const TOOLS = [
947
893
  },
948
894
  {
949
895
  "name": "domains_enableDomainLockV1",
950
- "description": "Enable domain lock for the domain.\n\nWhen domain lock is enabled, the domain cannot be transferred to another registrar without first disabling the lock.\n\nUse this endpoint to secure domains against unauthorized transfers.",
896
+ "description": "Enable domain lock for the domain.\n\nWhen domain lock is enabled,\nthe domain cannot be transferred to another registrar without first disabling the lock.\n\nUse this endpoint to secure domains against unauthorized transfers.",
951
897
  "method": "PUT",
952
898
  "path": "/api/domains/v1/portfolio/{domain}/domain-lock",
953
899
  "inputSchema": {
@@ -1032,7 +978,7 @@ const TOOLS = [
1032
978
  },
1033
979
  {
1034
980
  "name": "domains_purchaseNewDomainV1",
1035
- "description": "Purchase and register a new domain name.\n\nIf registration fails, login to [hPanel](https://hpanel.hostinger.com/) and check domain registration status.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nIf no WHOIS information is provided, default contact information for that TLD will be used. \nBefore making request, ensure WHOIS information for desired TLD exists in your account.\n\nSome TLDs require `additional_details` to be provided and these will be validated before completing purchase.\n\nUse this endpoint to register new domains for users.",
981
+ "description": "Purchase and register a new domain name.\n\nIf registration fails, login to [hPanel](https://hpanel.hostinger.com/) and check domain registration status.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nIf no WHOIS information is provided, default contact information for that TLD will be used.\nBefore making request, ensure WHOIS information for desired TLD exists in your account.\n\nSome TLDs require `additional_details` to be provided and these will be validated before completing purchase.\n\nUse this endpoint to register new domains for users.",
1036
982
  "method": "POST",
1037
983
  "path": "/api/domains/v1/portfolio",
1038
984
  "inputSchema": {
@@ -1324,7 +1270,7 @@ const TOOLS = [
1324
1270
  },
1325
1271
  {
1326
1272
  "name": "hosting_listAvailableDatacentersV1",
1327
- "description": "Retrieve a list of datacenters available for setting up hosting plans based on available datacenter capacity and hosting plan of your order.\nThe first item in the list is the best match for your specific order requirements.",
1273
+ "description": "Retrieve a list of datacenters available for setting up hosting plans\nbased on available datacenter capacity and hosting plan of your order.\nThe first item in the list is the best match for your specific order\nrequirements.",
1328
1274
  "method": "GET",
1329
1275
  "path": "/api/hosting/v1/datacenters",
1330
1276
  "inputSchema": {
@@ -1347,7 +1293,7 @@ const TOOLS = [
1347
1293
  },
1348
1294
  {
1349
1295
  "name": "hosting_generateAFreeSubdomainV1",
1350
- "description": "Generate a unique free subdomain that can be used for hosting services without purchasing custom domains.\nFree subdomains allow you to start using hosting services immediately and you can always connect a custom domain to your site later.",
1296
+ "description": "Generate a unique free subdomain that can be used for hosting services without purchasing custom domains.\nFree subdomains allow you to start using hosting services immediately\nand you can always connect a custom domain to your site later.",
1351
1297
  "method": "POST",
1352
1298
  "path": "/api/hosting/v1/domains/free-subdomains",
1353
1299
  "inputSchema": {
@@ -1386,7 +1332,7 @@ const TOOLS = [
1386
1332
  },
1387
1333
  {
1388
1334
  "name": "hosting_listOrdersV1",
1389
- "description": "Retrieve a paginated list of orders accessible to the authenticated client.\n\nThis endpoint returns orders of your hosting accounts as well as orders of other client hosting accounts that have shared access with you.\n\nUse the available query parameters to filter results by order statuses or specific order IDs for more targeted results.",
1335
+ "description": "Retrieve a paginated list of orders accessible to the authenticated client.\n\nThis endpoint returns orders of your hosting accounts as well as orders\nof other client hosting accounts that have shared access with you.\n\nUse the available query parameters to filter results by order statuses\nor specific order IDs for more targeted results.",
1390
1336
  "method": "GET",
1391
1337
  "path": "/api/hosting/v1/orders",
1392
1338
  "inputSchema": {
@@ -1433,7 +1379,7 @@ const TOOLS = [
1433
1379
  },
1434
1380
  {
1435
1381
  "name": "hosting_listWebsitesV1",
1436
- "description": "Retrieve a paginated list of websites (main and addon types) accessible to the authenticated client.\n\nThis endpoint returns websites from your hosting accounts as well as websites from other client hosting accounts that have shared access with you.\n\nUse the available query parameters to filter results by username, order ID, enabled status, or domain name for more targeted results.",
1382
+ "description": "Retrieve a paginated list of websites (main and addon types) accessible to the authenticated client.\n\nThis endpoint returns websites from your hosting accounts as well as\nwebsites from other client hosting accounts that have shared access\nwith you.\n\nUse the available query parameters to filter results by username,\norder ID, enabled status, or domain name for more targeted results.",
1437
1383
  "method": "GET",
1438
1384
  "path": "/api/hosting/v1/websites",
1439
1385
  "inputSchema": {
@@ -1474,7 +1420,7 @@ const TOOLS = [
1474
1420
  },
1475
1421
  {
1476
1422
  "name": "hosting_createWebsiteV1",
1477
- "description": "Create a new website for the authenticated client.\n\nProvide the domain name and associated order ID to create a new website. The datacenter_code parameter is required when creating the first website on a new hosting plan - this will set up and configure new hosting account in the selected datacenter.\n\nSubsequent websites will be hosted on the same datacenter automatically.\n\nWebsite creation takes up to a few minutes to complete. Check the websites list endpoint to see when your new website becomes available.",
1423
+ "description": "Create a new website for the authenticated client.\n\nProvide the domain name and associated order ID to create a new website.\nThe datacenter_code parameter is required when creating the first website\non a new hosting plan - this will set up and configure new hosting account\nin the selected datacenter.\n\nSubsequent websites will be hosted on the same datacenter automatically.\n\nWebsite creation takes up to a few minutes to complete. Check the\nwebsites list endpoint to see when your new website becomes available.",
1478
1424
  "method": "POST",
1479
1425
  "path": "/api/hosting/v1/websites",
1480
1426
  "inputSchema": {
@@ -1578,7 +1524,7 @@ const TOOLS = [
1578
1524
  },
1579
1525
  {
1580
1526
  "name": "reach_createANewContactV1",
1581
- "description": "Create a new contact in the email marketing system.\n\nThis endpoint allows you to create a new contact with basic information like name, email, and surname.\n\nIf double opt-in is enabled, the contact will be created with a pending status and a confirmation email will be sent.",
1527
+ "description": "Create a new contact in the email marketing system.\n\nThis endpoint allows you to create a new contact with basic information like name, email, and surname.\n\nIf double opt-in is enabled,\nthe contact will be created with a pending status and a confirmation email will be sent.",
1582
1528
  "method": "POST",
1583
1529
  "path": "/api/reach/v1/contacts",
1584
1530
  "inputSchema": {
@@ -1785,8 +1731,8 @@ const TOOLS = [
1785
1731
  ]
1786
1732
  },
1787
1733
  {
1788
- "name": "reach_createANewProfileContactV1",
1789
- "description": "Create a new contact in the email marketing system.\n\nThis endpoint allows you to create a new contact with basic information like name, email, and surname.\n\nIf double opt-in is enabled, the contact will be created with a pending status and a confirmation email will be sent.",
1734
+ "name": "reach_createNewContactsV1",
1735
+ "description": "Create a new contact in the email marketing system.\n\nThis endpoint allows you to create a new contact with basic information like name, email, and surname.\n\nIf double opt-in is enabled, the contact will be created with a pending status\nand a confirmation email will be sent.",
1790
1736
  "method": "POST",
1791
1737
  "path": "/api/reach/v1/profiles/{profileUuid}/contacts",
1792
1738
  "inputSchema": {
@@ -1858,7 +1804,7 @@ const TOOLS = [
1858
1804
  },
1859
1805
  {
1860
1806
  "name": "VPS_getProjectContainersV1",
1861
- "description": "Retrieves a list of all containers belonging to a specific Docker Compose project on the virtual machine. \n\nThis endpoint returns detailed information about each container including their current status, port mappings, and runtime configuration. \n\nUse this to monitor the health and state of all services within your Docker Compose project.",
1807
+ "description": "Retrieves a list of all containers belonging to a specific Docker Compose project on the virtual machine. \n\nThis endpoint returns detailed information about each container including\ntheir current status, port mappings, and runtime configuration.\n\nUse this to monitor the health and state of all services within your Docker Compose project.",
1862
1808
  "method": "GET",
1863
1809
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/containers",
1864
1810
  "inputSchema": {
@@ -1886,7 +1832,7 @@ const TOOLS = [
1886
1832
  },
1887
1833
  {
1888
1834
  "name": "VPS_getProjectContentsV1",
1889
- "description": "Retrieves the complete project information including the docker-compose.yml file contents, project metadata, and current deployment status. \n\nThis endpoint provides the full configuration and state details of a specific Docker Compose project. \n\nUse this to inspect project settings, review the compose file, or check the overall project health.",
1835
+ "description": "Retrieves the complete project information including the docker-compose.yml\nfile contents, project metadata, and current deployment status.\n\nThis endpoint provides the full configuration and state details of a specific Docker Compose project. \n\nUse this to inspect project settings, review the compose file, or check the overall project health.",
1890
1836
  "method": "GET",
1891
1837
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}",
1892
1838
  "inputSchema": {
@@ -1942,7 +1888,7 @@ const TOOLS = [
1942
1888
  },
1943
1889
  {
1944
1890
  "name": "VPS_getProjectListV1",
1945
- "description": "Retrieves a list of all Docker Compose projects currently deployed on the virtual machine. \n\nThis endpoint returns basic information about each project including name, status, file path and list of containers with \ndetails about their names, image, status, health and ports. Container stats are omitted in this endpoint.\nIf you need to get detailed information about container with stats included, use the `Get project containers` endpoint. \n\nUse this to get an overview of all Docker projects on your VPS instance.",
1891
+ "description": "Retrieves a list of all Docker Compose projects currently deployed on the virtual machine. \n\nThis endpoint returns basic information about each project including name,\nstatus, file path and list of containers with details about their names,\nimage, status, health and ports. Container stats are omitted in this\nendpoint. If you need to get detailed information about container with\nstats included, use the `Get project containers` endpoint.\n\nUse this to get an overview of all Docker projects on your VPS instance.",
1946
1892
  "method": "GET",
1947
1893
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/docker",
1948
1894
  "inputSchema": {
@@ -1965,7 +1911,7 @@ const TOOLS = [
1965
1911
  },
1966
1912
  {
1967
1913
  "name": "VPS_createNewProjectV1",
1968
- "description": "Deploy new project from docker-compose.yaml contents or download contents from URL. \n\nURL can be Github repository url in format https://github.com/[user]/[repo] and it will be automatically resolved to \ndocker-compose.yaml file in master branch. Any other URL provided must return docker-compose.yaml file contents.\n\nIf project with the same name already exists, existing project will be replaced.",
1914
+ "description": "Deploy new project from docker-compose.yaml contents or download contents from URL. \n\nURL can be Github repository url in format https://github.com/[user]/[repo]\nand it will be automatically resolved to docker-compose.yaml file in\nmaster branch. Any other URL provided must return docker-compose.yaml\nfile contents.\n\nIf project with the same name already exists, existing project will be replaced.",
1969
1915
  "method": "POST",
1970
1916
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/docker",
1971
1917
  "inputSchema": {
@@ -2002,7 +1948,7 @@ const TOOLS = [
2002
1948
  },
2003
1949
  {
2004
1950
  "name": "VPS_getProjectLogsV1",
2005
- "description": "Retrieves aggregated log entries from all services within a Docker Compose project. \n\nThis endpoint returns recent log output from each container, organized by service name with timestamps. \nThe response contains the last 300 log entries across all services. \n\nUse this for debugging, monitoring application behavior, and troubleshooting issues across your entire project stack.",
1951
+ "description": "Retrieves aggregated log entries from all services within a Docker Compose project. \n\nThis endpoint returns recent log output from each container, organized by service name with timestamps. \nThe response contains the last 300 log entries across all services. \n\nUse this for debugging, monitoring application behavior, and\ntroubleshooting issues across your entire project stack.",
2006
1952
  "method": "GET",
2007
1953
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/logs",
2008
1954
  "inputSchema": {
@@ -2030,7 +1976,7 @@ const TOOLS = [
2030
1976
  },
2031
1977
  {
2032
1978
  "name": "VPS_restartProjectV1",
2033
- "description": "Restarts all services in a Docker Compose project by stopping and starting containers in the correct dependency order. \n\nThis operation preserves data volumes and network configurations while refreshing the running containers. \n\nUse this to apply configuration changes or recover from service failures.",
1979
+ "description": "Restarts all services in a Docker Compose project by stopping and starting\ncontainers in the correct dependency order.\n\nThis operation preserves data volumes and network configurations while refreshing the running containers. \n\nUse this to apply configuration changes or recover from service failures.",
2034
1980
  "method": "POST",
2035
1981
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/restart",
2036
1982
  "inputSchema": {
@@ -2086,7 +2032,7 @@ const TOOLS = [
2086
2032
  },
2087
2033
  {
2088
2034
  "name": "VPS_stopProjectV1",
2089
- "description": "Stops all running services in a Docker Compose project while preserving container configurations and data volumes. \n\nThis operation gracefully shuts down containers in reverse dependency order. \n\nUse this to temporarily halt a project without removing data or configurations.",
2035
+ "description": "Stops all running services in a Docker Compose project while preserving\ncontainer configurations and data volumes.\n\nThis operation gracefully shuts down containers in reverse dependency order. \n\nUse this to temporarily halt a project without removing data or configurations.",
2090
2036
  "method": "POST",
2091
2037
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/stop",
2092
2038
  "inputSchema": {
@@ -2114,7 +2060,7 @@ const TOOLS = [
2114
2060
  },
2115
2061
  {
2116
2062
  "name": "VPS_updateProjectV1",
2117
- "description": "Updates a Docker Compose project by pulling the latest image versions and recreating containers with new configurations. \n\nThis operation preserves data volumes while applying changes from the compose file. \n\nUse this to deploy application updates, apply configuration changes, or refresh container images to their latest versions.",
2063
+ "description": "Updates a Docker Compose project by pulling the latest image versions and\nrecreating containers with new configurations.\n\nThis operation preserves data volumes while applying changes from the compose file. \n\nUse this to deploy application updates, apply configuration changes, or\nrefresh container images to their latest versions.",
2118
2064
  "method": "POST",
2119
2065
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/docker/{projectName}/update",
2120
2066
  "inputSchema": {
@@ -2288,7 +2234,7 @@ const TOOLS = [
2288
2234
  },
2289
2235
  {
2290
2236
  "name": "VPS_updateFirewallRuleV1",
2291
- "description": "Update a specific firewall rule from a specified firewall.\n\nAny virtual machine that has this firewall activated will lose sync with the firewall and will have to be synced again manually.\n\nUse this endpoint to modify existing firewall rules.",
2237
+ "description": "Update a specific firewall rule from a specified firewall.\n\nAny virtual machine that has this firewall activated will lose sync with the firewall\nand will have to be synced again manually.\n\nUse this endpoint to modify existing firewall rules.",
2292
2238
  "method": "PUT",
2293
2239
  "path": "/api/vps/v1/firewall/{firewallId}/rules/{ruleId}",
2294
2240
  "inputSchema": {
@@ -2355,7 +2301,7 @@ const TOOLS = [
2355
2301
  },
2356
2302
  {
2357
2303
  "name": "VPS_deleteFirewallRuleV1",
2358
- "description": "Delete a specific firewall rule from a specified firewall.\n\nAny virtual machine that has this firewall activated will lose sync with the firewall and will have to be synced again manually.\n \nUse this endpoint to remove specific firewall rules.",
2304
+ "description": "Delete a specific firewall rule from a specified firewall.\n\nAny virtual machine that has this firewall activated will lose sync with the firewall\nand will have to be synced again manually.\n\nUse this endpoint to remove specific firewall rules.",
2359
2305
  "method": "DELETE",
2360
2306
  "path": "/api/vps/v1/firewall/{firewallId}/rules/{ruleId}",
2361
2307
  "inputSchema": {
@@ -2383,7 +2329,7 @@ const TOOLS = [
2383
2329
  },
2384
2330
  {
2385
2331
  "name": "VPS_createFirewallRuleV1",
2386
- "description": "Create new firewall rule for a specified firewall.\n\nBy default, the firewall drops all incoming traffic, which means you must add accept rules for all ports you want to use.\n\nAny virtual machine that has this firewall activated will lose sync with the firewall and will have to be synced again manually.\n\nUse this endpoint to add new security rules to firewalls.",
2332
+ "description": "Create new firewall rule for a specified firewall.\n\nBy default, the firewall drops all incoming traffic,\nwhich means you must add accept rules for all ports you want to use.\n\nAny virtual machine that has this firewall activated will lose sync with the firewall\nand will have to be synced again manually.\n\nUse this endpoint to add new security rules to firewalls.",
2387
2333
  "method": "POST",
2388
2334
  "path": "/api/vps/v1/firewall/{firewallId}/rules",
2389
2335
  "inputSchema": {
@@ -2573,7 +2519,7 @@ const TOOLS = [
2573
2519
  },
2574
2520
  {
2575
2521
  "name": "VPS_createPostInstallScriptV1",
2576
- "description": "Add a new post-install script to your account, which can then be used after virtual machine installation.\n\nThe script contents will be saved to the file `/post_install` with executable attribute set and will be executed once virtual machine is installed.\nThe output of the script will be redirected to `/post_install.log`. Maximum script size is 48KB.\n\nUse this endpoint to create automation scripts for VPS setup tasks.",
2522
+ "description": "Add a new post-install script to your account, which can then be used after virtual machine installation.\n\nThe script contents will be saved to the file `/post_install` with executable attribute set\nand will be executed once virtual machine is installed.\nThe output of the script will be redirected to `/post_install.log`. Maximum script size is 48KB.\n\nUse this endpoint to create automation scripts for VPS setup tasks.",
2577
2523
  "method": "POST",
2578
2524
  "path": "/api/vps/v1/post-install-scripts",
2579
2525
  "inputSchema": {
@@ -2772,7 +2718,7 @@ const TOOLS = [
2772
2718
  },
2773
2719
  {
2774
2720
  "name": "VPS_getActionsV1",
2775
- "description": "Retrieve actions performed on a specified virtual machine.\n\nActions are operations or events that have been executed on the virtual machine, such as starting, stopping, or modifying \nthe machine. This endpoint allows you to view the history of these actions, providing details about each action, \nsuch as the action name, timestamp, and status.\n\nUse this endpoint to view VPS operation history and troubleshoot issues.",
2721
+ "description": "Retrieve actions performed on a specified virtual machine.\n\nActions are operations or events that have been executed on the virtual\nmachine, such as starting, stopping, or modifying the machine. This endpoint\nallows you to view the history of these actions, providing details about\neach action, such as the action name, timestamp, and status.\n\nUse this endpoint to view VPS operation history and troubleshoot issues.",
2776
2722
  "method": "GET",
2777
2723
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/actions",
2778
2724
  "inputSchema": {
@@ -2971,7 +2917,7 @@ const TOOLS = [
2971
2917
  },
2972
2918
  {
2973
2919
  "name": "VPS_purchaseNewVirtualMachineV1",
2974
- "description": "Purchase and setup a new virtual machine.\n\nIf virtual machine setup fails for any reason, login to [hPanel](https://hpanel.hostinger.com/) and complete the setup manually.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nUse this endpoint to create new VPS instances.",
2920
+ "description": "Purchase and setup a new virtual machine.\n\nIf virtual machine setup fails for any reason, login to\n[hPanel](https://hpanel.hostinger.com/) and complete the setup manually.\n\nIf no payment method is provided, your default payment method will be used automatically.\n\nUse this endpoint to create new VPS instances.",
2975
2921
  "method": "POST",
2976
2922
  "path": "/api/vps/v1/virtual-machines",
2977
2923
  "inputSchema": {
@@ -3011,7 +2957,7 @@ const TOOLS = [
3011
2957
  },
3012
2958
  {
3013
2959
  "name": "VPS_getScanMetricsV1",
3014
- "description": "Retrieve scan metrics for the [Monarx](https://www.monarx.com/) malware scanner installed on a specified virtual machine.\n\nThe scan metrics provide detailed information about malware scans performed by Monarx, including number of scans, \ndetected threats, and other relevant statistics. This information is useful for monitoring security status of the \nvirtual machine and assessing effectiveness of the malware scanner.\n\nUse this endpoint to monitor VPS security scan results and threat detection.",
2960
+ "description": "Retrieve scan metrics for the [Monarx](https://www.monarx.com/) malware scanner\ninstalled on a specified virtual machine.\n\nThe scan metrics provide detailed information about malware scans performed\nby Monarx, including number of scans, detected threats, and other relevant\nstatistics. This information is useful for monitoring security status of the\nvirtual machine and assessing effectiveness of the malware scanner.\n\nUse this endpoint to monitor VPS security scan results and threat detection.",
3015
2961
  "method": "GET",
3016
2962
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/monarx",
3017
2963
  "inputSchema": {
@@ -3034,7 +2980,7 @@ const TOOLS = [
3034
2980
  },
3035
2981
  {
3036
2982
  "name": "VPS_installMonarxV1",
3037
- "description": "Install the Monarx malware scanner on a specified virtual machine.\n\n[Monarx](https://www.monarx.com/) is a security tool designed to detect and prevent malware infections on virtual machines. \nBy installing Monarx, users can enhance the security of their virtual machines, ensuring that they are protected against malicious software.\n\nUse this endpoint to enable malware protection on VPS instances.",
2983
+ "description": "Install the Monarx malware scanner on a specified virtual machine.\n\n[Monarx](https://www.monarx.com/) is a security tool designed to detect and\nprevent malware infections on virtual machines. By installing Monarx, users\ncan enhance the security of their virtual machines, ensuring that they are\nprotected against malicious software.\n\nUse this endpoint to enable malware protection on VPS instances.",
3038
2984
  "method": "POST",
3039
2985
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/monarx",
3040
2986
  "inputSchema": {
@@ -3113,7 +3059,7 @@ const TOOLS = [
3113
3059
  },
3114
3060
  {
3115
3061
  "name": "VPS_setNameserversV1",
3116
- "description": "Set nameservers for a specified virtual machine.\n\nBe aware, that improper nameserver configuration can lead to the virtual machine being unable to resolve domain names.\n\nUse this endpoint to configure custom DNS resolvers for VPS instances.",
3062
+ "description": "Set nameservers for a specified virtual machine.\n\nBe aware, that improper nameserver configuration can lead to the virtual\nmachine being unable to resolve domain names.\n\nUse this endpoint to configure custom DNS resolvers for VPS instances.",
3117
3063
  "method": "PUT",
3118
3064
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/nameservers",
3119
3065
  "inputSchema": {
@@ -3182,7 +3128,7 @@ const TOOLS = [
3182
3128
  },
3183
3129
  {
3184
3130
  "name": "VPS_deletePTRRecordV1",
3185
- "description": "Delete a PTR (Pointer) record for a specified virtual machine.\n\nOnce deleted, reverse DNS lookups to the virtual machine's IP address will no longer return the previously configured hostname.\n\nUse this endpoint to remove reverse DNS configuration from VPS instances.",
3131
+ "description": "Delete a PTR (Pointer) record for a specified virtual machine.\n\nOnce deleted, reverse DNS lookups to the virtual machine's IP address will\nno longer return the previously configured hostname.\n\nUse this endpoint to remove reverse DNS configuration from VPS instances.",
3186
3132
  "method": "DELETE",
3187
3133
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/ptr/{ipAddressId}",
3188
3134
  "inputSchema": {
@@ -3210,7 +3156,7 @@ const TOOLS = [
3210
3156
  },
3211
3157
  {
3212
3158
  "name": "VPS_setPanelPasswordV1",
3213
- "description": "Set panel password for a specified virtual machine.\n\nIf virtual machine does not use panel OS, the request will still be processed without any effect.\nRequirements for password are same as in the [recreate virtual machine endpoint](/#tag/vps-virtual-machine/POST/api/vps/v1/virtual-machines/{virtualMachineId}/recreate).\n\nUse this endpoint to configure control panel access credentials for VPS instances.",
3159
+ "description": "Set panel password for a specified virtual machine.\n\nIf virtual machine does not use panel OS, the request will still be processed without any effect.\nRequirements for password are same as in the [recreate virtual machine\nendpoint](/#tag/vps-virtual-machine/POST/api/vps/v1/virtual-machines/{virtualMachineId}/recreate).\n\nUse this endpoint to configure control panel access credentials for VPS instances.",
3214
3160
  "method": "PUT",
3215
3161
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/panel-password",
3216
3162
  "inputSchema": {
@@ -3289,7 +3235,7 @@ const TOOLS = [
3289
3235
  },
3290
3236
  {
3291
3237
  "name": "VPS_recreateVirtualMachineV1",
3292
- "description": "Recreate a virtual machine from scratch.\n\nThe recreation process involves reinstalling the operating system and resetting the virtual machine to its initial state.\nSnapshots, if there are any, will be deleted.\n\n## Password Requirements\nPassword will be checked against leaked password databases. \nRequirements for the password are:\n- At least 12 characters long\n- At least one uppercase letter\n- At least one lowercase letter\n- At least one number\n- Is not leaked publicly\n\n**This operation is irreversible and will result in the loss of all data stored on the virtual machine!**\n\nUse this endpoint to completely rebuild VPS instances with fresh OS installation.",
3238
+ "description": "Recreate a virtual machine from scratch.\n\nThe recreation process involves reinstalling the operating system and\nresetting the virtual machine to its initial state.\nSnapshots, if there are any, will be deleted.\n\n## Password Requirements\nPassword will be checked against leaked password databases. \nRequirements for the password are:\n- At least 12 characters long\n- At least one uppercase letter\n- At least one lowercase letter\n- At least one number\n- Is not leaked publicly\n\n**This operation is irreversible and will result in the loss of all data stored on the virtual machine!**\n\nUse this endpoint to completely rebuild VPS instances with fresh OS installation.",
3293
3239
  "method": "POST",
3294
3240
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/recreate",
3295
3241
  "inputSchema": {
@@ -3305,11 +3251,11 @@ const TOOLS = [
3305
3251
  },
3306
3252
  "password": {
3307
3253
  "type": "string",
3308
- "description": "Root password for the virtual machine. If not provided, random password will be generated. Password will not be shown in the response."
3254
+ "description": "Root password for the virtual machine. If not provided, random password will be generated.\nPassword will not be shown in the response."
3309
3255
  },
3310
3256
  "panel_password": {
3311
3257
  "type": "string",
3312
- "description": "Panel password for the panel-based OS template. If not provided, random password will be generated. If OS does not support panel_password this field will be ignored. Password will not be shown in the response."
3258
+ "description": "Panel password for the panel-based OS template. If not provided, random password will be generated.\nIf OS does not support panel_password this field will be ignored.\nPassword will not be shown in the response."
3313
3259
  },
3314
3260
  "post_install_script_id": {
3315
3261
  "type": "integer",
@@ -3352,7 +3298,7 @@ const TOOLS = [
3352
3298
  },
3353
3299
  {
3354
3300
  "name": "VPS_setRootPasswordV1",
3355
- "description": "Set root password for a specified virtual machine.\n\nRequirements for password are same as in the [recreate virtual machine endpoint](/#tag/vps-virtual-machine/POST/api/vps/v1/virtual-machines/{virtualMachineId}/recreate).\n\nUse this endpoint to update administrator credentials for VPS instances.",
3301
+ "description": "Set root password for a specified virtual machine.\n\nRequirements for password are same as in the [recreate virtual machine\nendpoint](/#tag/vps-virtual-machine/POST/api/vps/v1/virtual-machines/{virtualMachineId}/recreate).\n\nUse this endpoint to update administrator credentials for VPS instances.",
3356
3302
  "method": "PUT",
3357
3303
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/root-password",
3358
3304
  "inputSchema": {
@@ -3404,7 +3350,7 @@ const TOOLS = [
3404
3350
  },
3405
3351
  "password": {
3406
3352
  "type": "string",
3407
- "description": "Password for the virtual machine. If not provided, random password will be generated. Password will not be shown in the response."
3353
+ "description": "Password for the virtual machine. If not provided, random password will be generated.\nPassword will not be shown in the response."
3408
3354
  },
3409
3355
  "hostname": {
3410
3356
  "type": "string",
@@ -3524,7 +3470,7 @@ const TOOLS = [
3524
3470
  },
3525
3471
  {
3526
3472
  "name": "VPS_restoreSnapshotV1",
3527
- "description": "Restore a specified virtual machine to a previous state using a snapshot.\n\nRestoring from a snapshot allows users to revert the virtual machine to that state, which is useful for system recovery, undoing changes, or testing.\n\nUse this endpoint to revert VPS instances to previous saved states.",
3473
+ "description": "Restore a specified virtual machine to a previous state using a snapshot.\n\nRestoring from a snapshot allows users to revert the virtual machine to that state,\nwhich is useful for system recovery, undoing changes, or testing.\n\nUse this endpoint to revert VPS instances to previous saved states.",
3528
3474
  "method": "POST",
3529
3475
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/snapshot/restore",
3530
3476
  "inputSchema": {
@@ -3602,7 +3548,7 @@ const SECURITY_SCHEMES = {
3602
3548
 
3603
3549
  /**
3604
3550
  * MCP Server for Hostinger API
3605
- * Generated from OpenAPI spec version 0.11.4
3551
+ * Generated from OpenAPI spec version 0.11.7
3606
3552
  */
3607
3553
  class MCPServer {
3608
3554
  constructor() {
@@ -3620,7 +3566,7 @@ class MCPServer {
3620
3566
  this.server = new Server(
3621
3567
  {
3622
3568
  name: "hostinger-api-mcp",
3623
- version: "0.1.28",
3569
+ version: "0.1.37",
3624
3570
  },
3625
3571
  {
3626
3572
  capabilities: {
@@ -3645,7 +3591,7 @@ class MCPServer {
3645
3591
  });
3646
3592
  }
3647
3593
 
3648
- headers['User-Agent'] = 'hostinger-mcp-server/0.1.28';
3594
+ headers['User-Agent'] = 'hostinger-mcp-server/0.1.37';
3649
3595
 
3650
3596
  return headers;
3651
3597
  }