hostinger-api-mcp 1.18.0 → 1.20.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.
@@ -14,6 +14,111 @@ export interface OpenApiTool extends Tool {
14
14
  }
15
15
 
16
16
  const tools: OpenApiTool[] = [
17
+ {
18
+ "name": "mail_createAPITokenV1",
19
+ "description": "Create an API token for the given mail order. The token grants access\nto the [Hostinger Email API](https://api.mail.hostinger.com/), where\nyou can provision and manage the mailboxes it is scoped to.\n\nThe plaintext token is returned only in this response, never again.\nA maximum of 10 tokens can exist per order. Use\n`scope.has_all_mailboxes` to cover all current and future mailboxes,\nor list specific mailboxes in `scope.mailbox_ids`.",
20
+ "method": "POST",
21
+ "path": "/api/mail/v1/orders/{orderId}/api-tokens",
22
+ "inputSchema": {
23
+ "type": "object",
24
+ "properties": {
25
+ "orderId": {
26
+ "type": "string",
27
+ "description": "Order resource ID"
28
+ },
29
+ "name": {
30
+ "type": "string",
31
+ "description": "Human-readable label for this token"
32
+ },
33
+ "scope": {
34
+ "type": "object",
35
+ "description": "Mailbox scope this token can access",
36
+ "properties": {
37
+ "has_all_mailboxes": {
38
+ "type": "boolean",
39
+ "description": "Grant access to all current and future mailboxes of the order"
40
+ },
41
+ "mailbox_ids": {
42
+ "type": "array",
43
+ "description": "Required when `has_all_mailboxes` is false. Mailbox resource IDs of this order.",
44
+ "items": {
45
+ "type": "string",
46
+ "description": "mailbox_ids parameter"
47
+ }
48
+ }
49
+ },
50
+ "required": [
51
+ "has_all_mailboxes"
52
+ ]
53
+ }
54
+ },
55
+ "required": [
56
+ "orderId",
57
+ "name",
58
+ "scope"
59
+ ]
60
+ },
61
+ "security": [
62
+ {
63
+ "apiToken": []
64
+ }
65
+ ],
66
+ "group": "mail"
67
+ },
68
+ {
69
+ "name": "mail_revokeAPITokenV1",
70
+ "description": "Revoke an API token. The token immediately loses access to the\n[Hostinger Email API](https://api.mail.hostinger.com/). This action\ncannot be undone.",
71
+ "method": "DELETE",
72
+ "path": "/api/mail/v1/api-tokens/{tokenId}",
73
+ "inputSchema": {
74
+ "type": "object",
75
+ "properties": {
76
+ "tokenId": {
77
+ "type": "string",
78
+ "description": "API token ID (returned when the token was created)"
79
+ }
80
+ },
81
+ "required": [
82
+ "tokenId"
83
+ ]
84
+ },
85
+ "security": [
86
+ {
87
+ "apiToken": []
88
+ }
89
+ ],
90
+ "group": "mail"
91
+ },
92
+ {
93
+ "name": "mail_listAPITokensV1",
94
+ "description": "Retrieve a paginated list of\n[Hostinger Email API](https://api.mail.hostinger.com/) tokens across\nall your mail orders, optionally filtered by order. Plaintext tokens\nare never included; they are returned only when a token is created.",
95
+ "method": "GET",
96
+ "path": "/api/mail/v1/api-tokens",
97
+ "inputSchema": {
98
+ "type": "object",
99
+ "properties": {
100
+ "order_id": {
101
+ "type": "string",
102
+ "description": "Filter tokens by order resource ID. Single value or comma-separated list."
103
+ },
104
+ "page": {
105
+ "type": "integer",
106
+ "description": "Page number"
107
+ },
108
+ "per_page": {
109
+ "type": "integer",
110
+ "description": "Number of items per page"
111
+ }
112
+ },
113
+ "required": []
114
+ },
115
+ "security": [
116
+ {
117
+ "apiToken": []
118
+ }
119
+ ],
120
+ "group": "mail"
121
+ },
17
122
  {
18
123
  "name": "mail_listAccessLogsV1",
19
124
  "description": "Retrieve paginated access logs for the domain attached to the given\nmail order. Supports filtering by account, date range, protocol,\nstatus, and deletion flag. Results are sorted by timestamp descending.",
@@ -595,6 +700,239 @@ const tools: OpenApiTool[] = [
595
700
  }
596
701
  ],
597
702
  "group": "mail"
703
+ },
704
+ {
705
+ "name": "mail_listWebhookDeliveryLogsV1",
706
+ "description": "Retrieve a paginated list of webhook delivery logs for the given mail\norder, including delivery outcome, duration, and retry counts.\nSupports filtering by mailbox.",
707
+ "method": "GET",
708
+ "path": "/api/mail/v1/orders/{orderId}/webhooks/delivery-logs",
709
+ "inputSchema": {
710
+ "type": "object",
711
+ "properties": {
712
+ "orderId": {
713
+ "type": "string",
714
+ "description": "Order resource ID"
715
+ },
716
+ "mailbox_id": {
717
+ "type": "string",
718
+ "description": "Filter by the mailbox resource ID the webhooks are attached to"
719
+ },
720
+ "page": {
721
+ "type": "integer",
722
+ "description": "Page number"
723
+ },
724
+ "per_page": {
725
+ "type": "integer",
726
+ "description": "Number of items per page"
727
+ }
728
+ },
729
+ "required": [
730
+ "orderId"
731
+ ]
732
+ },
733
+ "security": [
734
+ {
735
+ "apiToken": []
736
+ }
737
+ ],
738
+ "group": "mail"
739
+ },
740
+ {
741
+ "name": "mail_getWebhookV1",
742
+ "description": "Retrieve the details of a single webhook. The webhook secret is never\nincluded; it is returned only when a webhook is created or its secret\nis regenerated.",
743
+ "method": "GET",
744
+ "path": "/api/mail/v1/webhooks/{webhookId}",
745
+ "inputSchema": {
746
+ "type": "object",
747
+ "properties": {
748
+ "webhookId": {
749
+ "type": "string",
750
+ "description": "Webhook ID (returned when the webhook was created)"
751
+ }
752
+ },
753
+ "required": [
754
+ "webhookId"
755
+ ]
756
+ },
757
+ "security": [
758
+ {
759
+ "apiToken": []
760
+ }
761
+ ],
762
+ "group": "mail"
763
+ },
764
+ {
765
+ "name": "mail_deleteWebhookV1",
766
+ "description": "Permanently delete a webhook. This action cannot be undone. After\ndeletion the URL no longer receives event notifications.",
767
+ "method": "DELETE",
768
+ "path": "/api/mail/v1/webhooks/{webhookId}",
769
+ "inputSchema": {
770
+ "type": "object",
771
+ "properties": {
772
+ "webhookId": {
773
+ "type": "string",
774
+ "description": "Webhook ID (returned when the webhook was created)"
775
+ }
776
+ },
777
+ "required": [
778
+ "webhookId"
779
+ ]
780
+ },
781
+ "security": [
782
+ {
783
+ "apiToken": []
784
+ }
785
+ ],
786
+ "group": "mail"
787
+ },
788
+ {
789
+ "name": "mail_updateWebhookV1",
790
+ "description": "Partially update a webhook. Only the fields included in the request\nbody are changed; omitted fields retain their current values. Pass\n`\"description\": null` to clear the description.",
791
+ "method": "PATCH",
792
+ "path": "/api/mail/v1/webhooks/{webhookId}",
793
+ "inputSchema": {
794
+ "type": "object",
795
+ "properties": {
796
+ "webhookId": {
797
+ "type": "string",
798
+ "description": "Webhook ID (returned when the webhook was created)"
799
+ },
800
+ "name": {
801
+ "type": "string",
802
+ "description": "New human-readable name for the webhook"
803
+ },
804
+ "description": {
805
+ "type": "string",
806
+ "description": "New description, or null to clear it"
807
+ },
808
+ "events": {
809
+ "type": "array",
810
+ "description": "Replaces the full list of subscribed events",
811
+ "items": {
812
+ "type": "string",
813
+ "description": "events parameter",
814
+ "enum": [
815
+ "message.received"
816
+ ]
817
+ }
818
+ },
819
+ "status": {
820
+ "type": "string",
821
+ "description": "New status for the webhook",
822
+ "enum": [
823
+ "active",
824
+ "disabled",
825
+ "paused"
826
+ ]
827
+ },
828
+ "url": {
829
+ "type": "string",
830
+ "description": "New URL to deliver events to"
831
+ }
832
+ },
833
+ "required": [
834
+ "webhookId"
835
+ ]
836
+ },
837
+ "security": [
838
+ {
839
+ "apiToken": []
840
+ }
841
+ ],
842
+ "group": "mail"
843
+ },
844
+ {
845
+ "name": "mail_listWebhooksV1",
846
+ "description": "Retrieve a paginated list of webhooks belonging to the given mail\norder. Supports filtering by mailbox and status. The webhook secret\nis never included; it is returned only when a webhook is created or\nits secret is regenerated.",
847
+ "method": "GET",
848
+ "path": "/api/mail/v1/orders/{orderId}/webhooks",
849
+ "inputSchema": {
850
+ "type": "object",
851
+ "properties": {
852
+ "orderId": {
853
+ "type": "string",
854
+ "description": "Order resource ID"
855
+ },
856
+ "mailbox_id": {
857
+ "type": "string",
858
+ "description": "Filter by the mailbox resource ID the webhooks are attached to"
859
+ },
860
+ "status": {
861
+ "type": "string",
862
+ "description": "Filter webhooks by status",
863
+ "enum": [
864
+ "active",
865
+ "disabled",
866
+ "paused"
867
+ ]
868
+ },
869
+ "page": {
870
+ "type": "integer",
871
+ "description": "Page number"
872
+ },
873
+ "per_page": {
874
+ "type": "integer",
875
+ "description": "Number of items per page"
876
+ }
877
+ },
878
+ "required": [
879
+ "orderId"
880
+ ]
881
+ },
882
+ "security": [
883
+ {
884
+ "apiToken": []
885
+ }
886
+ ],
887
+ "group": "mail"
888
+ },
889
+ {
890
+ "name": "mail_regenerateWebhookSecretV1",
891
+ "description": "Regenerate the secret of a webhook. The previous secret is\nimmediately invalidated. The new secret is returned only in this\nresponse and is sent as a bearer token with every delivery.",
892
+ "method": "POST",
893
+ "path": "/api/mail/v1/webhooks/{webhookId}/regenerate-secret",
894
+ "inputSchema": {
895
+ "type": "object",
896
+ "properties": {
897
+ "webhookId": {
898
+ "type": "string",
899
+ "description": "Webhook ID (returned when the webhook was created)"
900
+ }
901
+ },
902
+ "required": [
903
+ "webhookId"
904
+ ]
905
+ },
906
+ "security": [
907
+ {
908
+ "apiToken": []
909
+ }
910
+ ],
911
+ "group": "mail"
912
+ },
913
+ {
914
+ "name": "mail_testWebhookV1",
915
+ "description": "Send a test delivery to the webhook URL and return the result. Test\nrequests are rate limited upstream.",
916
+ "method": "POST",
917
+ "path": "/api/mail/v1/webhooks/{webhookId}/test",
918
+ "inputSchema": {
919
+ "type": "object",
920
+ "properties": {
921
+ "webhookId": {
922
+ "type": "string",
923
+ "description": "Webhook ID (returned when the webhook was created)"
924
+ }
925
+ },
926
+ "required": [
927
+ "webhookId"
928
+ ]
929
+ },
930
+ "security": [
931
+ {
932
+ "apiToken": []
933
+ }
934
+ ],
935
+ "group": "mail"
598
936
  }
