hostinger-api-mcp 0.1.7 → 0.1.10
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/.github/ISSUE_TEMPLATE/bug_report.md +36 -0
- package/README.md +60 -0
- package/package.json +1 -1
- package/server.js +118 -3
- package/server.ts +118 -3
- package/types.d.ts +85 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug Report
|
|
3
|
+
about: Create a report to help us improve
|
|
4
|
+
title: '[BUG] '
|
|
5
|
+
labels: 'bug'
|
|
6
|
+
assignees: ''
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Bug Description
|
|
11
|
+
<!-- Provide a clear and concise description of what the bug is -->
|
|
12
|
+
|
|
13
|
+
## Steps to Reproduce
|
|
14
|
+
<!-- List the steps to reproduce the behavior -->
|
|
15
|
+
1. Go to '...'
|
|
16
|
+
2. Click on '...'
|
|
17
|
+
3. Scroll down to '...'
|
|
18
|
+
4. See error
|
|
19
|
+
|
|
20
|
+
## Expected Behavior
|
|
21
|
+
<!-- Describe what you expected to happen -->
|
|
22
|
+
|
|
23
|
+
## Actual Behavior
|
|
24
|
+
<!-- Describe what actually happened -->
|
|
25
|
+
|
|
26
|
+
## Screenshots
|
|
27
|
+
<!-- If applicable, add screenshots to help explain your problem -->
|
|
28
|
+
|
|
29
|
+
## Error Messages / Stack Trace
|
|
30
|
+
<!-- If applicable, paste any error messages or stack traces here -->
|
|
31
|
+
```
|
|
32
|
+
[Paste error message or stack trace here]
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Additional Context
|
|
36
|
+
<!-- Add any other context about the problem here -->
|
package/README.md
CHANGED
|
@@ -637,6 +637,66 @@ Use this endpoint to view which domains use specific contact profiles.
|
|
|
637
637
|
|
|
638
638
|
- `whoisId`: WHOIS ID (required)
|
|
639
639
|
|
|
640
|
+
### reach_deleteAContactV1
|
|
641
|
+
|
|
642
|
+
Delete a contact with the specified UUID.
|
|
643
|
+
|
|
644
|
+
This endpoint permanently removes a contact from the email marketing system.
|
|
645
|
+
|
|
646
|
+
- **Method**: `DELETE`
|
|
647
|
+
- **Path**: `/api/reach/v1/contacts/{uuid}`
|
|
648
|
+
|
|
649
|
+
**Parameters**:
|
|
650
|
+
|
|
651
|
+
- `uuid`: UUID of the contact to delete (required)
|
|
652
|
+
|
|
653
|
+
### reach_listContactGroupsV1
|
|
654
|
+
|
|
655
|
+
Get a list of all contact groups.
|
|
656
|
+
|
|
657
|
+
This endpoint returns a list of contact groups that can be used to organize contacts.
|
|
658
|
+
|
|
659
|
+
- **Method**: `GET`
|
|
660
|
+
- **Path**: `/api/reach/v1/contacts/groups`
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
|
|
664
|
+
### reach_listContactsV1
|
|
665
|
+
|
|
666
|
+
Get a list of contacts, optionally filtered by group and subscription status.
|
|
667
|
+
|
|
668
|
+
This endpoint returns a paginated list of contacts with their basic information.
|
|
669
|
+
You can filter contacts by group UUID and subscription status.
|
|
670
|
+
|
|
671
|
+
- **Method**: `GET`
|
|
672
|
+
- **Path**: `/api/reach/v1/contacts`
|
|
673
|
+
|
|
674
|
+
**Parameters**:
|
|
675
|
+
|
|
676
|
+
- `group_uuid`: Filter contacts by group UUID
|
|
677
|
+
- `subscription_status`: Filter contacts by subscription status
|
|
678
|
+
- `page`: Page number
|
|
679
|
+
|
|
680
|
+
### reach_createANewContactV1
|
|
681
|
+
|
|
682
|
+
Create a new contact in the email marketing system.
|
|
683
|
+
|
|
684
|
+
This endpoint allows you to create a new contact with basic information like name, email, and surname.
|
|
685
|
+
You can optionally assign the contact to specific groups and add notes.
|
|
686
|
+
|
|
687
|
+
The contact will be automatically subscribed to email communications.
|
|
688
|
+
|
|
689
|
+
- **Method**: `POST`
|
|
690
|
+
- **Path**: `/api/reach/v1/contacts`
|
|
691
|
+
|
|
692
|
+
**Parameters**:
|
|
693
|
+
|
|
694
|
+
- `email`: email parameter (required)
|
|
695
|
+
- `name`: name parameter
|
|
696
|
+
- `surname`: surname parameter
|
|
697
|
+
- `group_uuids`: group_uuids parameter
|
|
698
|
+
- `note`: note parameter
|
|
699
|
+
|
|
640
700
|
### VPS_getDataCenterListV1
|
|
641
701
|
|
|
642
702
|
Retrieve all available data centers.
|
package/package.json
CHANGED
package/server.js
CHANGED
|
@@ -1030,6 +1030,121 @@ const TOOLS = [
|
|
|
1030
1030
|
}
|
|
1031
1031
|
]
|
|
1032
1032
|
},
|
|
1033
|
+
{
|
|
1034
|
+
"name": "reach_deleteAContactV1",
|
|
1035
|
+
"description": "Delete a contact with the specified UUID.\n\nThis endpoint permanently removes a contact from the email marketing system.",
|
|
1036
|
+
"method": "DELETE",
|
|
1037
|
+
"path": "/api/reach/v1/contacts/{uuid}",
|
|
1038
|
+
"inputSchema": {
|
|
1039
|
+
"type": "object",
|
|
1040
|
+
"properties": {
|
|
1041
|
+
"uuid": {
|
|
1042
|
+
"type": "string",
|
|
1043
|
+
"description": "UUID of the contact to delete"
|
|
1044
|
+
}
|
|
1045
|
+
},
|
|
1046
|
+
"required": [
|
|
1047
|
+
"uuid"
|
|
1048
|
+
]
|
|
1049
|
+
},
|
|
1050
|
+
"security": [
|
|
1051
|
+
{
|
|
1052
|
+
"apiToken": []
|
|
1053
|
+
}
|
|
1054
|
+
]
|
|
1055
|
+
},
|
|
1056
|
+
{
|
|
1057
|
+
"name": "reach_listContactGroupsV1",
|
|
1058
|
+
"description": "Get a list of all contact groups.\n\nThis endpoint returns a list of contact groups that can be used to organize contacts.",
|
|
1059
|
+
"method": "GET",
|
|
1060
|
+
"path": "/api/reach/v1/contacts/groups",
|
|
1061
|
+
"inputSchema": {
|
|
1062
|
+
"type": "object",
|
|
1063
|
+
"properties": {},
|
|
1064
|
+
"required": []
|
|
1065
|
+
},
|
|
1066
|
+
"security": [
|
|
1067
|
+
{
|
|
1068
|
+
"apiToken": []
|
|
1069
|
+
}
|
|
1070
|
+
]
|
|
1071
|
+
},
|
|
1072
|
+
{
|
|
1073
|
+
"name": "reach_listContactsV1",
|
|
1074
|
+
"description": "Get a list of contacts, optionally filtered by group and subscription status.\n\nThis endpoint returns a paginated list of contacts with their basic information.\nYou can filter contacts by group UUID and subscription status.",
|
|
1075
|
+
"method": "GET",
|
|
1076
|
+
"path": "/api/reach/v1/contacts",
|
|
1077
|
+
"inputSchema": {
|
|
1078
|
+
"type": "object",
|
|
1079
|
+
"properties": {
|
|
1080
|
+
"group_uuid": {
|
|
1081
|
+
"type": "string",
|
|
1082
|
+
"description": "Filter contacts by group UUID"
|
|
1083
|
+
},
|
|
1084
|
+
"subscription_status": {
|
|
1085
|
+
"type": "string",
|
|
1086
|
+
"description": "Filter contacts by subscription status",
|
|
1087
|
+
"enum": [
|
|
1088
|
+
"subscribed",
|
|
1089
|
+
"unsubscribed"
|
|
1090
|
+
]
|
|
1091
|
+
},
|
|
1092
|
+
"page": {
|
|
1093
|
+
"type": "integer",
|
|
1094
|
+
"description": "Page number"
|
|
1095
|
+
}
|
|
1096
|
+
},
|
|
1097
|
+
"required": []
|
|
1098
|
+
},
|
|
1099
|
+
"security": [
|
|
1100
|
+
{
|
|
1101
|
+
"apiToken": []
|
|
1102
|
+
}
|
|
1103
|
+
]
|
|
1104
|
+
},
|
|
1105
|
+
{
|
|
1106
|
+
"name": "reach_createANewContactV1",
|
|
1107
|
+
"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.\nYou can optionally assign the contact to specific groups and add notes.\n\nThe contact will be automatically subscribed to email communications.",
|
|
1108
|
+
"method": "POST",
|
|
1109
|
+
"path": "/api/reach/v1/contacts",
|
|
1110
|
+
"inputSchema": {
|
|
1111
|
+
"type": "object",
|
|
1112
|
+
"properties": {
|
|
1113
|
+
"email": {
|
|
1114
|
+
"type": "string",
|
|
1115
|
+
"description": "email parameter"
|
|
1116
|
+
},
|
|
1117
|
+
"name": {
|
|
1118
|
+
"type": "string",
|
|
1119
|
+
"description": "name parameter"
|
|
1120
|
+
},
|
|
1121
|
+
"surname": {
|
|
1122
|
+
"type": "string",
|
|
1123
|
+
"description": "surname parameter"
|
|
1124
|
+
},
|
|
1125
|
+
"group_uuids": {
|
|
1126
|
+
"type": "array",
|
|
1127
|
+
"description": "group_uuids parameter",
|
|
1128
|
+
"items": {
|
|
1129
|
+
"type": "string",
|
|
1130
|
+
"description": "Group UUID"
|
|
1131
|
+
}
|
|
1132
|
+
},
|
|
1133
|
+
"note": {
|
|
1134
|
+
"type": "string",
|
|
1135
|
+
"description": "note parameter"
|
|
1136
|
+
}
|
|
1137
|
+
},
|
|
1138
|
+
"required": [
|
|
1139
|
+
"email"
|
|
1140
|
+
]
|
|
1141
|
+
},
|
|
1142
|
+
"security": [
|
|
1143
|
+
{
|
|
1144
|
+
"apiToken": []
|
|
1145
|
+
}
|
|
1146
|
+
]
|
|
1147
|
+
},
|
|
1033
1148
|
{
|
|
1034
1149
|
"name": "VPS_getDataCenterListV1",
|
|
1035
1150
|
"description": "Retrieve all available data centers.\n\nUse this endpoint to view location options before deploying VPS instances.",
|
|
@@ -2792,7 +2907,7 @@ const SECURITY_SCHEMES = {
|
|
|
2792
2907
|
|
|
2793
2908
|
/**
|
|
2794
2909
|
* MCP Server for Hostinger API
|
|
2795
|
-
* Generated from OpenAPI spec version 0.
|
|
2910
|
+
* Generated from OpenAPI spec version 0.1.7
|
|
2796
2911
|
*/
|
|
2797
2912
|
class MCPServer {
|
|
2798
2913
|
constructor() {
|
|
@@ -2810,7 +2925,7 @@ class MCPServer {
|
|
|
2810
2925
|
this.server = new Server(
|
|
2811
2926
|
{
|
|
2812
2927
|
name: "hostinger-api-mcp",
|
|
2813
|
-
version: "0.1.
|
|
2928
|
+
version: "0.1.10",
|
|
2814
2929
|
},
|
|
2815
2930
|
{
|
|
2816
2931
|
capabilities: {
|
|
@@ -2835,7 +2950,7 @@ class MCPServer {
|
|
|
2835
2950
|
});
|
|
2836
2951
|
}
|
|
2837
2952
|
|
|
2838
|
-
headers['User-Agent'] = 'hostinger-mcp-server/0.1.
|
|
2953
|
+
headers['User-Agent'] = 'hostinger-mcp-server/0.1.10';
|
|
2839
2954
|
|
|
2840
2955
|
return headers;
|
|
2841
2956
|
}
|
package/server.ts
CHANGED
|
@@ -1047,6 +1047,121 @@ const TOOLS: OpenApiTool[] = [
|
|
|
1047
1047
|
}
|
|
1048
1048
|
]
|
|
1049
1049
|
},
|
|
1050
|
+
{
|
|
1051
|
+
"name": "reach_deleteAContactV1",
|
|
1052
|
+
"description": "Delete a contact with the specified UUID.\n\nThis endpoint permanently removes a contact from the email marketing system.",
|
|
1053
|
+
"method": "DELETE",
|
|
1054
|
+
"path": "/api/reach/v1/contacts/{uuid}",
|
|
1055
|
+
"inputSchema": {
|
|
1056
|
+
"type": "object",
|
|
1057
|
+
"properties": {
|
|
1058
|
+
"uuid": {
|
|
1059
|
+
"type": "string",
|
|
1060
|
+
"description": "UUID of the contact to delete"
|
|
1061
|
+
}
|
|
1062
|
+
},
|
|
1063
|
+
"required": [
|
|
1064
|
+
"uuid"
|
|
1065
|
+
]
|
|
1066
|
+
},
|
|
1067
|
+
"security": [
|
|
1068
|
+
{
|
|
1069
|
+
"apiToken": []
|
|
1070
|
+
}
|
|
1071
|
+
]
|
|
1072
|
+
},
|
|
1073
|
+
{
|
|
1074
|
+
"name": "reach_listContactGroupsV1",
|
|
1075
|
+
"description": "Get a list of all contact groups.\n\nThis endpoint returns a list of contact groups that can be used to organize contacts.",
|
|
1076
|
+
"method": "GET",
|
|
1077
|
+
"path": "/api/reach/v1/contacts/groups",
|
|
1078
|
+
"inputSchema": {
|
|
1079
|
+
"type": "object",
|
|
1080
|
+
"properties": {},
|
|
1081
|
+
"required": []
|
|
1082
|
+
},
|
|
1083
|
+
"security": [
|
|
1084
|
+
{
|
|
1085
|
+
"apiToken": []
|
|
1086
|
+
}
|
|
1087
|
+
]
|
|
1088
|
+
},
|
|
1089
|
+
{
|
|
1090
|
+
"name": "reach_listContactsV1",
|
|
1091
|
+
"description": "Get a list of contacts, optionally filtered by group and subscription status.\n\nThis endpoint returns a paginated list of contacts with their basic information.\nYou can filter contacts by group UUID and subscription status.",
|
|
1092
|
+
"method": "GET",
|
|
1093
|
+
"path": "/api/reach/v1/contacts",
|
|
1094
|
+
"inputSchema": {
|
|
1095
|
+
"type": "object",
|
|
1096
|
+
"properties": {
|
|
1097
|
+
"group_uuid": {
|
|
1098
|
+
"type": "string",
|
|
1099
|
+
"description": "Filter contacts by group UUID"
|
|
1100
|
+
},
|
|
1101
|
+
"subscription_status": {
|
|
1102
|
+
"type": "string",
|
|
1103
|
+
"description": "Filter contacts by subscription status",
|
|
1104
|
+
"enum": [
|
|
1105
|
+
"subscribed",
|
|
1106
|
+
"unsubscribed"
|
|
1107
|
+
]
|
|
1108
|
+
},
|
|
1109
|
+
"page": {
|
|
1110
|
+
"type": "integer",
|
|
1111
|
+
"description": "Page number"
|
|
1112
|
+
}
|
|
1113
|
+
},
|
|
1114
|
+
"required": []
|
|
1115
|
+
},
|
|
1116
|
+
"security": [
|
|
1117
|
+
{
|
|
1118
|
+
"apiToken": []
|
|
1119
|
+
}
|
|
1120
|
+
]
|
|
1121
|
+
},
|
|
1122
|
+
{
|
|
1123
|
+
"name": "reach_createANewContactV1",
|
|
1124
|
+
"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.\nYou can optionally assign the contact to specific groups and add notes.\n\nThe contact will be automatically subscribed to email communications.",
|
|
1125
|
+
"method": "POST",
|
|
1126
|
+
"path": "/api/reach/v1/contacts",
|
|
1127
|
+
"inputSchema": {
|
|
1128
|
+
"type": "object",
|
|
1129
|
+
"properties": {
|
|
1130
|
+
"email": {
|
|
1131
|
+
"type": "string",
|
|
1132
|
+
"description": "email parameter"
|
|
1133
|
+
},
|
|
1134
|
+
"name": {
|
|
1135
|
+
"type": "string",
|
|
1136
|
+
"description": "name parameter"
|
|
1137
|
+
},
|
|
1138
|
+
"surname": {
|
|
1139
|
+
"type": "string",
|
|
1140
|
+
"description": "surname parameter"
|
|
1141
|
+
},
|
|
1142
|
+
"group_uuids": {
|
|
1143
|
+
"type": "array",
|
|
1144
|
+
"description": "group_uuids parameter",
|
|
1145
|
+
"items": {
|
|
1146
|
+
"type": "string",
|
|
1147
|
+
"description": "Group UUID"
|
|
1148
|
+
}
|
|
1149
|
+
},
|
|
1150
|
+
"note": {
|
|
1151
|
+
"type": "string",
|
|
1152
|
+
"description": "note parameter"
|
|
1153
|
+
}
|
|
1154
|
+
},
|
|
1155
|
+
"required": [
|
|
1156
|
+
"email"
|
|
1157
|
+
]
|
|
1158
|
+
},
|
|
1159
|
+
"security": [
|
|
1160
|
+
{
|
|
1161
|
+
"apiToken": []
|
|
1162
|
+
}
|
|
1163
|
+
]
|
|
1164
|
+
},
|
|
1050
1165
|
{
|
|
1051
1166
|
"name": "VPS_getDataCenterListV1",
|
|
1052
1167
|
"description": "Retrieve all available data centers.\n\nUse this endpoint to view location options before deploying VPS instances.",
|
|
@@ -2809,7 +2924,7 @@ const SECURITY_SCHEMES: Record<string, SecurityScheme> = {
|
|
|
2809
2924
|
|
|
2810
2925
|
/**
|
|
2811
2926
|
* MCP Server for Hostinger API
|
|
2812
|
-
* Generated from OpenAPI spec version 0.
|
|
2927
|
+
* Generated from OpenAPI spec version 0.1.7
|
|
2813
2928
|
*/
|
|
2814
2929
|
class MCPServer {
|
|
2815
2930
|
private server: Server;
|
|
@@ -2831,7 +2946,7 @@ class MCPServer {
|
|
|
2831
2946
|
this.server = new Server(
|
|
2832
2947
|
{
|
|
2833
2948
|
name: "hostinger-api-mcp",
|
|
2834
|
-
version: "0.1.
|
|
2949
|
+
version: "0.1.10",
|
|
2835
2950
|
},
|
|
2836
2951
|
{
|
|
2837
2952
|
capabilities: {
|
|
@@ -2856,7 +2971,7 @@ class MCPServer {
|
|
|
2856
2971
|
});
|
|
2857
2972
|
}
|
|
2858
2973
|
|
|
2859
|
-
headers['User-Agent'] = 'hostinger-mcp-server/0.1.
|
|
2974
|
+
headers['User-Agent'] = 'hostinger-mcp-server/0.1.10';
|
|
2860
2975
|
|
|
2861
2976
|
return headers;
|
|
2862
2977
|
}
|
package/types.d.ts
CHANGED
|
@@ -645,6 +645,91 @@ Use this endpoint to view which domains use specific contact profiles.
|
|
|
645
645
|
response: any; // Response structure will depend on the API
|
|
646
646
|
};
|
|
647
647
|
|
|
648
|
+
/**
|
|
649
|
+
* Delete a contact with the specified UUID.
|
|
650
|
+
|
|
651
|
+
This endpoint permanently removes a contact from the email marketing system.
|
|
652
|
+
*/
|
|
653
|
+
"undefined": {
|
|
654
|
+
params: {
|
|
655
|
+
/**
|
|
656
|
+
* UUID of the contact to delete
|
|
657
|
+
*/
|
|
658
|
+
uuid: string;
|
|
659
|
+
};
|
|
660
|
+
response: any; // Response structure will depend on the API
|
|
661
|
+
};
|
|
662
|
+
|
|
663
|
+
/**
|
|
664
|
+
* Get a list of all contact groups.
|
|
665
|
+
|
|
666
|
+
This endpoint returns a list of contact groups that can be used to organize contacts.
|
|
667
|
+
*/
|
|
668
|
+
"undefined": {
|
|
669
|
+
params: {
|
|
670
|
+
|
|
671
|
+
};
|
|
672
|
+
response: any; // Response structure will depend on the API
|
|
673
|
+
};
|
|
674
|
+
|
|
675
|
+
/**
|
|
676
|
+
* Get a list of contacts, optionally filtered by group and subscription status.
|
|
677
|
+
|
|
678
|
+
This endpoint returns a paginated list of contacts with their basic information.
|
|
679
|
+
You can filter contacts by group UUID and subscription status.
|
|
680
|
+
*/
|
|
681
|
+
"undefined": {
|
|
682
|
+
params: {
|
|
683
|
+
/**
|
|
684
|
+
* Filter contacts by group UUID
|
|
685
|
+
*/
|
|
686
|
+
group_uuid?: string;
|
|
687
|
+
/**
|
|
688
|
+
* Filter contacts by subscription status
|
|
689
|
+
*/
|
|
690
|
+
subscription_status?: string;
|
|
691
|
+
/**
|
|
692
|
+
* Page number
|
|
693
|
+
*/
|
|
694
|
+
page?: number;
|
|
695
|
+
};
|
|
696
|
+
response: any; // Response structure will depend on the API
|
|
697
|
+
};
|
|
698
|
+
|
|
699
|
+
/**
|
|
700
|
+
* Create a new contact in the email marketing system.
|
|
701
|
+
|
|
702
|
+
This endpoint allows you to create a new contact with basic information like name, email, and surname.
|
|
703
|
+
You can optionally assign the contact to specific groups and add notes.
|
|
704
|
+
|
|
705
|
+
The contact will be automatically subscribed to email communications.
|
|
706
|
+
*/
|
|
707
|
+
"undefined": {
|
|
708
|
+
params: {
|
|
709
|
+
/**
|
|
710
|
+
* email parameter
|
|
711
|
+
*/
|
|
712
|
+
email: string;
|
|
713
|
+
/**
|
|
714
|
+
* name parameter
|
|
715
|
+
*/
|
|
716
|
+
name?: string;
|
|
717
|
+
/**
|
|
718
|
+
* surname parameter
|
|
719
|
+
*/
|
|
720
|
+
surname?: string;
|
|
721
|
+
/**
|
|
722
|
+
* group_uuids parameter
|
|
723
|
+
*/
|
|
724
|
+
group_uuids?: array;
|
|
725
|
+
/**
|
|
726
|
+
* note parameter
|
|
727
|
+
*/
|
|
728
|
+
note?: string;
|
|
729
|
+
};
|
|
730
|
+
response: any; // Response structure will depend on the API
|
|
731
|
+
};
|
|
732
|
+
|
|
648
733
|
/**
|
|
649
734
|
* Retrieve all available data centers.
|
|
650
735
|
|