hostinger-api-mcp 0.1.22 → 0.1.24
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 +59 -3
- package/package.json +1 -1
- package/server.js +177 -14
- package/server.ts +177 -14
- package/types.d.ts +78 -6
package/README.md
CHANGED
|
@@ -919,9 +919,65 @@ 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_listSegmentsV1
|
|
925
|
+
|
|
926
|
+
Get a list of all contact segments.
|
|
927
|
+
|
|
928
|
+
This endpoint returns a list of contact segments that can be used to organize contacts.
|
|
929
|
+
|
|
930
|
+
- **Method**: `GET`
|
|
931
|
+
- **Path**: `/api/reach/v1/segmentation/segments`
|
|
932
|
+
|
|
933
|
+
|
|
934
|
+
|
|
935
|
+
### reach_createANewContactSegmentV1
|
|
936
|
+
|
|
937
|
+
Create a new contact segment.
|
|
938
|
+
|
|
939
|
+
This endpoint allows creating a new contact segment that can be used to organize contacts.
|
|
940
|
+
The segment can be configured with specific criteria like email, name, subscription status, etc.
|
|
941
|
+
|
|
942
|
+
- **Method**: `POST`
|
|
943
|
+
- **Path**: `/api/reach/v1/segmentation/segments`
|
|
944
|
+
|
|
945
|
+
**Parameters**:
|
|
946
|
+
|
|
947
|
+
- `name`: name parameter (required)
|
|
948
|
+
- `conditions`: conditions parameter (required)
|
|
949
|
+
- `logic`: logic parameter (required)
|
|
950
|
+
|
|
951
|
+
### reach_listSegmentContactsV1
|
|
952
|
+
|
|
953
|
+
Retrieve contacts associated with a specific segment.
|
|
954
|
+
|
|
955
|
+
This endpoint allows you to fetch and filter contacts that belong to a particular segment,
|
|
956
|
+
identified by its UUID.
|
|
957
|
+
|
|
958
|
+
- **Method**: `GET`
|
|
959
|
+
- **Path**: `/api/reach/v1/segmentation/segments/{segmentUuid}/contacts`
|
|
960
|
+
|
|
961
|
+
**Parameters**:
|
|
962
|
+
|
|
963
|
+
- `segmentUuid`: Segment uuid parameter (required)
|
|
964
|
+
- `page`: Page number
|
|
965
|
+
- `per_page`: Number of items per page
|
|
966
|
+
|
|
967
|
+
### reach_getSegmentDetailsV1
|
|
968
|
+
|
|
969
|
+
Get details of a specific segment.
|
|
970
|
+
|
|
971
|
+
This endpoint retrieves information about a single segment identified by UUID.
|
|
972
|
+
Segments are used to organize and group contacts based on specific criteria.
|
|
973
|
+
|
|
974
|
+
- **Method**: `GET`
|
|
975
|
+
- **Path**: `/api/reach/v1/segmentation/segments/{segmentUuid}`
|
|
976
|
+
|
|
977
|
+
**Parameters**:
|
|
978
|
+
|
|
979
|
+
- `segmentUuid`: Segment uuid parameter (required)
|
|
980
|
+
|
|
925
981
|
### VPS_getDataCenterListV1
|
|
926
982
|
|
|
927
983
|
Retrieve all available data centers.
|
|
@@ -1550,7 +1606,7 @@ If virtual machine setup fails for any reason, login to [hPanel](https://hpanel.
|
|
|
1550
1606
|
|
|
1551
1607
|
If no payment method is provided, your default payment method will be used automatically.
|
|
1552
1608
|
|
|
1553
|
-
Use this endpoint to create new VPS instances.
|
|
1609
|
+
Use this endpoint to create new VPS instances.
|
|
1554
1610
|
|
|
1555
1611
|
- **Method**: `POST`
|
|
1556
1612
|
- **Path**: `/api/vps/v1/virtual-machines`
|
|
@@ -1743,7 +1799,7 @@ Snapshots, if there are any, will be deleted.
|
|
|
1743
1799
|
## Password Requirements
|
|
1744
1800
|
Password will be checked against leaked password databases.
|
|
1745
1801
|
Requirements for the password are:
|
|
1746
|
-
- At least
|
|
1802
|
+
- At least 12 characters long
|
|
1747
1803
|
- At least one uppercase letter
|
|
1748
1804
|
- At least one lowercase letter
|
|
1749
1805
|
- At least one number
|
package/package.json
CHANGED
package/server.js
CHANGED
|
@@ -1619,21 +1619,186 @@ const TOOLS = [
|
|
|
1619
1619
|
"type": "string",
|
|
1620
1620
|
"description": "surname parameter"
|
|
1621
1621
|
},
|
|
1622
|
-
"
|
|
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_listSegmentsV1",
|
|
1639
|
+
"description": "Get a list of all contact segments.\n\nThis endpoint returns a list of contact segments that can be used to organize contacts.",
|
|
1640
|
+
"method": "GET",
|
|
1641
|
+
"path": "/api/reach/v1/segmentation/segments",
|
|
1642
|
+
"inputSchema": {
|
|
1643
|
+
"type": "object",
|
|
1644
|
+
"properties": {},
|
|
1645
|
+
"required": []
|
|
1646
|
+
},
|
|
1647
|
+
"security": [
|
|
1648
|
+
{
|
|
1649
|
+
"apiToken": []
|
|
1650
|
+
}
|
|
1651
|
+
]
|
|
1652
|
+
},
|
|
1653
|
+
{
|
|
1654
|
+
"name": "reach_createANewContactSegmentV1",
|
|
1655
|
+
"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.",
|
|
1656
|
+
"method": "POST",
|
|
1657
|
+
"path": "/api/reach/v1/segmentation/segments",
|
|
1658
|
+
"inputSchema": {
|
|
1659
|
+
"type": "object",
|
|
1660
|
+
"properties": {
|
|
1661
|
+
"name": {
|
|
1662
|
+
"type": "string",
|
|
1663
|
+
"description": "name parameter"
|
|
1664
|
+
},
|
|
1665
|
+
"conditions": {
|
|
1623
1666
|
"type": "array",
|
|
1624
|
-
"description": "
|
|
1667
|
+
"description": "conditions parameter",
|
|
1625
1668
|
"items": {
|
|
1626
|
-
"type": "
|
|
1627
|
-
"description": "
|
|
1669
|
+
"type": "object",
|
|
1670
|
+
"description": "conditions parameter",
|
|
1671
|
+
"properties": {
|
|
1672
|
+
"operator": {
|
|
1673
|
+
"type": "string",
|
|
1674
|
+
"description": "operator parameter",
|
|
1675
|
+
"enum": [
|
|
1676
|
+
"equals",
|
|
1677
|
+
"not_equals",
|
|
1678
|
+
"contains",
|
|
1679
|
+
"not_contains",
|
|
1680
|
+
"gte",
|
|
1681
|
+
"lte",
|
|
1682
|
+
"exists",
|
|
1683
|
+
"within_last_days",
|
|
1684
|
+
"not_within_last_days",
|
|
1685
|
+
"older_than_days",
|
|
1686
|
+
"processed",
|
|
1687
|
+
"not_processed",
|
|
1688
|
+
"delivered",
|
|
1689
|
+
"not_delivered",
|
|
1690
|
+
"dropped",
|
|
1691
|
+
"not_dropped",
|
|
1692
|
+
"bounced",
|
|
1693
|
+
"not_bounced",
|
|
1694
|
+
"opened",
|
|
1695
|
+
"not_opened",
|
|
1696
|
+
"clicked",
|
|
1697
|
+
"not_clicked",
|
|
1698
|
+
"unsubscribed",
|
|
1699
|
+
"not_unsubscribed"
|
|
1700
|
+
]
|
|
1701
|
+
},
|
|
1702
|
+
"value": {
|
|
1703
|
+
"type": "string",
|
|
1704
|
+
"description": "value parameter"
|
|
1705
|
+
},
|
|
1706
|
+
"attribute": {
|
|
1707
|
+
"type": "string",
|
|
1708
|
+
"description": "attribute parameter",
|
|
1709
|
+
"enum": [
|
|
1710
|
+
"note",
|
|
1711
|
+
"comment",
|
|
1712
|
+
"domain",
|
|
1713
|
+
"integration",
|
|
1714
|
+
"source",
|
|
1715
|
+
"name",
|
|
1716
|
+
"surname",
|
|
1717
|
+
"email",
|
|
1718
|
+
"subscribed_at",
|
|
1719
|
+
"unsubscribed_at",
|
|
1720
|
+
"subscription_status",
|
|
1721
|
+
"processed",
|
|
1722
|
+
"opened",
|
|
1723
|
+
"clicked",
|
|
1724
|
+
"delivered",
|
|
1725
|
+
"bounced",
|
|
1726
|
+
"unsubscribed",
|
|
1727
|
+
"dropped",
|
|
1728
|
+
"tag",
|
|
1729
|
+
"campaigns"
|
|
1730
|
+
]
|
|
1731
|
+
}
|
|
1732
|
+
}
|
|
1628
1733
|
}
|
|
1629
1734
|
},
|
|
1630
|
-
"
|
|
1735
|
+
"logic": {
|
|
1631
1736
|
"type": "string",
|
|
1632
|
-
"description": "
|
|
1737
|
+
"description": "logic parameter",
|
|
1738
|
+
"enum": [
|
|
1739
|
+
"AND",
|
|
1740
|
+
"OR"
|
|
1741
|
+
]
|
|
1633
1742
|
}
|
|
1634
1743
|
},
|
|
1635
1744
|
"required": [
|
|
1636
|
-
"
|
|
1745
|
+
"name",
|
|
1746
|
+
"conditions",
|
|
1747
|
+
"logic"
|
|
1748
|
+
]
|
|
1749
|
+
},
|
|
1750
|
+
"security": [
|
|
1751
|
+
{
|
|
1752
|
+
"apiToken": []
|
|
1753
|
+
}
|
|
1754
|
+
]
|
|
1755
|
+
},
|
|
1756
|
+
{
|
|
1757
|
+
"name": "reach_listSegmentContactsV1",
|
|
1758
|
+
"description": "Retrieve contacts associated with a specific segment.\n\nThis endpoint allows you to fetch and filter contacts that belong to a particular segment,\nidentified by its UUID.",
|
|
1759
|
+
"method": "GET",
|
|
1760
|
+
"path": "/api/reach/v1/segmentation/segments/{segmentUuid}/contacts",
|
|
1761
|
+
"inputSchema": {
|
|
1762
|
+
"type": "object",
|
|
1763
|
+
"properties": {
|
|
1764
|
+
"segmentUuid": {
|
|
1765
|
+
"type": "string",
|
|
1766
|
+
"description": "Segment uuid parameter"
|
|
1767
|
+
},
|
|
1768
|
+
"page": {
|
|
1769
|
+
"type": "integer",
|
|
1770
|
+
"description": "Page number"
|
|
1771
|
+
},
|
|
1772
|
+
"per_page": {
|
|
1773
|
+
"type": "integer",
|
|
1774
|
+
"description": "Number of items per page"
|
|
1775
|
+
}
|
|
1776
|
+
},
|
|
1777
|
+
"required": [
|
|
1778
|
+
"segmentUuid"
|
|
1779
|
+
]
|
|
1780
|
+
},
|
|
1781
|
+
"security": [
|
|
1782
|
+
{
|
|
1783
|
+
"apiToken": []
|
|
1784
|
+
}
|
|
1785
|
+
]
|
|
1786
|
+
},
|
|
1787
|
+
{
|
|
1788
|
+
"name": "reach_getSegmentDetailsV1",
|
|
1789
|
+
"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.",
|
|
1790
|
+
"method": "GET",
|
|
1791
|
+
"path": "/api/reach/v1/segmentation/segments/{segmentUuid}",
|
|
1792
|
+
"inputSchema": {
|
|
1793
|
+
"type": "object",
|
|
1794
|
+
"properties": {
|
|
1795
|
+
"segmentUuid": {
|
|
1796
|
+
"type": "string",
|
|
1797
|
+
"description": "Segment uuid parameter"
|
|
1798
|
+
}
|
|
1799
|
+
},
|
|
1800
|
+
"required": [
|
|
1801
|
+
"segmentUuid"
|
|
1637
1802
|
]
|
|
1638
1803
|
},
|
|
1639
1804
|
"security": [
|
|
@@ -2773,7 +2938,7 @@ const TOOLS = [
|
|
|
2773
2938
|
},
|
|
2774
2939
|
{
|
|
2775
2940
|
"name": "VPS_purchaseNewVirtualMachineV1",
|
|
2776
|
-
"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.
|
|
2941
|
+
"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.",
|
|
2777
2942
|
"method": "POST",
|
|
2778
2943
|
"path": "/api/vps/v1/virtual-machines",
|
|
2779
2944
|
"inputSchema": {
|
|
@@ -3091,7 +3256,7 @@ const TOOLS = [
|
|
|
3091
3256
|
},
|
|
3092
3257
|
{
|
|
3093
3258
|
"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
|
|
3259
|
+
"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
3260
|
"method": "POST",
|
|
3096
3261
|
"path": "/api/vps/v1/virtual-machines/{virtualMachineId}/recreate",
|
|
3097
3262
|
"inputSchema": {
|
|
@@ -3404,7 +3569,7 @@ const SECURITY_SCHEMES = {
|
|
|
3404
3569
|
|
|
3405
3570
|
/**
|
|
3406
3571
|
* MCP Server for Hostinger API
|
|
3407
|
-
* Generated from OpenAPI spec version 0.10.
|
|
3572
|
+
* Generated from OpenAPI spec version 0.10.2
|
|
3408
3573
|
*/
|
|
3409
3574
|
class MCPServer {
|
|
3410
3575
|
constructor() {
|
|
@@ -3422,7 +3587,7 @@ class MCPServer {
|
|
|
3422
3587
|
this.server = new Server(
|
|
3423
3588
|
{
|
|
3424
3589
|
name: "hostinger-api-mcp",
|
|
3425
|
-
version: "0.1.
|
|
3590
|
+
version: "0.1.24",
|
|
3426
3591
|
},
|
|
3427
3592
|
{
|
|
3428
3593
|
capabilities: {
|
|
@@ -3447,7 +3612,7 @@ class MCPServer {
|
|
|
3447
3612
|
});
|
|
3448
3613
|
}
|
|
3449
3614
|
|
|
3450
|
-
headers['User-Agent'] = 'hostinger-mcp-server/0.1.
|
|
3615
|
+
headers['User-Agent'] = 'hostinger-mcp-server/0.1.24';
|
|
3451
3616
|
|
|
3452
3617
|
return headers;
|
|
3453
3618
|
}
|
|
@@ -4639,8 +4804,6 @@ class MCPServer {
|
|
|
4639
4804
|
const buildData = {
|
|
4640
4805
|
...buildSettings,
|
|
4641
4806
|
node_version: buildSettings?.node_version || 20,
|
|
4642
|
-
output_directory: buildSettings?.output_directory || 'dist',
|
|
4643
|
-
build_script: buildSettings?.build_script || 'build',
|
|
4644
4807
|
source_type: 'archive',
|
|
4645
4808
|
source_options: {
|
|
4646
4809
|
archive_path: archiveBasename
|
package/server.ts
CHANGED
|
@@ -1637,21 +1637,186 @@ const TOOLS: OpenApiTool[] = [
|
|
|
1637
1637
|
"type": "string",
|
|
1638
1638
|
"description": "surname parameter"
|
|
1639
1639
|
},
|
|
1640
|
-
"
|
|
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_listSegmentsV1",
|
|
1657
|
+
"description": "Get a list of all contact segments.\n\nThis endpoint returns a list of contact segments that can be used to organize contacts.",
|
|
1658
|
+
"method": "GET",
|
|
1659
|
+
"path": "/api/reach/v1/segmentation/segments",
|
|
1660
|
+
"inputSchema": {
|
|
1661
|
+
"type": "object",
|
|
1662
|
+
"properties": {},
|
|
1663
|
+
"required": []
|
|
1664
|
+
},
|
|
1665
|
+
"security": [
|
|
1666
|
+
{
|
|
1667
|
+
"apiToken": []
|
|
1668
|
+
}
|
|
1669
|
+
]
|
|
1670
|
+
},
|
|
1671
|
+
{
|
|
1672
|
+
"name": "reach_createANewContactSegmentV1",
|
|
1673
|
+
"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.",
|
|
1674
|
+
"method": "POST",
|
|
1675
|
+
"path": "/api/reach/v1/segmentation/segments",
|
|
1676
|
+
"inputSchema": {
|
|
1677
|
+
"type": "object",
|
|
1678
|
+
"properties": {
|
|
1679
|
+
"name": {
|
|
1680
|
+
"type": "string",
|
|
1681
|
+
"description": "name parameter"
|
|
1682
|
+
},
|
|
1683
|
+
"conditions": {
|
|
1641
1684
|
"type": "array",
|
|
1642
|
-
"description": "
|
|
1685
|
+
"description": "conditions parameter",
|
|
1643
1686
|
"items": {
|
|
1644
|
-
"type": "
|
|
1645
|
-
"description": "
|
|
1687
|
+
"type": "object",
|
|
1688
|
+
"description": "conditions parameter",
|
|
1689
|
+
"properties": {
|
|
1690
|
+
"operator": {
|
|
1691
|
+
"type": "string",
|
|
1692
|
+
"description": "operator parameter",
|
|
1693
|
+
"enum": [
|
|
1694
|
+
"equals",
|
|
1695
|
+
"not_equals",
|
|
1696
|
+
"contains",
|
|
1697
|
+
"not_contains",
|
|
1698
|
+
"gte",
|
|
1699
|
+
"lte",
|
|
1700
|
+
"exists",
|
|
1701
|
+
"within_last_days",
|
|
1702
|
+
"not_within_last_days",
|
|
1703
|
+
"older_than_days",
|
|
1704
|
+
"processed",
|
|
1705
|
+
"not_processed",
|
|
1706
|
+
"delivered",
|
|
1707
|
+
"not_delivered",
|
|
1708
|
+
"dropped",
|
|
1709
|
+
"not_dropped",
|
|
1710
|
+
"bounced",
|
|
1711
|
+
"not_bounced",
|
|
1712
|
+
"opened",
|
|
1713
|
+
"not_opened",
|
|
1714
|
+
"clicked",
|
|
1715
|
+
"not_clicked",
|
|
1716
|
+
"unsubscribed",
|
|
1717
|
+
"not_unsubscribed"
|
|
1718
|
+
]
|
|
1719
|
+
},
|
|
1720
|
+
"value": {
|
|
1721
|
+
"type": "string",
|
|
1722
|
+
"description": "value parameter"
|
|
1723
|
+
},
|
|
1724
|
+
"attribute": {
|
|
1725
|
+
"type": "string",
|
|
1726
|
+
"description": "attribute parameter",
|
|
1727
|
+
"enum": [
|
|
1728
|
+
"note",
|
|
1729
|
+
"comment",
|
|
1730
|
+
"domain",
|
|
1731
|
+
"integration",
|
|
1732
|
+
"source",
|
|
1733
|
+
"name",
|
|
1734
|
+
"surname",
|
|
1735
|
+
"email",
|
|
1736
|
+
"subscribed_at",
|
|
1737
|
+
"unsubscribed_at",
|
|
1738
|
+
"subscription_status",
|
|
1739
|
+
"processed",
|
|
1740
|
+
"opened",
|
|
1741
|
+
"clicked",
|
|
1742
|
+
"delivered",
|
|
1743
|
+
"bounced",
|
|
1744
|
+
"unsubscribed",
|
|
1745
|
+
"dropped",
|
|
1746
|
+
"tag",
|
|
1747
|
+
"campaigns"
|
|
1748
|
+
]
|
|
1749
|
+
}
|
|
1750
|
+
}
|
|
1646
1751
|
}
|
|
1647
1752
|
},
|
|
1648
|
-
"
|
|
1753
|
+
"logic": {
|
|
1649
1754
|
"type": "string",
|
|
1650
|
-
"description": "
|
|
1755
|
+
"description": "logic parameter",
|
|
1756
|
+
"enum": [
|
|
1757
|
+
"AND",
|
|
1758
|
+
"OR"
|
|
1759
|
+
]
|
|
1651
1760
|
}
|
|
1652
1761
|
},
|
|
1653
1762
|
"required": [
|
|
1654
|
-
"
|
|
1763
|
+
"name",
|
|
1764
|
+
"conditions",
|
|
1765
|
+
"logic"
|
|
1766
|
+
]
|
|
1767
|
+
},
|
|
1768
|
+
"security": [
|
|
1769
|
+
{
|
|
1770
|
+
"apiToken": []
|
|
1771
|
+
}
|
|
1772
|
+
]
|
|
1773
|
+
},
|
|
1774
|
+
{
|
|
1775
|
+
"name": "reach_listSegmentContactsV1",
|
|
1776
|
+
"description": "Retrieve contacts associated with a specific segment.\n\nThis endpoint allows you to fetch and filter contacts that belong to a particular segment,\nidentified by its UUID.",
|
|
1777
|
+
"method": "GET",
|
|
1778
|
+
"path": "/api/reach/v1/segmentation/segments/{segmentUuid}/contacts",
|
|
1779
|
+
"inputSchema": {
|
|
1780
|
+
"type": "object",
|
|
1781
|
+
"properties": {
|
|
1782
|
+
"segmentUuid": {
|
|
1783
|
+
"type": "string",
|
|
1784
|
+
"description": "Segment uuid parameter"
|
|
1785
|
+
},
|
|
1786
|
+
"page": {
|
|
1787
|
+
"type": "integer",
|
|
1788
|
+
"description": "Page number"
|
|
1789
|
+
},
|
|
1790
|
+
"per_page": {
|
|
1791
|
+
"type": "integer",
|
|
1792
|
+
"description": "Number of items per page"
|
|
1793
|
+
}
|
|
1794
|
+
},
|
|
1795
|
+
"required": [
|
|
1796
|
+
"segmentUuid"
|
|
1797
|
+
]
|
|
1798
|
+
},
|
|
1799
|
+
"security": [
|
|
1800
|
+
{
|
|
1801
|
+
"apiToken": []
|
|
1802
|
+
}
|
|
1803
|
+
]
|
|
1804
|
+
},
|
|
1805
|
+
{
|
|
1806
|
+
"name": "reach_getSegmentDetailsV1",
|
|
1807
|
+
"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.",
|
|
1808
|
+
"method": "GET",
|
|
1809
|
+
"path": "/api/reach/v1/segmentation/segments/{segmentUuid}",
|
|
1810
|
+
"inputSchema": {
|
|
1811
|
+
"type": "object",
|
|
1812
|
+
"properties": {
|
|
1813
|
+
"segmentUuid": {
|
|
1814
|
+
"type": "string",
|
|
1815
|
+
"description": "Segment uuid parameter"
|
|
1816
|
+
}
|
|
1817
|
+
},
|
|
1818
|
+
"required": [
|
|
1819
|
+
"segmentUuid"
|
|
1655
1820
|
]
|
|
1656
1821
|
},
|
|
1657
1822
|
"security": [
|
|
@@ -2791,7 +2956,7 @@ const TOOLS: OpenApiTool[] = [
|
|
|
2791
2956
|
},
|
|
2792
2957
|
{
|
|
2793
2958
|
"name": "VPS_purchaseNewVirtualMachineV1",
|
|
2794
|
-
"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.
|
|
2959
|
+
"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.",
|
|
2795
2960
|
"method": "POST",
|
|
2796
2961
|
"path": "/api/vps/v1/virtual-machines",
|
|
2797
2962
|
"inputSchema": {
|
|
@@ -3109,7 +3274,7 @@ const TOOLS: OpenApiTool[] = [
|
|
|
3109
3274
|
},
|
|
3110
3275
|
{
|
|
3111
3276
|
"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
|
|
3277
|
+
"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
3278
|
"method": "POST",
|
|
3114
3279
|
"path": "/api/vps/v1/virtual-machines/{virtualMachineId}/recreate",
|
|
3115
3280
|
"inputSchema": {
|
|
@@ -3422,7 +3587,7 @@ const SECURITY_SCHEMES: Record<string, SecurityScheme> = {
|
|
|
3422
3587
|
|
|
3423
3588
|
/**
|
|
3424
3589
|
* MCP Server for Hostinger API
|
|
3425
|
-
* Generated from OpenAPI spec version 0.10.
|
|
3590
|
+
* Generated from OpenAPI spec version 0.10.2
|
|
3426
3591
|
*/
|
|
3427
3592
|
class MCPServer {
|
|
3428
3593
|
private server: Server;
|
|
@@ -3444,7 +3609,7 @@ class MCPServer {
|
|
|
3444
3609
|
this.server = new Server(
|
|
3445
3610
|
{
|
|
3446
3611
|
name: "hostinger-api-mcp",
|
|
3447
|
-
version: "0.1.
|
|
3612
|
+
version: "0.1.24",
|
|
3448
3613
|
},
|
|
3449
3614
|
{
|
|
3450
3615
|
capabilities: {
|
|
@@ -3469,7 +3634,7 @@ class MCPServer {
|
|
|
3469
3634
|
});
|
|
3470
3635
|
}
|
|
3471
3636
|
|
|
3472
|
-
headers['User-Agent'] = 'hostinger-mcp-server/0.1.
|
|
3637
|
+
headers['User-Agent'] = 'hostinger-mcp-server/0.1.24';
|
|
3473
3638
|
|
|
3474
3639
|
return headers;
|
|
3475
3640
|
}
|
|
@@ -4666,8 +4831,6 @@ class MCPServer {
|
|
|
4666
4831
|
const buildData = {
|
|
4667
4832
|
...buildSettings,
|
|
4668
4833
|
node_version: buildSettings?.node_version || 20,
|
|
4669
|
-
output_directory: buildSettings?.output_directory || 'dist',
|
|
4670
|
-
build_script: buildSettings?.build_script || 'build',
|
|
4671
4834
|
source_type: 'archive',
|
|
4672
4835
|
source_options: {
|
|
4673
4836
|
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,82 @@ 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
|
+
* Get a list of all contact segments.
|
|
1064
|
+
|
|
1065
|
+
This endpoint returns a list of contact segments that can be used to organize contacts.
|
|
1066
|
+
*/
|
|
1067
|
+
"reach_listSegmentsV1": {
|
|
1068
|
+
params: {
|
|
1069
|
+
|
|
1070
|
+
};
|
|
1071
|
+
response: any; // Response structure will depend on the API
|
|
1072
|
+
};
|
|
1073
|
+
|
|
1074
|
+
/**
|
|
1075
|
+
* Create a new contact segment.
|
|
1076
|
+
|
|
1077
|
+
This endpoint allows creating a new contact segment that can be used to organize contacts.
|
|
1078
|
+
The segment can be configured with specific criteria like email, name, subscription status, etc.
|
|
1079
|
+
*/
|
|
1080
|
+
"reach_createANewContactSegmentV1": {
|
|
1081
|
+
params: {
|
|
1082
|
+
/**
|
|
1083
|
+
* name parameter
|
|
1084
|
+
*/
|
|
1085
|
+
name: string;
|
|
1086
|
+
/**
|
|
1087
|
+
* conditions parameter
|
|
1088
|
+
*/
|
|
1089
|
+
conditions: array;
|
|
1090
|
+
/**
|
|
1091
|
+
* logic parameter
|
|
1092
|
+
*/
|
|
1093
|
+
logic: string;
|
|
1094
|
+
};
|
|
1095
|
+
response: any; // Response structure will depend on the API
|
|
1096
|
+
};
|
|
1097
|
+
|
|
1098
|
+
/**
|
|
1099
|
+
* Retrieve contacts associated with a specific segment.
|
|
1100
|
+
|
|
1101
|
+
This endpoint allows you to fetch and filter contacts that belong to a particular segment,
|
|
1102
|
+
identified by its UUID.
|
|
1103
|
+
*/
|
|
1104
|
+
"reach_listSegmentContactsV1": {
|
|
1105
|
+
params: {
|
|
1106
|
+
/**
|
|
1107
|
+
* Segment uuid parameter
|
|
1108
|
+
*/
|
|
1109
|
+
segmentUuid: string;
|
|
1110
|
+
/**
|
|
1111
|
+
* Page number
|
|
1112
|
+
*/
|
|
1113
|
+
page?: number;
|
|
1114
|
+
/**
|
|
1115
|
+
* Number of items per page
|
|
1116
|
+
*/
|
|
1117
|
+
per_page?: number;
|
|
1118
|
+
};
|
|
1119
|
+
response: any; // Response structure will depend on the API
|
|
1120
|
+
};
|
|
1121
|
+
|
|
1122
|
+
/**
|
|
1123
|
+
* Get details of a specific segment.
|
|
1124
|
+
|
|
1125
|
+
This endpoint retrieves information about a single segment identified by UUID.
|
|
1126
|
+
Segments are used to organize and group contacts based on specific criteria.
|
|
1127
|
+
*/
|
|
1128
|
+
"reach_getSegmentDetailsV1": {
|
|
1129
|
+
params: {
|
|
1130
|
+
/**
|
|
1131
|
+
* Segment uuid parameter
|
|
1132
|
+
*/
|
|
1133
|
+
segmentUuid: string;
|
|
1134
|
+
};
|
|
1135
|
+
response: any; // Response structure will depend on the API
|
|
1136
|
+
};
|
|
1137
|
+
|
|
1066
1138
|
/**
|
|
1067
1139
|
* Retrieve all available data centers.
|
|
1068
1140
|
|
|
@@ -1874,7 +1946,7 @@ If virtual machine setup fails for any reason, login to [hPanel](https://hpanel.
|
|
|
1874
1946
|
|
|
1875
1947
|
If no payment method is provided, your default payment method will be used automatically.
|
|
1876
1948
|
|
|
1877
|
-
Use this endpoint to create new VPS instances.
|
|
1949
|
+
Use this endpoint to create new VPS instances.
|
|
1878
1950
|
*/
|
|
1879
1951
|
"VPS_purchaseNewVirtualMachineV1": {
|
|
1880
1952
|
params: {
|
|
@@ -2128,7 +2200,7 @@ Snapshots, if there are any, will be deleted.
|
|
|
2128
2200
|
## Password Requirements
|
|
2129
2201
|
Password will be checked against leaked password databases.
|
|
2130
2202
|
Requirements for the password are:
|
|
2131
|
-
- At least
|
|
2203
|
+
- At least 12 characters long
|
|
2132
2204
|
- At least one uppercase letter
|
|
2133
2205
|
- At least one lowercase letter
|
|
2134
2206
|
- At least one number
|