hostinger-api-mcp 1.1.2 → 1.2.1

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
@@ -49,13 +49,13 @@ 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 (173 total)
52
+ - `hostinger-api-mcp` — unified server with every tool (181 total)
53
53
  - `hostinger-billing-mcp` — 7 tools for billing
54
54
  - `hostinger-dns-mcp` — 8 tools for dns
55
55
  - `hostinger-domains-mcp` — 18 tools for domains
56
- - `hostinger-ecommerce-mcp` — 10 tools for ecommerce
56
+ - `hostinger-ecommerce-mcp` — 12 tools for ecommerce
57
57
  - `hostinger-horizons-mcp` — 2 tools for horizons
58
- - `hostinger-hosting-mcp` — 35 tools for hosting
58
+ - `hostinger-hosting-mcp` — 41 tools for hosting
59
59
  - `hostinger-reach-mcp` — 12 tools for reach
60
60
  - `hostinger-vps-mcp` — 62 tools for vps
61
61
  - `hostinger-wordpress-mcp` — 19 tools for wordpress
@@ -584,7 +584,7 @@ List a store's active sales channels with their full metadata.
584
584
  - **Method**: `GET`
585
585
  - **Path**: `/api/ecommerce/v1/stores/{store_id}/sales-channels`
586
586
 
587
- #### ecommerce_createACustomSalesChannelV1
587
+ #### ecommerce_createCustomSalesChannelV1
588
588
 
589
589
  Create a custom sales channel for a store. Build your own frontend and keep your catalog,
590
590
  orders, shipping and payments in sync through the Ecommerce API.
@@ -592,6 +592,14 @@ orders, shipping and payments in sync through the Ecommerce API.
592
592
  - **Method**: `POST`
593
593
  - **Path**: `/api/ecommerce/v1/stores/{store_id}/sales-channels`
594
594
 
595
+ #### ecommerce_updateSalesChannelV1
596
+
597
+ Update a custom sales channel. The merchant-facing `name` and the public `url`
598
+ (returned as the channel `domain`) can be changed. Pass `null` to clear a value.
599
+
600
+ - **Method**: `PATCH`
601
+ - **Path**: `/api/ecommerce/v1/stores/{store_id}/sales-channels/{sales_channel_id}`
602
+
595
603
  #### ecommerce_setStoreShippingV1
596
604
 
597
605
  Set the flat-rate shipping price for a store, creating the shipping zone if it does not exist yet.
@@ -624,6 +632,14 @@ A primary sales channel is created alongside the store.
624
632
  - **Method**: `POST`
625
633
  - **Path**: `/api/ecommerce/v1/stores`
626
634
 
635
+ #### ecommerce_getStoreMetadataV1
636
+
637
+ Get a store's readiness metadata: whether payment methods and shipping are configured,
638
+ plus its default currency. Useful to verify prerequisites before building a storefront.
639
+
640
+ - **Method**: `GET`
641
+ - **Path**: `/api/ecommerce/v1/stores/{store_id}/metadata`
642
+
627
643
  ### `hostinger-horizons-mcp`
628
644
 
629
645
  #### horizons_createWebsiteV1
@@ -1002,6 +1018,64 @@ or specific order IDs for more targeted results.
1002
1018
  - **Method**: `GET`
1003
1019
  - **Path**: `/api/hosting/v1/orders`
1004
1020
 
