hostinger-api-mcp 0.1.21 → 0.1.23

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
@@ -919,9 +919,66 @@ The contact will be automatically subscribed to email communications.
919
919
  - `email`: email parameter (required)
920
920
  - `name`: name parameter
921
921
  - `surname`: surname parameter
922
- - `group_uuids`: group_uuids parameter
923
922
  - `note`: note parameter
924
923
 
924
+ ### reach_filterSegmentContactsV1
925
+
926
+ Filter and retrieve contacts based on segmentation criteria.
927
+
928
+ This endpoint allows filtering contacts using specified conditions and returns a paginated list of matching contacts.
929
+ The results can be filtered using various attributes like email, name, subscription status, etc.
930
+
931
+ - **Method**: `POST`
932
+ - **Path**: `/api/reach/v1/segmentation/filters/contacts`
933
+
934
+ **Parameters**:
935
+
936
+ - `conditions`: conditions parameter (required)
937
+ - `logic`: logic parameter (required)
938
+ - `page`: page parameter
939
+ - `per_page`: per_page parameter
940
+
941
+ ### reach_listContactSegmentsV1
942
+
943
+ Get a list of all contact segments.
944
+
945
+ This endpoint returns a list of contact segments that can be used to organize contacts.
946
+
947
+ - **Method**: `GET`
948
+ - **Path**: `/api/reach/v1/segmentation/segments`
949
+
950
+
951
+
952
+ ### reach_createANewContactSegmentV1
953
+
954
+ Create a new contact segment.
955
+
956
+ This endpoint allows creating a new contact segment that can be used to organize contacts.
957
+ The segment can be configured with specific criteria like email, name, subscription status, etc.
958
+
959
+ - **Method**: `POST`
960
+ - **Path**: `/api/reach/v1/segmentation/segments`
961
+
962
+ **Parameters**:
963
+
964
+ - `name`: name parameter (required)
965
+ - `conditions`: conditions parameter (required)
966
+ - `logic`: logic parameter (required)
967
+
968
+ ### reach_getSegmentDetailsV1
969
+
970
+ Get details of a specific segment.
971
+
972
+ This endpoint retrieves information about a single segment identified by UUID.
973
+ Segments are used to organize and group contacts based on specific criteria.
974
+
975
+ - **Method**: `GET`
976
+ - **Path**: `/api/reach/v1/segmentation/segments/{segmentUuid}`
977
+
978
+ **Parameters**:
979
+
980
+ - `segmentUuid`: Segment uuid parameter (required)
981
+
925
982
  ### VPS_getDataCenterListV1
926
983
 
927
984
  Retrieve all available data centers.
@@ -1743,7 +1800,7 @@ Snapshots, if there are any, will be deleted.
1743
1800
  ## Password Requirements
1744
1801
  Password will be checked against leaked password databases.
1745
1802
  Requirements for the password are:
1746
- - At least 8 characters long
1803
+ - At least 12 characters long
1747
1804
  - At least one uppercase letter
1748
1805
  - At least one lowercase letter
1749
1806
  - At least one number
package/package.json CHANGED
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "0.1.21",
4
- "mcpName": "io.github.hostinger/hostinger-api-mcp",
3
+ "version": "0.1.23",
5
4
  "description": "MCP server for Hostinger API",