599
937
  ];
600
938
  export default 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.18.0', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.20.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.18.0', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/all.js';
5
5
 
6
- startServer({ name: 'hostinger-api-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/all.js';
5
5
 
6
- startServer({ name: 'hostinger-api-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/billing.js';
5
5
 
6
- startServer({ name: 'hostinger-billing-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/billing.js';
5
5
 
6
- startServer({ name: 'hostinger-billing-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/dns.js';
5
5
 
6
- startServer({ name: 'hostinger-dns-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/dns.js';
5
5
 
6
- startServer({ name: 'hostinger-dns-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/domains.js';
5
5
 
6
- startServer({ name: 'hostinger-domains-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/domains.js';
5
5
 
6
- startServer({ name: 'hostinger-domains-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/ecommerce.js';
5
5
 
6
- startServer({ name: 'hostinger-ecommerce-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/ecommerce.js';
5
5
 
6
- startServer({ name: 'hostinger-ecommerce-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/horizons.js';
5
5
 
6
- startServer({ name: 'hostinger-horizons-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/horizons.js';
5
5
 
6
- startServer({ name: 'hostinger-horizons-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-hosting-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-hosting-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/mail.js';
5
5
 
6
- startServer({ name: 'hostinger-mail-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/mail.js';
5
5
 
6
- startServer({ name: 'hostinger-mail-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/reach.js';
5
5
 
6
- startServer({ name: 'hostinger-reach-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/reach.js';
5
5
 
6
- startServer({ name: 'hostinger-reach-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/vps.js';
5
5
 
6
- startServer({ name: 'hostinger-vps-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/vps.js';
5
5
 
6
- startServer({ name: 'hostinger-vps-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/wordpress.js';
5
5
 
6
- startServer({ name: 'hostinger-wordpress-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.20.0', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/wordpress.js';
5
5
 
6
- startServer({ name: 'hostinger-wordpress-mcp', version: '1.18.0', tools });
6
+ startServer({ name: 'hostinger-wordpress-mcp', version: '1.20.0', tools });