1021
+ #### hosting_resetPHPExtensionsV1
1022
+
1023
+ Resets all PHP extensions of the website to their default state.
1024
+
1025
+ Use it to recover from extension conflicts or restore the original configuration.
1026
+
1027
+ - **Method**: `PATCH`
1028
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/php/extensions/reset`
1029
+
1030
+ #### hosting_getPHPDetailsV1
1031
+
1032
+ Returns the full PHP configuration for the website: current version, available versions
1033
+ (supported and unsupported), enabled/disabled extensions, options with their current value,
1034
+ default, type and the plan limit (`max`), and conflicting extension groups.
1035
+
1036
+ Use it to check the current PHP setup before updating the version, extensions or options.
1037
+
1038
+ - **Method**: `GET`
1039
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/php/details`
1040
+
1041
+ #### hosting_getPHPInfoV1
1042
+
1043
+ Returns the full phpinfo page (HTML) for the website.
1044
+
1045
+ Use it to debug PHP issues or inspect the complete PHP environment of the website.
1046
+
1047
+ - **Method**: `GET`
1048
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/php/php-info`
1049
+
1050
+ #### hosting_updatePHPExtensionsV1
1051
+
1052
+ Enables or disables PHP extensions (modules) for the website.
1053
+
1054
+ Use the Get PHP details endpoint to check the current extension states before changing them.
1055
+
1056
+ - **Method**: `PATCH`
1057
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/php/extensions`
1058
+
1059
+ #### hosting_updatePHPOptionsV1
1060
+
1061
+ Updates PHP options for the website (e.g. `memory_limit`, `max_execution_time`, `upload_max_filesize`).
1062
+ Only provide the options you want to change, inside the `options` object.
1063
+
1064
+ Values above the account plan limit are silently capped to that limit, so the request can succeed
1065
+ with a smaller applied value. Call the Get PHP details endpoint afterwards to read the applied value.
1066
+
1067
+ - **Method**: `PATCH`
1068
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/php/options`
1069
+
1070
+ #### hosting_updatePHPVersionV1
1071
+
1072
+ Changes the PHP version of the website.
1073
+
1074
+ Use the Get PHP details endpoint to see the versions available for the website.
1075
+
1076
+ - **Method**: `PATCH`
1077
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/php/version`
1078
+
1005
1079
  #### hosting_listWebsitesV1
1006
1080
 
1007
1081
  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.1.2",
3
+ "version": "1.2.1",
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.1.2",
3
+ "version": "1.2.1",
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.1.2",
9
+ "version": "1.2.1",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "hostinger-api-mcp",
14
- "version": "1.1.2",
14
+ "version": "1.2.1",
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.1.1
32
+ * Generated from OpenAPI spec version 1.2.1
33
33
  */