6
5
  "repository": {
7
6
  "type": "git",
package/server.js CHANGED
@@ -1619,21 +1619,261 @@ const TOOLS = [
1619
1619
  "type": "string",
1620
1620
  "description": "surname parameter"
1621
1621
  },
1622
- "group_uuids": {
1622
+ "note": {
1623
+ "type": "string",
1624
+ "description": "note parameter"
1625
+ }
1626
+ },
1627
+ "required": [
1628
+ "email"
1629
+ ]
1630
+ },
1631
+ "security": [
1632
+ {
1633
+ "apiToken": []
1634
+ }
1635
+ ]
1636
+ },
1637
+ {
1638
+ "name": "reach_filterSegmentContactsV1",
1639
+ "description": "Filter and retrieve contacts based on segmentation criteria.\n\nThis endpoint allows filtering contacts using specified conditions and returns a paginated list of matching contacts.\nThe results can be filtered using various attributes like email, name, subscription status, etc.",
1640
+ "method": "POST",
1641
+ "path": "/api/reach/v1/segmentation/filters/contacts",
1642
+ "inputSchema": {
1643
+ "type": "object",
1644
+ "properties": {
1645
+ "conditions": {
1623
1646
  "type": "array",
1624
- "description": "group_uuids parameter",
1647
+ "description": "conditions parameter",
1625
1648
  "items": {
1626
- "type": "string",
1627
- "description": "Group UUID"
1649
+ "type": "object",
1650
+ "description": "conditions parameter",
1651
+ "properties": {
1652
+ "operator": {
1653
+ "type": "string",
1654
+ "description": "operator parameter",
1655
+ "enum": [
1656
+ "equals",
1657
+ "not_equals",
1658
+ "contains",
1659
+ "not_contains",
1660
+ "gte",
1661
+ "lte",
1662
+ "exists",
1663
+ "within_last_days",
1664
+ "not_within_last_days",
1665
+ "older_than_days",
1666
+ "processed",
1667
+ "not_processed",
1668
+ "delivered",
1669
+ "not_delivered",
1670
+ "dropped",
1671
+ "not_dropped",
1672
+ "bounced",
1673
+ "not_bounced",
1674
+ "opened",
1675
+ "not_opened",
1676
+ "clicked",
1677
+ "not_clicked",
1678
+ "unsubscribed",
1679
+ "not_unsubscribed"
1680
+ ]
1681
+ },
1682
+ "value": {
1683
+ "type": "string",
1684
+ "description": "value parameter"
1685
+ },
1686
+ "attribute": {
1687
+ "type": "string",
1688
+ "description": "attribute parameter",
1689
+ "enum": [
1690
+ "note",
1691
+ "comment",
1692
+ "domain",
1693
+ "integration",
1694
+ "source",
1695
+ "name",
1696
+ "surname",
1697
+ "email",
1698
+ "subscribed_at",
1699
+ "unsubscribed_at",
1700
+ "subscription_status",
1701
+ "processed",
1702
+ "opened",
1703
+ "clicked",
1704
+ "delivered",
1705
+ "bounced",
1706
+ "unsubscribed",
1707
+ "dropped",
1708
+ "tag",
1709
+ "campaigns"
1710
+ ]
1711
+ }
1712
+ }
1628
1713
  }
1629
1714
  },
1630
- "note": {
1715
+ "logic": {
1631
1716
  "type": "string",
1632
- "description": "note parameter"
1717
+ "description": "logic parameter",
1718
+ "enum": [
1719
+ "AND",
1720
+ "OR"
1721
+ ]
1722
+ },
1723
+ "page": {
1724
+ "type": "integer",
1725
+ "description": "page parameter"
1726
+ },
1727
+ "per_page": {
1728
+ "type": "integer",
1729
+ "description": "per_page parameter"
1633
1730
  }
1634
1731
  },
1635
1732
  "required": [
1636
- "email"
1733
+ "conditions",
1734
+ "logic"
1735
+ ]
1736
+ },
1737
+ "security": [
1738
+ {
1739
+ "apiToken": []
1740
+ }
1741
+ ]
1742
+ },
1743
+ {
1744
+ "name": "reach_listContactSegmentsV1",
1745
+ "description": "Get a list of all contact segments.\n\nThis endpoint returns a list of contact segments that can be used to organize contacts.",
1746
+ "method": "GET",
1747
+ "path": "/api/reach/v1/segmentation/segments",
1748
+ "inputSchema": {
1749
+ "type": "object",
1750
+ "properties": {},
1751
+ "required": []
1752
+ },
1753
+ "security": [
1754
+ {
1755
+ "apiToken": []
1756
+ }
1757
+ ]
1758
+ },
1759
+ {
1760
+ "name": "reach_createANewContactSegmentV1",
1761
+ "description": "Create a new contact segment.\n\nThis endpoint allows creating a new contact segment that can be used to organize contacts.\nThe segment can be configured with specific criteria like email, name, subscription status, etc.",
1762
+ "method": "POST",
1763
+ "path": "/api/reach/v1/segmentation/segments",
1764
+ "inputSchema": {
1765
+ "type": "object",
1766
+ "properties": {
1767
+ "name": {
1768
+ "type": "string",
1769
+ "description": "name parameter"
1770
+ },
1771
+ "conditions": {
1772
+ "type": "array",
1773
+ "description": "conditions parameter",
1774
+ "items": {
1775
+ "type": "object",
1776
+ "description": "conditions parameter",
1777
+ "properties": {
1778
+ "operator": {
1779
+ "type": "string",
1780
+ "description": "operator parameter",
1781
+ "enum": [
1782
+ "equals",
1783
+ "not_equals",
1784
+ "contains",
1785
+ "not_contains",
1786
+ "gte",
1787
+ "lte",
1788
+ "exists",
1789
+ "within_last_days",
1790
+ "not_within_last_days",
1791
+ "older_than_days",
1792
+ "processed",
1793
+ "not_processed",
1794
+ "delivered",
1795
+ "not_delivered",
1796
+ "dropped",
1797
+ "not_dropped",
1798
+ "bounced",
1799
+ "not_bounced",
1800
+ "opened",
1801
+ "not_opened",
1802
+ "clicked",
1803
+ "not_clicked",
1804
+ "unsubscribed",
1805
+ "not_unsubscribed"
1806
+ ]
1807
+ },
1808
+ "value": {
1809
+ "type": "string",
1810
+ "description": "value parameter"
1811
+ },
1812
+ "attribute": {
1813
+ "type": "string",
1814
+ "description": "attribute parameter",
1815
+ "enum": [
1816
+ "note",
1817
+ "comment",
1818
+ "domain",
1819
+ "integration",
1820
+ "source",
1821
+ "name",
1822
+ "surname",
1823
+ "email",
1824
+ "subscribed_at",
1825
+ "unsubscribed_at",
1826
+ "subscription_status",
1827
+ "processed",
1828
+ "opened",
1829
+ "clicked",
1830
+ "delivered",
1831
+ "bounced",
1832
+ "unsubscribed",
1833
+ "dropped",
1834
+ "tag",
1835
+ "campaigns"
1836
+ ]
1837
+ }
1838
+ }
1839
+ }
1840
+ },
1841
+ "logic": {
1842
+ "type": "string",
1843
+ "description": "logic parameter",
1844
+ "enum": [
1845
+ "AND",
1846
+ "OR"
1847
+ ]
1848
+ }
1849
+ },
1850
+ "required": [
1851
+ "name",
1852
+ "conditions",
1853
+ "logic"
1854
+ ]
1855
+ },
1856
+ "security": [
1857
+ {
1858
+ "apiToken": []
1859
+ }
1860
+ ]
1861
+ },
1862
+ {
1863
+ "name": "reach_getSegmentDetailsV1",
1864
+ "description": "Get details of a specific segment.\n\nThis endpoint retrieves information about a single segment identified by UUID.\nSegments are used to organize and group contacts based on specific criteria.",
1865
+ "method": "GET",
1866
+ "path": "/api/reach/v1/segmentation/segments/{segmentUuid}",
1867
+ "inputSchema": {
1868
+ "type": "object",
1869
+ "properties": {
1870
+ "segmentUuid": {
1871
+ "type": "string",
1872
+ "description": "Segment uuid parameter"
1873
+ }
1874
+ },
1875
+ "required": [
1876
+ "segmentUuid"
1637
1877
  ]
1638
1878
  },
1639
1879
  "security": [
@@ -3091,7 +3331,7 @@ const TOOLS = [
3091
3331
  },
3092
3332
  {
3093
3333
  "name": "VPS_recreateVirtualMachineV1",
3094
- "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 8 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.",
3334
+ "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.",
3095
3335
  "method": "POST",
3096
3336
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/recreate",
3097
3337
  "inputSchema": {
@@ -3404,7 +3644,7 @@ const SECURITY_SCHEMES = {
3404
3644
 
3405
3645
  /**
3406
3646
  * MCP Server for Hostinger API
3407
- * Generated from OpenAPI spec version 0.9.0
3647
+ * Generated from OpenAPI spec version 0.10.0
3408
3648
  */
3409
3649
  class MCPServer {
3410
3650
  constructor() {
@@ -3422,7 +3662,7 @@ class MCPServer {
3422
3662
  this.server = new Server(
3423
3663
  {
3424
3664
  name: "hostinger-api-mcp",
3425
- version: "0.1.21",
3665
+ version: "0.1.23",
3426
3666
  },
3427
3667
  {
3428
3668
  capabilities: {
@@ -3447,7 +3687,7 @@ class MCPServer {
3447
3687
  });
3448
3688
  }
3449
3689
 
3450
- headers['User-Agent'] = 'hostinger-mcp-server/0.1.21';
3690
+ headers['User-Agent'] = 'hostinger-mcp-server/0.1.23';
3451
3691
 
3452
3692
  return headers;
3453
3693
  }
@@ -4639,8 +4879,6 @@ class MCPServer {
4639
4879
  const buildData = {
4640
4880
  ...buildSettings,
4641
4881
  node_version: buildSettings?.node_version || 20,
4642
- output_directory: buildSettings?.output_directory || 'dist',
4643
- build_script: buildSettings?.build_script || 'build',
4644
4882
  source_type: 'archive',
4645
4883
  source_options: {
4646
4884
  archive_path: archiveBasename
package/server.ts CHANGED
@@ -1637,21 +1637,261 @@ const TOOLS: OpenApiTool[] = [
1637
1637
  "type": "string",
1638
1638
  "description": "surname parameter"
1639
1639
  },
1640
- "group_uuids": {
1640
+ "note": {
1641
+ "type": "string",
1642
+ "description": "note parameter"
1643
+ }
1644
+ },
1645
+ "required": [
1646
+ "email"
1647
+ ]
1648
+ },
1649
+ "security": [
1650
+ {
1651
+ "apiToken": []
1652
+ }
1653
+ ]
1654
+ },
1655
+ {
1656
+ "name": "reach_filterSegmentContactsV1",
1657
+ "description": "Filter and retrieve contacts based on segmentation criteria.\n\nThis endpoint allows filtering contacts using specified conditions and returns a paginated list of matching contacts.\nThe results can be filtered using various attributes like email, name, subscription status, etc.",
1658
+ "method": "POST",
1659
+ "path": "/api/reach/v1/segmentation/filters/contacts",
1660
+ "inputSchema": {
1661
+ "type": "object",
1662
+ "properties": {
1663
+ "conditions": {
1641
1664
  "type": "array",
1642
- "description": "group_uuids parameter",
1665
+ "description": "conditions parameter",
1643
1666
  "items": {
1644
- "type": "string",
1645
- "description": "Group UUID"
1667
+ "type": "object",
1668
+ "description": "conditions parameter",
1669
+ "properties": {
1670
+ "operator": {
1671
+ "type": "string",
1672
+ "description": "operator parameter",
1673
+ "enum": [
1674
+ "equals",
1675
+ "not_equals",
1676
+ "contains",
1677
+ "not_contains",
1678
+ "gte",
1679
+ "lte",
1680
+ "exists",
1681
+ "within_last_days",
1682
+ "not_within_last_days",
1683
+ "older_than_days",
1684
+ "processed",
1685
+ "not_processed",
1686
+ "delivered",
1687
+ "not_delivered",
1688
+ "dropped",
1689
+ "not_dropped",
1690
+ "bounced",
1691
+ "not_bounced",
1692
+ "opened",
1693
+ "not_opened",
1694
+ "clicked",
1695
+ "not_clicked",
1696
+ "unsubscribed",
1697
+ "not_unsubscribed"
1698
+ ]
1699
+ },
1700
+ "value": {
1701
+ "type": "string",
1702
+ "description": "value parameter"
1703
+ },
1704
+ "attribute": {
1705
+ "type": "string",
1706
+ "description": "attribute parameter",
1707
+ "enum": [
1708
+ "note",
1709
+ "comment",
1710
+ "domain",
1711
+ "integration",
1712
+ "source",
1713
+ "name",
1714
+ "surname",
1715
+ "email",
1716
+ "subscribed_at",
1717
+ "unsubscribed_at",
1718
+ "subscription_status",
1719
+ "processed",
1720
+ "opened",
1721
+ "clicked",
1722
+ "delivered",
1723
+ "bounced",
1724
+ "unsubscribed",
1725
+ "dropped",
1726
+ "tag",
1727
+ "campaigns"
1728
+ ]
1729
+ }
1730
+ }
1646
1731
  }
1647
1732
  },
1648
- "note": {
1733
+ "logic": {
1649
1734
  "type": "string",
1650
- "description": "note parameter"
1735
+ "description": "logic parameter",
1736
+ "enum": [
1737
+ "AND",
1738
+ "OR"
1739
+ ]
1740
+ },
1741
+ "page": {
1742
+ "type": "integer",
1743
+ "description": "page parameter"
1744
+ },
1745
+ "per_page": {
1746
+ "type": "integer",
1747
+ "description": "per_page parameter"
1651
1748
  }
1652
1749
  },
1653
1750
  "required": [
1654
- "email"
1751
+ "conditions",
1752
+ "logic"
1753
+ ]
1754
+ },
1755
+ "security": [
1756
+ {
1757
+ "apiToken": []
1758
+ }
1759
+ ]
1760
+ },
1761
+ {
1762
+ "name": "reach_listContactSegmentsV1",
1763
+ "description": "Get a list of all contact segments.\n\nThis endpoint returns a list of contact segments that can be used to organize contacts.",
1764
+ "method": "GET",
1765
+ "path": "/api/reach/v1/segmentation/segments",
1766
+ "inputSchema": {
1767
+ "type": "object",
1768
+ "properties": {},
1769
+ "required": []
1770
+ },
1771
+ "security": [
1772
+ {
1773
+ "apiToken": []
1774
+ }
1775
+ ]
1776
+ },
1777
+ {
1778
+ "name": "reach_createANewContactSegmentV1",
1779
+ "description": "Create a new contact segment.\n\nThis endpoint allows creating a new contact segment that can be used to organize contacts.\nThe segment can be configured with specific criteria like email, name, subscription status, etc.",
1780
+ "method": "POST",
1781
+ "path": "/api/reach/v1/segmentation/segments",
1782
+ "inputSchema": {
1783
+ "type": "object",
1784
+ "properties": {
1785
+ "name": {
1786
+ "type": "string",
1787
+ "description": "name parameter"
1788
+ },
1789
+ "conditions": {
1790
+ "type": "array",
1791
+ "description": "conditions parameter",
1792
+ "items": {
1793
+ "type": "object",
1794
+ "description": "conditions parameter",
1795
+ "properties": {
1796
+ "operator": {
1797
+ "type": "string",
1798
+ "description": "operator parameter",
1799
+ "enum": [
1800
+ "equals",
1801
+ "not_equals",
1802
+ "contains",
1803
+ "not_contains",
1804
+ "gte",
1805
+ "lte",
1806
+ "exists",
1807
+ "within_last_days",
1808
+ "not_within_last_days",
1809
+ "older_than_days",
1810
+ "processed",
1811
+ "not_processed",
1812
+ "delivered",
1813
+ "not_delivered",
1814
+ "dropped",
1815
+ "not_dropped",
1816
+ "bounced",
1817
+ "not_bounced",
1818
+ "opened",
1819
+ "not_opened",
1820
+ "clicked",
1821
+ "not_clicked",
1822
+ "unsubscribed",
1823
+ "not_unsubscribed"
1824
+ ]
1825
+ },
1826
+ "value": {
1827
+ "type": "string",
1828
+ "description": "value parameter"
1829
+ },
1830
+ "attribute": {
1831
+ "type": "string",
1832
+ "description": "attribute parameter",
1833
+ "enum": [
1834
+ "note",
1835
+ "comment",
1836
+ "domain",
1837
+ "integration",
1838
+ "source",
1839
+ "name",
1840
+ "surname",
1841
+ "email",
1842
+ "subscribed_at",
1843
+ "unsubscribed_at",
1844
+ "subscription_status",
1845
+ "processed",
1846
+ "opened",
1847
+ "clicked",
1848
+ "delivered",
1849
+ "bounced",
1850
+ "unsubscribed",
1851
+ "dropped",
1852
+ "tag",
1853
+ "campaigns"
1854
+ ]
1855
+ }
1856
+ }
1857
+ }
1858
+ },
1859
+ "logic": {
1860
+ "type": "string",
1861
+ "description": "logic parameter",
1862
+ "enum": [
1863
+ "AND",
1864
+ "OR"
1865
+ ]
1866
+ }
1867
+ },
1868
+ "required": [
1869
+ "name",
1870
+ "conditions",
1871
+ "logic"
1872
+ ]
1873
+ },
1874
+ "security": [
1875
+ {
1876
+ "apiToken": []
1877
+ }
1878
+ ]
1879
+ },
1880
+ {
1881
+ "name": "reach_getSegmentDetailsV1",
1882
+ "description": "Get details of a specific segment.\n\nThis endpoint retrieves information about a single segment identified by UUID.\nSegments are used to organize and group contacts based on specific criteria.",
1883
+ "method": "GET",
1884
+ "path": "/api/reach/v1/segmentation/segments/{segmentUuid}",
1885
+ "inputSchema": {
1886
+ "type": "object",
1887
+ "properties": {
1888
+ "segmentUuid": {
1889
+ "type": "string",
1890
+ "description": "Segment uuid parameter"
1891
+ }
1892
+ },
1893
+ "required": [
1894
+ "segmentUuid"
1655
1895
  ]
1656
1896
  },
1657
1897
  "security": [
@@ -3109,7 +3349,7 @@ const TOOLS: OpenApiTool[] = [
3109
3349
  },
3110
3350
  {
3111
3351
  "name": "VPS_recreateVirtualMachineV1",
3112
- "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 8 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.",
3352
+ "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.",
3113
3353
  "method": "POST",
3114
3354
  "path": "/api/vps/v1/virtual-machines/{virtualMachineId}/recreate",
3115
3355
  "inputSchema": {
@@ -3422,7 +3662,7 @@ const SECURITY_SCHEMES: Record<string, SecurityScheme> = {
3422
3662
 
3423
3663
  /**
3424
3664
  * MCP Server for Hostinger API
3425
- * Generated from OpenAPI spec version 0.9.0
3665
+ * Generated from OpenAPI spec version 0.10.0
3426
3666
  */
3427
3667
  class MCPServer {
3428
3668
  private server: Server;
@@ -3444,7 +3684,7 @@ class MCPServer {
3444
3684
  this.server = new Server(
3445
3685
  {
3446
3686
  name: "hostinger-api-mcp",
3447
- version: "0.1.21",
3687
+ version: "0.1.23",
3448
3688
  },
3449
3689
  {
3450
3690
  capabilities: {
@@ -3469,7 +3709,7 @@ class MCPServer {
3469
3709
  });
3470
3710
  }
3471
3711
 
3472
- headers['User-Agent'] = 'hostinger-mcp-server/0.1.21';
3712
+ headers['User-Agent'] = 'hostinger-mcp-server/0.1.23';
3473
3713
 
3474
3714
  return headers;
3475
3715
  }
@@ -4666,8 +4906,6 @@ class MCPServer {
4666
4906
  const buildData = {
4667
4907
  ...buildSettings,
4668
4908
  node_version: buildSettings?.node_version || 20,
4669
- output_directory: buildSettings?.output_directory || 'dist',
4670
- build_script: buildSettings?.build_script || 'build',
4671
4909
  source_type: 'archive',
4672
4910
  source_options: {
4673
4911
  archive_path: archiveBasename
package/types.d.ts CHANGED
@@ -1051,10 +1051,6 @@ The contact will be automatically subscribed to email communications.
1051
1051
  * surname parameter
1052
1052
  */
1053
1053
  surname?: string;
1054
- /**
1055
- * group_uuids parameter
1056
- */
1057
- group_uuids?: array;
1058
1054
  /**
1059
1055
  * note parameter
1060
1056
  */
@@ -1063,6 +1059,86 @@ The contact will be automatically subscribed to email communications.
1063
1059
  response: any; // Response structure will depend on the API
1064
1060
  };
1065
1061
 
1062
+ /**
1063
+ * Filter and retrieve contacts based on segmentation criteria.
1064
+
1065
+ This endpoint allows filtering contacts using specified conditions and returns a paginated list of matching contacts.
1066
+ The results can be filtered using various attributes like email, name, subscription status, etc.
1067
+ */
1068
+ "reach_filterSegmentContactsV1": {
1069
+ params: {
1070
+ /**
1071
+ * conditions parameter
1072
+ */
1073
+ conditions: array;
1074
+ /**
1075
+ * logic parameter
1076
+ */
1077
+ logic: string;
1078
+ /**
1079
+ * page parameter
1080
+ */
1081
+ page?: number;
1082
+ /**
1083
+ * per_page parameter
1084
+ */
1085
+ per_page?: number;
1086
+ };
1087
+ response: any; // Response structure will depend on the API
1088
+ };
1089
+
1090
+ /**
1091
+ * Get a list of all contact segments.
1092
+
1093
+ This endpoint returns a list of contact segments that can be used to organize contacts.
1094
+ */
1095
+ "reach_listContactSegmentsV1": {
1096
+ params: {
1097
+
1098
+ };
1099
+ response: any; // Response structure will depend on the API
1100
+ };
1101
+
1102
+ /**
1103
+ * Create a new contact segment.
1104
+
1105
+ This endpoint allows creating a new contact segment that can be used to organize contacts.
1106
+ The segment can be configured with specific criteria like email, name, subscription status, etc.
1107
+ */
1108
+ "reach_createANewContactSegmentV1": {
1109
+ params: {
1110
+ /**
1111
+ * name parameter
1112
+ */
1113
+ name: string;
1114
+ /**
1115
+ * conditions parameter
1116
+ */
1117
+ conditions: array;
1118
+ /**
1119
+ * logic parameter
1120
+ */
1121
+ logic: string;
1122
+ };
1123
+ response: any; // Response structure will depend on the API
1124
+ };
1125
+
1126
+ /**
1127
+ * Get details of a specific segment.
1128
+
1129
+ This endpoint retrieves information about a single segment identified by UUID.
1130
+ Segments are used to organize and group contacts based on specific criteria.
1131
+ */
1132
+ "reach_getSegmentDetailsV1": {
1133
+ params: {
1134
+ /**
1135
+ * Segment uuid parameter
1136
+ */
1137
+ segmentUuid: string;
1138
+ };
1139
+ response: any; // Response structure will depend on the API
1140
+ };
1141
+
1066
1142
  /**
1067
1143
  * Retrieve all available data centers.
1068
1144
 
@@ -2128,7 +2204,7 @@ Snapshots, if there are any, will be deleted.
2128
2204
  ## Password Requirements
2129
2205
  Password will be checked against leaked password databases.
2130
2206
  Requirements for the password are:
2131
- - At least 8 characters long
2207
+ - At least 12 characters long
2132
2208
  - At least one uppercase letter
2133
2209
  - At least one lowercase letter
2134
2210
  - At least one number
package/server.json DELETED
@@ -1,29 +0,0 @@
1
- {
2
- "$schema": "https://static.modelcontextprotocol.io/schemas/2025-10-17/server.schema.json",
3
- "name": "io.github.hostinger/hostinger-api-mcp",
4
- "description": "MCP server for Hostinger API",
5
- "repository": {
6
- "url": "https://github.com/hostinger/api-mcp-server",
7
- "source": "github"
8
- },
9
- "version": "0.1.21",
10
- "packages": [
11
- {
12
- "registryType": "npm",
13
- "identifier": "hostinger-api-mcp",
14
- "version": "0.1.21",
15
- "transport": {
16
- "type": "stdio"
17
- },
18
- "environmentVariables": [
19
- {
20
- "name": "API_TOKEN",
21
- "description": "Hostinger API token",
22
- "isRequired": true,
23
- "isSecret": true,
24
- "format": "string"
25
- }
26
- ]
27
- }
28
- ]
29
- }