hostinger-api-mcp 1.31.0 → 1.33.0
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 +161 -2
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/src/core/runtime.js +1 -1
- package/src/core/runtime.ts +1 -1
- package/src/core/tools/all.js +582 -4
- package/src/core/tools/all.ts +582 -4
- package/src/core/tools/reach.js +582 -4
- package/src/core/tools/reach.ts +582 -4
- package/src/servers/agency-hosting.js +1 -1
- package/src/servers/agency-hosting.ts +1 -1
- package/src/servers/all.js +1 -1
- package/src/servers/all.ts +1 -1
- package/src/servers/billing.js +1 -1
- package/src/servers/billing.ts +1 -1
- package/src/servers/dns.js +1 -1
- package/src/servers/dns.ts +1 -1
- package/src/servers/domains.js +1 -1
- package/src/servers/domains.ts +1 -1
- package/src/servers/ecommerce.js +1 -1
- package/src/servers/ecommerce.ts +1 -1
- package/src/servers/horizons.js +1 -1
- package/src/servers/horizons.ts +1 -1
- package/src/servers/hosting.js +1 -1
- package/src/servers/hosting.ts +1 -1
- package/src/servers/mail.js +1 -1
- package/src/servers/mail.ts +1 -1
- package/src/servers/reach.js +1 -1
- package/src/servers/reach.ts +1 -1
- package/src/servers/vps.js +1 -1
- package/src/servers/vps.ts +1 -1
- package/src/servers/wordpress.js +1 -1
- package/src/servers/wordpress.ts +1 -1
- package/types.d.ts +343 -0
package/src/core/tools/reach.ts
CHANGED
|
@@ -597,7 +597,7 @@ const tools: OpenApiTool[] = [
|
|
|
597
597
|
},
|
|
598
598
|
{
|
|
599
599
|
"name": "reach_listSegmentsV1",
|
|
600
|
-
"description": "Get a list of all contact segments.\n\nThis endpoint returns a list of contact segments that can be used to organize contacts.",
|
|
600
|
+
"description": "Get a list of all contact segments.\n\nThis endpoint returns a list of contact segments that can be used to organize contacts.\n\n**Deprecated.** This endpoint cannot target a profile, so it always falls back to\nthe client's default profile and cannot list the segments of any other profile. Use\n`GET /api/reach/v1/profiles/{profileUuid}/segmentation/segments` instead.",
|
|
601
601
|
"method": "GET",
|
|
602
602
|
"path": "/api/reach/v1/segmentation/segments",
|
|
603
603
|
"inputSchema": {
|
|
@@ -614,7 +614,7 @@ const tools: OpenApiTool[] = [
|
|
|
614
614
|
},
|
|
615
615
|
{
|
|
616
616
|
"name": "reach_createANewContactSegmentV1",
|
|
617
|
-
"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.",
|
|
617
|
+
"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.\n\n**Deprecated.** This endpoint cannot target a profile, so it always falls back to\nthe client's default profile and cannot create segments in any other profile. Use\n`POST /api/reach/v1/profiles/{profileUuid}/segmentation/segments` instead.",
|
|
618
618
|
"method": "POST",
|
|
619
619
|
"path": "/api/reach/v1/segmentation/segments",
|
|
620
620
|
"inputSchema": {
|
|
@@ -653,6 +653,8 @@ const tools: OpenApiTool[] = [
|
|
|
653
653
|
"not_dropped",
|
|
654
654
|
"bounced",
|
|
655
655
|
"not_bounced",
|
|
656
|
+
"soft_bounced",
|
|
657
|
+
"not_soft_bounced",
|
|
656
658
|
"opened",
|
|
657
659
|
"not_opened",
|
|
658
660
|
"clicked",
|
|
@@ -716,6 +718,35 @@ const tools: OpenApiTool[] = [
|
|
|
716
718
|
],
|
|
717
719
|
"group": "reach"
|
|
718
720
|
},
|
|
721
|
+
{
|
|
722
|
+
"name": "reach_countProfileSegmentContactsV1",
|
|
723
|
+
"description": "Count the contacts currently matching a segment without listing them.\n\nCheaper than paging through the segment contacts endpoint when only the size is needed.",
|
|
724
|
+
"method": "GET",
|
|
725
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}/count",
|
|
726
|
+
"inputSchema": {
|
|
727
|
+
"type": "object",
|
|
728
|
+
"properties": {
|
|
729
|
+
"profileUuid": {
|
|
730
|
+
"type": "string",
|
|
731
|
+
"description": "Profile uuid parameter"
|
|
732
|
+
},
|
|
733
|
+
"segmentUuid": {
|
|
734
|
+
"type": "string",
|
|
735
|
+
"description": "Segment uuid parameter"
|
|
736
|
+
}
|
|
737
|
+
},
|
|
738
|
+
"required": [
|
|
739
|
+
"profileUuid",
|
|
740
|
+
"segmentUuid"
|
|
741
|
+
]
|
|
742
|
+
},
|
|
743
|
+
"security": [
|
|
744
|
+
{
|
|
745
|
+
"apiToken": []
|
|
746
|
+
}
|
|
747
|
+
],
|
|
748
|
+
"group": "reach"
|
|
749
|
+
},
|
|
719
750
|
{
|
|
720
751
|
"name": "reach_listProfileSegmentContactsV1",
|
|
721
752
|
"description": "Retrieve contacts associated with a specific segment for a given profile.\n\nThis endpoint allows you to fetch and filter contacts that belong to a particular segment,\nidentified by its UUID, scoped to a specific profile.",
|
|
@@ -753,9 +784,298 @@ const tools: OpenApiTool[] = [
|
|
|
753
784
|
],
|
|
754
785
|
"group": "reach"
|
|
755
786
|
},
|
|
787
|
+
{
|
|
788
|
+
"name": "reach_getProfileSegmentDetailsV1",
|
|
789
|
+
"description": "Get a single segment of a profile, including the conditions that define it.\n\nTo retrieve the contacts currently matching those conditions, use the segment contacts\nendpoint instead.",
|
|
790
|
+
"method": "GET",
|
|
791
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}",
|
|
792
|
+
"inputSchema": {
|
|
793
|
+
"type": "object",
|
|
794
|
+
"properties": {
|
|
795
|
+
"profileUuid": {
|
|
796
|
+
"type": "string",
|
|
797
|
+
"description": "Profile uuid parameter"
|
|
798
|
+
},
|
|
799
|
+
"segmentUuid": {
|
|
800
|
+
"type": "string",
|
|
801
|
+
"description": "Segment uuid parameter"
|
|
802
|
+
}
|
|
803
|
+
},
|
|
804
|
+
"required": [
|
|
805
|
+
"profileUuid",
|
|
806
|
+
"segmentUuid"
|
|
807
|
+
]
|
|
808
|
+
},
|
|
809
|
+
"security": [
|
|
810
|
+
{
|
|
811
|
+
"apiToken": []
|
|
812
|
+
}
|
|
813
|
+
],
|
|
814
|
+
"group": "reach"
|
|
815
|
+
},
|
|
816
|
+
{
|
|
817
|
+
"name": "reach_updateAProfileSegmentV1",
|
|
818
|
+
"description": "Rename a segment and/or replace the conditions that define it.\n\n`name` is always required. Omit `conditions` to rename without touching the conditions;\nsupply them and they replace the existing set entirely rather than being merged into it.\nContacts are never modified, but which of them match the segment can change immediately.",
|
|
819
|
+
"method": "PUT",
|
|
820
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}",
|
|
821
|
+
"inputSchema": {
|
|
822
|
+
"type": "object",
|
|
823
|
+
"properties": {
|
|
824
|
+
"profileUuid": {
|
|
825
|
+
"type": "string",
|
|
826
|
+
"description": "Profile uuid parameter"
|
|
827
|
+
},
|
|
828
|
+
"segmentUuid": {
|
|
829
|
+
"type": "string",
|
|
830
|
+
"description": "Segment uuid parameter"
|
|
831
|
+
},
|
|
832
|
+
"name": {
|
|
833
|
+
"type": "string",
|
|
834
|
+
"description": "name parameter"
|
|
835
|
+
},
|
|
836
|
+
"conditions": {
|
|
837
|
+
"type": "array",
|
|
838
|
+
"description": "Replaces the existing conditions entirely. Omit to keep the current ones.",
|
|
839
|
+
"items": {
|
|
840
|
+
"type": "object",
|
|
841
|
+
"description": "conditions parameter",
|
|
842
|
+
"properties": {
|
|
843
|
+
"attribute": {
|
|
844
|
+
"type": "string",
|
|
845
|
+
"description": "A built-in contact attribute, or `cf:{fieldUuid}` to target a custom\ncontact field. Custom fields are addressed by field UUID; their slug\nis not accepted.\n\nBuilt-in attributes: `email`, `note`, `domain`, `source`,\n`opt_in_method`, `subscription_status`, `subscribed_at`,\n`unsubscribed_at`, `created_at`, `tag`, `campaigns`, `processed`,\n`opened`, `clicked`, `delivered`, `bounced`, `soft_bounced`,\n`dropped`.\n\nWhich operators are accepted depends on the attribute."
|
|
846
|
+
},
|
|
847
|
+
"operator": {
|
|
848
|
+
"type": "string",
|
|
849
|
+
"description": "operator parameter",
|
|
850
|
+
"enum": [
|
|
851
|
+
"equals",
|
|
852
|
+
"not_equals",
|
|
853
|
+
"contains",
|
|
854
|
+
"not_contains",
|
|
855
|
+
"gte",
|
|
856
|
+
"lte",
|
|
857
|
+
"exists",
|
|
858
|
+
"within_last_days",
|
|
859
|
+
"not_within_last_days",
|
|
860
|
+
"older_than_days",
|
|
861
|
+
"processed",
|
|
862
|
+
"not_processed",
|
|
863
|
+
"delivered",
|
|
864
|
+
"not_delivered",
|
|
865
|
+
"dropped",
|
|
866
|
+
"not_dropped",
|
|
867
|
+
"bounced",
|
|
868
|
+
"not_bounced",
|
|
869
|
+
"soft_bounced",
|
|
870
|
+
"not_soft_bounced",
|
|
871
|
+
"opened",
|
|
872
|
+
"not_opened",
|
|
873
|
+
"clicked",
|
|
874
|
+
"not_clicked",
|
|
875
|
+
"unsubscribed",
|
|
876
|
+
"not_unsubscribed"
|
|
877
|
+
]
|
|
878
|
+
},
|
|
879
|
+
"value": {
|
|
880
|
+
"type": "string",
|
|
881
|
+
"description": "Always a string, including for numeric and date comparisons"
|
|
882
|
+
}
|
|
883
|
+
},
|
|
884
|
+
"required": [
|
|
885
|
+
"attribute",
|
|
886
|
+
"operator",
|
|
887
|
+
"value"
|
|
888
|
+
]
|
|
889
|
+
}
|
|
890
|
+
},
|
|
891
|
+
"logic": {
|
|
892
|
+
"type": "string",
|
|
893
|
+
"description": "How to combine multiple conditions. Required when conditions are given.",
|
|
894
|
+
"enum": [
|
|
895
|
+
"AND",
|
|
896
|
+
"OR"
|
|
897
|
+
]
|
|
898
|
+
}
|
|
899
|
+
},
|
|
900
|
+
"required": [
|
|
901
|
+
"profileUuid",
|
|
902
|
+
"segmentUuid",
|
|
903
|
+
"name"
|
|
904
|
+
]
|
|
905
|
+
},
|
|
906
|
+
"security": [
|
|
907
|
+
{
|
|
908
|
+
"apiToken": []
|
|
909
|
+
}
|
|
910
|
+
],
|
|
911
|
+
"group": "reach"
|
|
912
|
+
},
|
|
913
|
+
{
|
|
914
|
+
"name": "reach_deleteAProfileSegmentV1",
|
|
915
|
+
"description": "Delete a segment.\n\nOnly the segment definition is removed. The contacts that matched it are left untouched.",
|
|
916
|
+
"method": "DELETE",
|
|
917
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}",
|
|
918
|
+
"inputSchema": {
|
|
919
|
+
"type": "object",
|
|
920
|
+
"properties": {
|
|
921
|
+
"profileUuid": {
|
|
922
|
+
"type": "string",
|
|
923
|
+
"description": "Profile uuid parameter"
|
|
924
|
+
},
|
|
925
|
+
"segmentUuid": {
|
|
926
|
+
"type": "string",
|
|
927
|
+
"description": "Segment uuid parameter"
|
|
928
|
+
}
|
|
929
|
+
},
|
|
930
|
+
"required": [
|
|
931
|
+
"profileUuid",
|
|
932
|
+
"segmentUuid"
|
|
933
|
+
]
|
|
934
|
+
},
|
|
935
|
+
"security": [
|
|
936
|
+
{
|
|
937
|
+
"apiToken": []
|
|
938
|
+
}
|
|
939
|
+
],
|
|
940
|
+
"group": "reach"
|
|
941
|
+
},
|
|
942
|
+
{
|
|
943
|
+
"name": "reach_listProfileSegmentsV1",
|
|
944
|
+
"description": "Get a paginated list of the segments defined in a profile.\n\nEach entry carries the number of contacts currently matching it, which is recalculated on\nread rather than stored. Use `count_type` to count either every matching contact or only\nthe subscribed ones.",
|
|
945
|
+
"method": "GET",
|
|
946
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/segmentation/segments",
|
|
947
|
+
"inputSchema": {
|
|
948
|
+
"type": "object",
|
|
949
|
+
"properties": {
|
|
950
|
+
"profileUuid": {
|
|
951
|
+
"type": "string",
|
|
952
|
+
"description": "Profile uuid parameter"
|
|
953
|
+
},
|
|
954
|
+
"count_type": {
|
|
955
|
+
"type": "string",
|
|
956
|
+
"description": "Which matching contacts to count for each segment",
|
|
957
|
+
"enum": [
|
|
958
|
+
"all",
|
|
959
|
+
"subscribed"
|
|
960
|
+
]
|
|
961
|
+
},
|
|
962
|
+
"page": {
|
|
963
|
+
"type": "integer",
|
|
964
|
+
"description": "Page number"
|
|
965
|
+
},
|
|
966
|
+
"per_page": {
|
|
967
|
+
"type": "integer",
|
|
968
|
+
"description": "Number of items per page"
|
|
969
|
+
}
|
|
970
|
+
},
|
|
971
|
+
"required": [
|
|
972
|
+
"profileUuid"
|
|
973
|
+
]
|
|
974
|
+
},
|
|
975
|
+
"security": [
|
|
976
|
+
{
|
|
977
|
+
"apiToken": []
|
|
978
|
+
}
|
|
979
|
+
],
|
|
980
|
+
"group": "reach"
|
|
981
|
+
},
|
|
982
|
+
{
|
|
983
|
+
"name": "reach_createAProfileSegmentV1",
|
|
984
|
+
"description": "Create a segment in a profile.\n\nA segment is a saved set of conditions rather than a fixed list, so its membership changes\nas contacts change. Creating one does not modify any contact.",
|
|
985
|
+
"method": "POST",
|
|
986
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/segmentation/segments",
|
|
987
|
+
"inputSchema": {
|
|
988
|
+
"type": "object",
|
|
989
|
+
"properties": {
|
|
990
|
+
"profileUuid": {
|
|
991
|
+
"type": "string",
|
|
992
|
+
"description": "Profile uuid parameter"
|
|
993
|
+
},
|
|
994
|
+
"name": {
|
|
995
|
+
"type": "string",
|
|
996
|
+
"description": "name parameter"
|
|
997
|
+
},
|
|
998
|
+
"conditions": {
|
|
999
|
+
"type": "array",
|
|
1000
|
+
"description": "Conditions a contact must satisfy to fall into the segment",
|
|
1001
|
+
"items": {
|
|
1002
|
+
"type": "object",
|
|
1003
|
+
"description": "conditions parameter",
|
|
1004
|
+
"properties": {
|
|
1005
|
+
"attribute": {
|
|
1006
|
+
"type": "string",
|
|
1007
|
+
"description": "A built-in contact attribute, or `cf:{fieldUuid}` to target a custom\ncontact field. Custom fields are addressed by field UUID; their slug\nis not accepted.\n\nBuilt-in attributes: `email`, `note`, `domain`, `source`,\n`opt_in_method`, `subscription_status`, `subscribed_at`,\n`unsubscribed_at`, `created_at`, `tag`, `campaigns`, `processed`,\n`opened`, `clicked`, `delivered`, `bounced`, `soft_bounced`,\n`dropped`.\n\nWhich operators are accepted depends on the attribute."
|
|
1008
|
+
},
|
|
1009
|
+
"operator": {
|
|
1010
|
+
"type": "string",
|
|
1011
|
+
"description": "operator parameter",
|
|
1012
|
+
"enum": [
|
|
1013
|
+
"equals",
|
|
1014
|
+
"not_equals",
|
|
1015
|
+
"contains",
|
|
1016
|
+
"not_contains",
|
|
1017
|
+
"gte",
|
|
1018
|
+
"lte",
|
|
1019
|
+
"exists",
|
|
1020
|
+
"within_last_days",
|
|
1021
|
+
"not_within_last_days",
|
|
1022
|
+
"older_than_days",
|
|
1023
|
+
"processed",
|
|
1024
|
+
"not_processed",
|
|
1025
|
+
"delivered",
|
|
1026
|
+
"not_delivered",
|
|
1027
|
+
"dropped",
|
|
1028
|
+
"not_dropped",
|
|
1029
|
+
"bounced",
|
|
1030
|
+
"not_bounced",
|
|
1031
|
+
"soft_bounced",
|
|
1032
|
+
"not_soft_bounced",
|
|
1033
|
+
"opened",
|
|
1034
|
+
"not_opened",
|
|
1035
|
+
"clicked",
|
|
1036
|
+
"not_clicked",
|
|
1037
|
+
"unsubscribed",
|
|
1038
|
+
"not_unsubscribed"
|
|
1039
|
+
]
|
|
1040
|
+
},
|
|
1041
|
+
"value": {
|
|
1042
|
+
"type": "string",
|
|
1043
|
+
"description": "Always a string, including for numeric and date comparisons"
|
|
1044
|
+
}
|
|
1045
|
+
},
|
|
1046
|
+
"required": [
|
|
1047
|
+
"attribute",
|
|
1048
|
+
"operator",
|
|
1049
|
+
"value"
|
|
1050
|
+
]
|
|
1051
|
+
}
|
|
1052
|
+
},
|
|
1053
|
+
"logic": {
|
|
1054
|
+
"type": "string",
|
|
1055
|
+
"description": "How to combine multiple conditions",
|
|
1056
|
+
"enum": [
|
|
1057
|
+
"AND",
|
|
1058
|
+
"OR"
|
|
1059
|
+
]
|
|
1060
|
+
}
|
|
1061
|
+
},
|
|
1062
|
+
"required": [
|
|
1063
|
+
"profileUuid",
|
|
1064
|
+
"name",
|
|
1065
|
+
"conditions",
|
|
1066
|
+
"logic"
|
|
1067
|
+
]
|
|
1068
|
+
},
|
|
1069
|
+
"security": [
|
|
1070
|
+
{
|
|
1071
|
+
"apiToken": []
|
|
1072
|
+
}
|
|
1073
|
+
],
|
|
1074
|
+
"group": "reach"
|
|
1075
|
+
},
|
|
756
1076
|
{
|
|
757
1077
|
"name": "reach_listSegmentContactsV1",
|
|
758
|
-
"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.",
|
|
1078
|
+
"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.\n\n**Deprecated.** This endpoint cannot target a profile, so it always falls back to\nthe client's default profile and cannot read segments of any other profile. Use\n`GET /api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}/contacts` instead.",
|
|
759
1079
|
"method": "GET",
|
|
760
1080
|
"path": "/api/reach/v1/segmentation/segments/{segmentUuid}/contacts",
|
|
761
1081
|
"inputSchema": {
|
|
@@ -787,7 +1107,7 @@ const tools: OpenApiTool[] = [
|
|
|
787
1107
|
},
|
|
788
1108
|
{
|
|
789
1109
|
"name": "reach_getSegmentDetailsV1",
|
|
790
|
-
"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.",
|
|
1110
|
+
"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.\n\n**Deprecated.** This endpoint cannot target a profile, so it always falls back to\nthe client's default profile and cannot read segments of any other profile. Use\n`GET /api/reach/v1/profiles/{profileUuid}/segmentation/segments/{segmentUuid}` instead.",
|
|
791
1111
|
"method": "GET",
|
|
792
1112
|
"path": "/api/reach/v1/segmentation/segments/{segmentUuid}",
|
|
793
1113
|
"inputSchema": {
|
|
@@ -809,6 +1129,264 @@ const tools: OpenApiTool[] = [
|
|
|
809
1129
|
],
|
|
810
1130
|
"group": "reach"
|
|
811
1131
|
},
|
|
1132
|
+
{
|
|
1133
|
+
"name": "reach_assignAContactToATagV1",
|
|
1134
|
+
"description": "Assign a tag to a single contact.\n\nUnlike the bulk endpoint this is applied immediately rather than queued. Assigning a tag\nthe contact already carries succeeds without duplicating it.",
|
|
1135
|
+
"method": "POST",
|
|
1136
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts/{contactUuid}",
|
|
1137
|
+
"inputSchema": {
|
|
1138
|
+
"type": "object",
|
|
1139
|
+
"properties": {
|
|
1140
|
+
"profileUuid": {
|
|
1141
|
+
"type": "string",
|
|
1142
|
+
"description": "Profile uuid parameter"
|
|
1143
|
+
},
|
|
1144
|
+
"tagUuid": {
|
|
1145
|
+
"type": "string",
|
|
1146
|
+
"description": "Tag uuid parameter"
|
|
1147
|
+
},
|
|
1148
|
+
"contactUuid": {
|
|
1149
|
+
"type": "string",
|
|
1150
|
+
"description": "Contact uuid parameter"
|
|
1151
|
+
}
|
|
1152
|
+
},
|
|
1153
|
+
"required": [
|
|
1154
|
+
"profileUuid",
|
|
1155
|
+
"tagUuid",
|
|
1156
|
+
"contactUuid"
|
|
1157
|
+
]
|
|
1158
|
+
},
|
|
1159
|
+
"security": [
|
|
1160
|
+
{
|
|
1161
|
+
"apiToken": []
|
|
1162
|
+
}
|
|
1163
|
+
],
|
|
1164
|
+
"group": "reach"
|
|
1165
|
+
},
|
|
1166
|
+
{
|
|
1167
|
+
"name": "reach_removeAContactFromATagV1",
|
|
1168
|
+
"description": "Remove a tag from a single contact.\n\nUnlike the bulk endpoint this is applied immediately rather than queued. Neither the tag\nnor the contact is deleted.",
|
|
1169
|
+
"method": "DELETE",
|
|
1170
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts/{contactUuid}",
|
|
1171
|
+
"inputSchema": {
|
|
1172
|
+
"type": "object",
|
|
1173
|
+
"properties": {
|
|
1174
|
+
"profileUuid": {
|
|
1175
|
+
"type": "string",
|
|
1176
|
+
"description": "Profile uuid parameter"
|
|
1177
|
+
},
|
|
1178
|
+
"tagUuid": {
|
|
1179
|
+
"type": "string",
|
|
1180
|
+
"description": "Tag uuid parameter"
|
|
1181
|
+
},
|
|
1182
|
+
"contactUuid": {
|
|
1183
|
+
"type": "string",
|
|
1184
|
+
"description": "Contact uuid parameter"
|
|
1185
|
+
}
|
|
1186
|
+
},
|
|
1187
|
+
"required": [
|
|
1188
|
+
"profileUuid",
|
|
1189
|
+
"tagUuid",
|
|
1190
|
+
"contactUuid"
|
|
1191
|
+
]
|
|
1192
|
+
},
|
|
1193
|
+
"security": [
|
|
1194
|
+
{
|
|
1195
|
+
"apiToken": []
|
|
1196
|
+
}
|
|
1197
|
+
],
|
|
1198
|
+
"group": "reach"
|
|
1199
|
+
},
|
|
1200
|
+
{
|
|
1201
|
+
"name": "reach_assignContactsToATagV1",
|
|
1202
|
+
"description": "Assign a tag to many contacts at once.\n\nPass `contact_uuids` to target specific contacts, or `all_contacts` to target every contact\nin the profile. The work is queued, so a success response means it was accepted rather than\nfinished. Contacts that already carry the tag are left alone.",
|
|
1203
|
+
"method": "POST",
|
|
1204
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts",
|
|
1205
|
+
"inputSchema": {
|
|
1206
|
+
"type": "object",
|
|
1207
|
+
"properties": {
|
|
1208
|
+
"profileUuid": {
|
|
1209
|
+
"type": "string",
|
|
1210
|
+
"description": "Profile uuid parameter"
|
|
1211
|
+
},
|
|
1212
|
+
"tagUuid": {
|
|
1213
|
+
"type": "string",
|
|
1214
|
+
"description": "Tag uuid parameter"
|
|
1215
|
+
},
|
|
1216
|
+
"contact_uuids": {
|
|
1217
|
+
"type": "array",
|
|
1218
|
+
"description": "Contacts to apply the change to. Required unless all_contacts is true.",
|
|
1219
|
+
"items": {
|
|
1220
|
+
"type": "string",
|
|
1221
|
+
"description": "contact_uuids parameter"
|
|
1222
|
+
}
|
|
1223
|
+
},
|
|
1224
|
+
"all_contacts": {
|
|
1225
|
+
"type": "boolean",
|
|
1226
|
+
"description": "Apply to every contact in the profile"
|
|
1227
|
+
}
|
|
1228
|
+
},
|
|
1229
|
+
"required": [
|
|
1230
|
+
"profileUuid",
|
|
1231
|
+
"tagUuid"
|
|
1232
|
+
]
|
|
1233
|
+
},
|
|
1234
|
+
"security": [
|
|
1235
|
+
{
|
|
1236
|
+
"apiToken": []
|
|
1237
|
+
}
|
|
1238
|
+
],
|
|
1239
|
+
"group": "reach"
|
|
1240
|
+
},
|
|
1241
|
+
{
|
|
1242
|
+
"name": "reach_removeContactsFromATagV1",
|
|
1243
|
+
"description": "Remove a tag from many contacts at once.\n\nPass `contact_uuids` to target specific contacts, or `all_contacts` to target every contact\nin the profile. The work is queued, so a success response means it was accepted rather than\nfinished. The tag itself and the contacts are not deleted.",
|
|
1244
|
+
"method": "DELETE",
|
|
1245
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}/contacts",
|
|
1246
|
+
"inputSchema": {
|
|
1247
|
+
"type": "object",
|
|
1248
|
+
"properties": {
|
|
1249
|
+
"profileUuid": {
|
|
1250
|
+
"type": "string",
|
|
1251
|
+
"description": "Profile uuid parameter"
|
|
1252
|
+
},
|
|
1253
|
+
"tagUuid": {
|
|
1254
|
+
"type": "string",
|
|
1255
|
+
"description": "Tag uuid parameter"
|
|
1256
|
+
}
|
|
1257
|
+
},
|
|
1258
|
+
"required": [
|
|
1259
|
+
"profileUuid",
|
|
1260
|
+
"tagUuid"
|
|
1261
|
+
]
|
|
1262
|
+
},
|
|
1263
|
+
"security": [
|
|
1264
|
+
{
|
|
1265
|
+
"apiToken": []
|
|
1266
|
+
}
|
|
1267
|
+
],
|
|
1268
|
+
"group": "reach"
|
|
1269
|
+
},
|
|
1270
|
+
{
|
|
1271
|
+
"name": "reach_deleteATagV1",
|
|
1272
|
+
"description": "Delete a tag and remove it from every contact carrying it.\n\nThe contacts themselves are not deleted. This is idempotent: deleting a tag that does not\nexist in the profile still succeeds.",
|
|
1273
|
+
"method": "DELETE",
|
|
1274
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}",
|
|
1275
|
+
"inputSchema": {
|
|
1276
|
+
"type": "object",
|
|
1277
|
+
"properties": {
|
|
1278
|
+
"profileUuid": {
|
|
1279
|
+
"type": "string",
|
|
1280
|
+
"description": "Profile uuid parameter"
|
|
1281
|
+
},
|
|
1282
|
+
"tagUuid": {
|
|
1283
|
+
"type": "string",
|
|
1284
|
+
"description": "Tag uuid parameter"
|
|
1285
|
+
}
|
|
1286
|
+
},
|
|
1287
|
+
"required": [
|
|
1288
|
+
"profileUuid",
|
|
1289
|
+
"tagUuid"
|
|
1290
|
+
]
|
|
1291
|
+
},
|
|
1292
|
+
"security": [
|
|
1293
|
+
{
|
|
1294
|
+
"apiToken": []
|
|
1295
|
+
}
|
|
1296
|
+
],
|
|
1297
|
+
"group": "reach"
|
|
1298
|
+
},
|
|
1299
|
+
{
|
|
1300
|
+
"name": "reach_renameATagV1",
|
|
1301
|
+
"description": "Rename a tag.\n\nThe contacts assigned to the tag are unaffected. Names are unique within a profile, so\nrenaming a tag to a name that is already taken is rejected.",
|
|
1302
|
+
"method": "PATCH",
|
|
1303
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags/{tagUuid}",
|
|
1304
|
+
"inputSchema": {
|
|
1305
|
+
"type": "object",
|
|
1306
|
+
"properties": {
|
|
1307
|
+
"profileUuid": {
|
|
1308
|
+
"type": "string",
|
|
1309
|
+
"description": "Profile uuid parameter"
|
|
1310
|
+
},
|
|
1311
|
+
"tagUuid": {
|
|
1312
|
+
"type": "string",
|
|
1313
|
+
"description": "Tag uuid parameter"
|
|
1314
|
+
},
|
|
1315
|
+
"value": {
|
|
1316
|
+
"type": "string",
|
|
1317
|
+
"description": "New tag name"
|
|
1318
|
+
}
|
|
1319
|
+
},
|
|
1320
|
+
"required": [
|
|
1321
|
+
"profileUuid",
|
|
1322
|
+
"tagUuid",
|
|
1323
|
+
"value"
|
|
1324
|
+
]
|
|
1325
|
+
},
|
|
1326
|
+
"security": [
|
|
1327
|
+
{
|
|
1328
|
+
"apiToken": []
|
|
1329
|
+
}
|
|
1330
|
+
],
|
|
1331
|
+
"group": "reach"
|
|
1332
|
+
},
|
|
1333
|
+
{
|
|
1334
|
+
"name": "reach_listProfileTagsV1",
|
|
1335
|
+
"description": "Get all tags defined in a profile.\n\nTags are the way contacts are grouped in Reach, and can be used to filter the contact\nlist or to build segments.",
|
|
1336
|
+
"method": "GET",
|
|
1337
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags",
|
|
1338
|
+
"inputSchema": {
|
|
1339
|
+
"type": "object",
|
|
1340
|
+
"properties": {
|
|
1341
|
+
"profileUuid": {
|
|
1342
|
+
"type": "string",
|
|
1343
|
+
"description": "Profile uuid parameter"
|
|
1344
|
+
}
|
|
1345
|
+
},
|
|
1346
|
+
"required": [
|
|
1347
|
+
"profileUuid"
|
|
1348
|
+
]
|
|
1349
|
+
},
|
|
1350
|
+
"security": [
|
|
1351
|
+
{
|
|
1352
|
+
"apiToken": []
|
|
1353
|
+
}
|
|
1354
|
+
],
|
|
1355
|
+
"group": "reach"
|
|
1356
|
+
},
|
|
1357
|
+
{
|
|
1358
|
+
"name": "reach_createOrFindTagsV1",
|
|
1359
|
+
"description": "Create tags in a profile.\n\nNames that already exist in the profile are not duplicated: the existing tag is returned\ninstead, so the call is safe to repeat. Every tag in the request is returned, whether it\nwas created now or already existed.",
|
|
1360
|
+
"method": "POST",
|
|
1361
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/tags",
|
|
1362
|
+
"inputSchema": {
|
|
1363
|
+
"type": "object",
|
|
1364
|
+
"properties": {
|
|
1365
|
+
"profileUuid": {
|
|
1366
|
+
"type": "string",
|
|
1367
|
+
"description": "Profile uuid parameter"
|
|
1368
|
+
},
|
|
1369
|
+
"names": {
|
|
1370
|
+
"type": "array",
|
|
1371
|
+
"description": "names parameter",
|
|
1372
|
+
"items": {
|
|
1373
|
+
"type": "string",
|
|
1374
|
+
"description": "names parameter"
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
},
|
|
1378
|
+
"required": [
|
|
1379
|
+
"profileUuid",
|
|
1380
|
+
"names"
|
|
1381
|
+
]
|
|
1382
|
+
},
|
|
1383
|
+
"security": [
|
|
1384
|
+
{
|
|
1385
|
+
"apiToken": []
|
|
1386
|
+
}
|
|
1387
|
+
],
|
|
1388
|
+
"group": "reach"
|
|
1389
|
+
},
|
|
812
1390
|
{
|
|
813
1391
|
"name": "reach_getProfileDomainDNSStatusV1",
|
|
814
1392
|
"description": "Retrieve the DNS configuration status for a profile's domain.\n\nThis endpoint reports the state of MX, SPF, DKIM and DMARC records, including the\nactual records found and the suggested records required for correct email delivery.",
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
import { startServer } from '../core/runtime.js';
|
|
4
4
|
import tools from '../core/tools/agency-hosting.js';
|
|
5
5
|
|
|
6
|
-
startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.
|
|
6
|
+
startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.33.0', tools });
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
import { startServer } from '../core/runtime.js';
|
|
4
4
|
import tools from '../core/tools/agency-hosting.js';
|
|
5
5
|
|
|
6
|
-
startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.
|
|
6
|
+
startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.33.0', tools });
|
package/src/servers/all.js
CHANGED
package/src/servers/all.ts
CHANGED
package/src/servers/billing.js
CHANGED
package/src/servers/billing.ts
CHANGED
package/src/servers/dns.js
CHANGED