34
34
  class MCPServer {
35
35
  constructor({ name, version, tools }) {
@@ -47,7 +47,7 @@ const SECURITY_SCHEMES: Record<string, SecurityScheme> = {
47
47
 
48
48
  /**
49
49
  * MCP Server for Hostinger API
50
- * Generated from OpenAPI spec version 1.1.1
50
+ * Generated from OpenAPI spec version 1.2.1
51
51
  */
52
52
  class MCPServer {
53
53
  private readonly name: string;
@@ -1445,7 +1445,7 @@ export default [
1445
1445
  "group": "ecommerce"
1446
1446
  },
1447
1447
  {
1448
- "name": "ecommerce_createACustomSalesChannelV1",
1448
+ "name": "ecommerce_createCustomSalesChannelV1",
1449
1449
  "description": "Create a custom sales channel for a store. Build your own frontend and keep your catalog,\norders, shipping and payments in sync through the Ecommerce API.",
1450
1450
  "method": "POST",
1451
1451
  "path": "/api/ecommerce/v1/stores/{store_id}/sales-channels",
@@ -1485,6 +1485,43 @@ export default [
1485
1485
  ],
1486
1486
  "group": "ecommerce"
1487
1487
  },
1488
+ {
1489
+ "name": "ecommerce_updateSalesChannelV1",
1490
+ "description": "Update a custom sales channel. The merchant-facing `name` and the public `url`\n(returned as the channel `domain`) can be changed. Pass `null` to clear a value.",
1491
+ "method": "PATCH",
1492
+ "path": "/api/ecommerce/v1/stores/{store_id}/sales-channels/{sales_channel_id}",
1493
+ "inputSchema": {
1494
+ "type": "object",
1495
+ "properties": {
1496
+ "store_id": {
1497
+ "type": "string",
1498
+ "description": "The ID of the store that owns the sales channel."
1499
+ },
1500
+ "sales_channel_id": {
1501
+ "type": "string",
1502
+ "description": "The ID of the sales channel to update."
1503
+ },
1504
+ "name": {
1505
+ "type": "string",
1506
+ "description": "Merchant-facing custom name shown in the sales channels list. Pass null to clear it."
1507
+ },
1508
+ "url": {
1509
+ "type": "string",
1510
+ "description": "Public address where the custom sales channel lives. Pass null to clear it."
1511
+ }
1512
+ },
1513
+ "required": [
1514
+ "store_id",
1515
+ "sales_channel_id"
1516
+ ]
1517
+ },
1518
+ "security": [
1519
+ {
1520
+ "apiToken": []
1521
+ }
1522
+ ],
1523
+ "group": "ecommerce"
1524
+ },
1488
1525
  {
1489
1526
  "name": "ecommerce_setStoreShippingV1",
1490
1527
  "description": "Set the flat-rate shipping price for a store, creating the shipping zone if it does not exist yet.",
@@ -1615,6 +1652,30 @@ export default [
1615
1652
  ],
1616
1653
  "group": "ecommerce"
1617
1654
  },
1655
+ {
1656
+ "name": "ecommerce_getStoreMetadataV1",
1657
+ "description": "Get a store's readiness metadata: whether payment methods and shipping are configured,\nplus its default currency. Useful to verify prerequisites before building a storefront.",
1658
+ "method": "GET",
1659
+ "path": "/api/ecommerce/v1/stores/{store_id}/metadata",
1660
+ "inputSchema": {
1661
+ "type": "object",
1662
+ "properties": {
1663
+ "store_id": {
1664
+ "type": "string",
1665
+ "description": "The ID of the store to read metadata for."
1666
+ }
1667
+ },
1668
+ "required": [
1669
+ "store_id"
1670
+ ]
1671
+ },
1672
+ "security": [
1673
+ {
1674
+ "apiToken": []
1675
+ }
1676
+ ],
1677
+ "group": "ecommerce"
1678
+ },
1618
1679
  {
1619
1680
  "name": "horizons_createWebsiteV1",
1620
1681
  "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",
@@ -2593,6 +2654,207 @@ export default [
2593
2654
  ],
2594
2655
  "group": "hosting"
2595
2656
  },
2657
+ {
2658
+ "name": "hosting_resetPHPExtensionsV1",
2659
+ "description": "Resets all PHP extensions of the website to their default state.\n\nUse it to recover from extension conflicts or restore the original configuration.",
2660
+ "method": "PATCH",
2661
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/php/extensions/reset",
2662
+ "inputSchema": {
2663
+ "type": "object",
2664
+ "properties": {
2665
+ "username": {
2666
+ "type": "string",
2667
+ "description": "username parameter"
2668
+ },
2669
+ "domain": {
2670
+ "type": "string",
2671
+ "description": "Domain name"
2672
+ }
2673
+ },
2674
+ "required": [
2675
+ "username",
2676
+ "domain"
2677
+ ]
2678
+ },
2679
+ "security": [
2680
+ {
2681
+ "apiToken": []
2682
+ }
2683
+ ],
2684
+ "group": "hosting"
2685
+ },
2686
+ {
2687
+ "name": "hosting_getPHPDetailsV1",
2688
+ "description": "Returns the full PHP configuration for the website: current version, available versions\n(supported and unsupported), enabled/disabled extensions, options with their current value,\ndefault, type and the plan limit (`max`), and conflicting extension groups.\n\nUse it to check the current PHP setup before updating the version, extensions or options.",
2689
+ "method": "GET",
2690
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/php/details",
2691
+ "inputSchema": {
2692
+ "type": "object",
2693
+ "properties": {
2694
+ "username": {
2695
+ "type": "string",
2696
+ "description": "username parameter"
2697
+ },
2698
+ "domain": {
2699
+ "type": "string",
2700
+ "description": "Domain name"
2701
+ }
2702
+ },
2703
+ "required": [
2704
+ "username",
2705
+ "domain"
2706
+ ]
2707
+ },
2708
+ "security": [
2709
+ {
2710
+ "apiToken": []
2711
+ }
2712
+ ],
2713
+ "group": "hosting"
2714
+ },
2715
+ {
2716
+ "name": "hosting_getPHPInfoV1",
2717
+ "description": "Returns the full phpinfo page (HTML) for the website.\n\nUse it to debug PHP issues or inspect the complete PHP environment of the website.",
2718
+ "method": "GET",
2719
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/php/php-info",
2720
+ "inputSchema": {
2721
+ "type": "object",
2722
+ "properties": {
2723
+ "username": {
2724
+ "type": "string",
2725
+ "description": "username parameter"
2726
+ },
2727
+ "domain": {
2728
+ "type": "string",
2729
+ "description": "Domain name"
2730
+ }
2731
+ },
2732
+ "required": [
2733
+ "username",
2734
+ "domain"
2735
+ ]
2736
+ },
2737
+ "security": [
2738
+ {
2739
+ "apiToken": []
2740
+ }
2741
+ ],
2742
+ "group": "hosting"
2743
+ },
2744
+ {
2745
+ "name": "hosting_updatePHPExtensionsV1",
2746
+ "description": "Enables or disables PHP extensions (modules) for the website.\n\nUse the Get PHP details endpoint to check the current extension states before changing them.",
2747
+ "method": "PATCH",
2748
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/php/extensions",
2749
+ "inputSchema": {
2750
+ "type": "object",
2751
+ "properties": {
2752
+ "username": {
2753
+ "type": "string",
2754
+ "description": "username parameter"
2755
+ },
2756
+ "domain": {
2757
+ "type": "string",
2758
+ "description": "Domain name"
2759
+ },
2760
+ "enable": {
2761
+ "type": "array",
2762
+ "description": "PHP extensions to enable.",
2763
+ "items": {
2764
+ "type": "string",
2765
+ "description": "enable parameter"
2766
+ }
2767
+ },
2768
+ "disable": {
2769
+ "type": "array",
2770
+ "description": "PHP extensions to disable.",
2771
+ "items": {
2772
+ "type": "string",
2773
+ "description": "disable parameter"
2774
+ }
2775
+ }
2776
+ },
2777
+ "required": [
2778
+ "username",
2779
+ "domain"
2780
+ ]
2781
+ },
2782
+ "security": [
2783
+ {
2784
+ "apiToken": []
2785
+ }
2786
+ ],
2787
+ "group": "hosting"
2788
+ },
2789
+ {
2790
+ "name": "hosting_updatePHPOptionsV1",
2791
+ "description": "Updates PHP options for the website (e.g. `memory_limit`, `max_execution_time`, `upload_max_filesize`).\nOnly provide the options you want to change, inside the `options` object.\n\nValues above the account plan limit are silently capped to that limit, so the request can succeed\nwith a smaller applied value. Call the Get PHP details endpoint afterwards to read the applied value.",
2792
+ "method": "PATCH",
2793
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/php/options",
2794
+ "inputSchema": {
2795
+ "type": "object",
2796
+ "properties": {
2797
+ "username": {
2798
+ "type": "string",
2799
+ "description": "username parameter"
2800
+ },
2801
+ "domain": {
2802
+ "type": "string",
2803
+ "description": "Domain name"
2804
+ },
2805
+ "options": {
2806
+ "type": "object",
2807
+ "description": "Map of PHP options to update, keyed by option name. Only include options you want to change.",
2808
+ "properties": {}
2809
+ }
2810
+ },
2811
+ "required": [
2812
+ "username",
2813
+ "domain",
2814
+ "options"
2815
+ ]
2816
+ },
2817
+ "security": [
2818
+ {
2819
+ "apiToken": []
2820
+ }
2821
+ ],
2822
+ "group": "hosting"
2823
+ },
2824
+ {
2825
+ "name": "hosting_updatePHPVersionV1",
2826
+ "description": "Changes the PHP version of the website.\n\nUse the Get PHP details endpoint to see the versions available for the website.",
2827
+ "method": "PATCH",
2828
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/php/version",
2829
+ "inputSchema": {
2830
+ "type": "object",
2831
+ "properties": {
2832
+ "username": {
2833
+ "type": "string",
2834
+ "description": "username parameter"
2835
+ },
2836
+ "domain": {
2837
+ "type": "string",
2838
+ "description": "Domain name"
2839
+ },
2840
+ "version": {
2841
+ "type": "string",
2842
+ "description": "PHP version to switch the website to."
2843
+ }
2844
+ },
2845
+ "required": [
2846
+ "username",
2847
+ "domain",
2848
+ "version"
2849
+ ]
2850
+ },
2851
+ "security": [
2852
+ {
2853
+ "apiToken": []
2854
+ }
2855
+ ],
2856
+ "group": "hosting"
2857
+ },
2596
2858
  {
2597
2859
  "name": "hosting_listWebsitesV1",
2598
2860
  "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.",