hostinger-api-mcp 1.18.0 → 1.19.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 CHANGED
@@ -49,7 +49,7 @@ pnpm update -g hostinger-api-mcp
49
49
 
50
50
  This package installs the following MCP server commands:
51
51
 
52
- - `hostinger-api-mcp` — unified server with every tool (248 total)
52
+ - `hostinger-api-mcp` — unified server with every tool (255 total)
53
53
  - `hostinger-agency-hosting-mcp` — 26 tools for agency-hosting
54
54
  - `hostinger-billing-mcp` — 8 tools for billing
55
55
  - `hostinger-dns-mcp` — 8 tools for dns
@@ -57,7 +57,7 @@ This package installs the following MCP server commands:
57
57
  - `hostinger-ecommerce-mcp` — 12 tools for ecommerce
58
58
  - `hostinger-horizons-mcp` — 2 tools for horizons
59
59
  - `hostinger-hosting-mcp` — 48 tools for hosting
60
- - `hostinger-mail-mcp` — 12 tools for mail
60
+ - `hostinger-mail-mcp` — 19 tools for mail
61
61
  - `hostinger-reach-mcp` — 12 tools for reach
62
62
  - `hostinger-vps-mcp` — 62 tools for vps
63
63
  - `hostinger-wordpress-mcp` — 35 tools for wordpress
@@ -1657,6 +1657,68 @@ every delivery.
1657
1657
  - **Method**: `POST`
1658
1658
  - **Path**: `/api/mail/v1/mailboxes/{mailboxId}/webhooks`
1659
1659
 
1660
+ #### mail_listWebhookDeliveryLogsV1
1661
+
1662
+ Retrieve a paginated list of webhook delivery logs for the given mail
1663
+ order, including delivery outcome, duration, and retry counts.
1664
+ Supports filtering by mailbox.
1665
+
1666
+ - **Method**: `GET`
1667
+ - **Path**: `/api/mail/v1/orders/{orderId}/webhooks/delivery-logs`
1668
+
1669
+ #### mail_getWebhookV1
1670
+
1671
+ Retrieve the details of a single webhook. The webhook secret is never
1672
+ included; it is returned only when a webhook is created or its secret
1673
+ is regenerated.
1674
+
1675
+ - **Method**: `GET`
1676
+ - **Path**: `/api/mail/v1/webhooks/{webhookId}`
1677
+
1678
+ #### mail_deleteWebhookV1
1679
+
1680
+ Permanently delete a webhook. This action cannot be undone. After
1681
+ deletion the URL no longer receives event notifications.
1682
+
1683
+ - **Method**: `DELETE`
1684
+ - **Path**: `/api/mail/v1/webhooks/{webhookId}`
1685
+
1686
+ #### mail_updateWebhookV1
1687
+
1688
+ Partially update a webhook. Only the fields included in the request
1689
+ body are changed; omitted fields retain their current values. Pass
1690
+ `"description": null` to clear the description.
1691
+
1692
+ - **Method**: `PATCH`
1693
+ - **Path**: `/api/mail/v1/webhooks/{webhookId}`
1694
+
1695
+ #### mail_listWebhooksV1
1696
+
1697
+ Retrieve a paginated list of webhooks belonging to the given mail
1698
+ order. Supports filtering by mailbox and status. The webhook secret
1699
+ is never included; it is returned only when a webhook is created or
1700
+ its secret is regenerated.
1701
+
1702
+ - **Method**: `GET`
1703
+ - **Path**: `/api/mail/v1/orders/{orderId}/webhooks`
1704
+
1705
+ #### mail_regenerateWebhookSecretV1
1706
+
1707
+ Regenerate the secret of a webhook. The previous secret is
1708
+ immediately invalidated. The new secret is returned only in this
1709
+ response and is sent as a bearer token with every delivery.
1710
+
1711
+ - **Method**: `POST`
1712
+ - **Path**: `/api/mail/v1/webhooks/{webhookId}/regenerate-secret`
1713
+
1714
+ #### mail_testWebhookV1
1715
+
1716
+ Send a test delivery to the webhook URL and return the result. Test
1717
+ requests are rate limited upstream.
1718
+
1719
+ - **Method**: `POST`
1720
+ - **Path**: `/api/mail/v1/webhooks/{webhookId}/test`
1721
+
1660
1722
  ### `hostinger-reach-mcp`
1661
1723
 
1662
1724
  #### reach_deleteAContactV1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.18.0",
3
+ "version": "1.19.0",
4
4
  "description": "Hostinger API — manage domains, DNS, hosting, VPS, billing and more from Gemini CLI.",
5
5
  "mcpServers": {
6
6
  "hostinger": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.18.0",
3
+ "version": "1.19.0",
4
4
  "mcpName": "io.github.hostinger/hostinger-api-mcp",
5
5
  "description": "MCP server for Hostinger API",
6
6
  "repository": {
package/server.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/hostinger/api-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "1.18.0",
9
+ "version": "1.19.0",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "hostinger-api-mcp",
14
- "version": "1.18.0",
14
+ "version": "1.19.0",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },
@@ -29,7 +29,7 @@ const SECURITY_SCHEMES = {
29
29
 
30
30
  /**
31
31
  * MCP Server for Hostinger API
32
- * Generated from OpenAPI spec version 1.16.0
32
+ * Generated from OpenAPI spec version 1.17.0
33
33
  */
34
34
  class MCPServer {
35
35
  constructor({ name, version, tools }) {
@@ -52,7 +52,7 @@ const SECURITY_SCHEMES: Record<string, SecurityScheme> = {
52
52
 
53
53
  /**
54
54
  * MCP Server for Hostinger API
55
- * Generated from OpenAPI spec version 1.16.0
55
+ * Generated from OpenAPI spec version 1.17.0
56
56
  */
57
57
  class MCPServer {
58
58
  private readonly name: string;
@@ -4829,6 +4829,239 @@ export default [
4829
4829
  ],
4830
4830
  "group": "mail"
4831
4831
  },
4832
+ {
4833
+ "name": "mail_listWebhookDeliveryLogsV1",
4834
+ "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.",
4835
+ "method": "GET",
4836
+ "path": "/api/mail/v1/orders/{orderId}/webhooks/delivery-logs",
4837
+ "inputSchema": {
4838
+ "type": "object",
4839
+ "properties": {
4840
+ "orderId": {
4841
+ "type": "string",
4842
+ "description": "Order resource ID"
4843
+ },
4844
+ "mailbox_id": {
4845
+ "type": "string",
4846
+ "description": "Filter by the mailbox resource ID the webhooks are attached to"
4847
+ },
4848
+ "page": {
4849
+ "type": "integer",
4850
+ "description": "Page number"
4851
+ },
4852
+ "per_page": {
4853
+ "type": "integer",
4854
+ "description": "Number of items per page"
4855
+ }
4856
+ },
4857
+ "required": [
4858
+ "orderId"
4859
+ ]
4860
+ },
4861
+ "security": [
4862
+ {
4863
+ "apiToken": []
4864
+ }
4865
+ ],
4866
+ "group": "mail"
4867
+ },
4868
+ {
4869
+ "name": "mail_getWebhookV1",
4870
+ "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.",
4871
+ "method": "GET",
4872
+ "path": "/api/mail/v1/webhooks/{webhookId}",
4873
+ "inputSchema": {
4874
+ "type": "object",
4875
+ "properties": {
4876
+ "webhookId": {
4877
+ "type": "string",
4878
+ "description": "Webhook ID (returned when the webhook was created)"
4879
+ }
4880
+ },
4881
+ "required": [
4882
+ "webhookId"
4883
+ ]
4884
+ },
4885
+ "security": [
4886
+ {
4887
+ "apiToken": []
4888
+ }
4889
+ ],
4890
+ "group": "mail"
4891
+ },
4892
+ {
4893
+ "name": "mail_deleteWebhookV1",
4894
+ "description": "Permanently delete a webhook. This action cannot be undone. After\ndeletion the URL no longer receives event notifications.",
4895
+ "method": "DELETE",
4896
+ "path": "/api/mail/v1/webhooks/{webhookId}",
4897
+ "inputSchema": {
4898
+ "type": "object",
4899
+ "properties": {
4900
+ "webhookId": {
4901
+ "type": "string",
4902
+ "description": "Webhook ID (returned when the webhook was created)"
4903
+ }
4904
+ },
4905
+ "required": [
4906
+ "webhookId"
4907
+ ]
4908
+ },
4909
+ "security": [
4910
+ {
4911
+ "apiToken": []
4912
+ }
4913
+ ],
4914
+ "group": "mail"
4915
+ },
4916
+ {
4917
+ "name": "mail_updateWebhookV1",
4918
+ "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.",
4919
+ "method": "PATCH",
4920
+ "path": "/api/mail/v1/webhooks/{webhookId}",
4921
+ "inputSchema": {
4922
+ "type": "object",
4923
+ "properties": {
4924
+ "webhookId": {
4925
+ "type": "string",
4926
+ "description": "Webhook ID (returned when the webhook was created)"
4927
+ },
4928
+ "name": {
4929
+ "type": "string",
4930
+ "description": "New human-readable name for the webhook"
4931
+ },
4932
+ "description": {
4933
+ "type": "string",
4934
+ "description": "New description, or null to clear it"
4935
+ },
4936
+ "events": {
4937
+ "type": "array",
4938
+ "description": "Replaces the full list of subscribed events",
4939
+ "items": {
4940
+ "type": "string",
4941
+ "description": "events parameter",
4942
+ "enum": [
4943
+ "message.received"
4944
+ ]
4945
+ }
4946
+ },
4947
+ "status": {
4948
+ "type": "string",
4949
+ "description": "New status for the webhook",
4950
+ "enum": [
4951
+ "active",
4952
+ "disabled",
4953
+ "paused"
4954
+ ]
4955
+ },
4956
+ "url": {
4957
+ "type": "string",
4958
+ "description": "New URL to deliver events to"
4959
+ }
4960
+ },
4961
+ "required": [
4962
+ "webhookId"
4963
+ ]
4964
+ },
4965
+ "security": [
4966
+ {
4967
+ "apiToken": []
4968
+ }
4969
+ ],
4970
+ "group": "mail"
4971
+ },
4972
+ {
4973
+ "name": "mail_listWebhooksV1",
4974
+ "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.",
4975
+ "method": "GET",
4976
+ "path": "/api/mail/v1/orders/{orderId}/webhooks",
4977
+ "inputSchema": {
4978
+ "type": "object",
4979
+ "properties": {
4980
+ "orderId": {
4981
+ "type": "string",
4982
+ "description": "Order resource ID"
4983
+ },
4984
+ "mailbox_id": {
4985
+ "type": "string",
4986
+ "description": "Filter by the mailbox resource ID the webhooks are attached to"
4987
+ },
4988
+ "status": {
4989
+ "type": "string",
4990
+ "description": "Filter webhooks by status",
4991
+ "enum": [
4992
+ "active",
4993
+ "disabled",
4994
+ "paused"
4995
+ ]
4996
+ },
4997
+ "page": {
4998
+ "type": "integer",
4999
+ "description": "Page number"
5000
+ },
5001
+ "per_page": {
5002
+ "type": "integer",
5003
+ "description": "Number of items per page"
5004
+ }
5005
+ },
5006
+ "required": [
5007
+ "orderId"
5008
+ ]
5009
+ },
5010
+ "security": [
5011
+ {
5012
+ "apiToken": []
5013
+ }
5014
+ ],
5015
+ "group": "mail"
5016
+ },
5017
+ {
5018
+ "name": "mail_regenerateWebhookSecretV1",
5019
+ "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.",
5020
+ "method": "POST",
5021
+ "path": "/api/mail/v1/webhooks/{webhookId}/regenerate-secret",
5022
+ "inputSchema": {
5023
+ "type": "object",
5024
+ "properties": {
5025
+ "webhookId": {
5026
+ "type": "string",
5027
+ "description": "Webhook ID (returned when the webhook was created)"
5028
+ }
5029
+ },
5030
+ "required": [
5031
+ "webhookId"
5032
+ ]
5033
+ },
5034
+ "security": [
5035
+ {
5036
+ "apiToken": []
5037
+ }
5038
+ ],
5039
+ "group": "mail"
5040
+ },
5041
+ {
5042
+ "name": "mail_testWebhookV1",
5043
+ "description": "Send a test delivery to the webhook URL and return the result. Test\nrequests are rate limited upstream.",
5044
+ "method": "POST",
5045
+ "path": "/api/mail/v1/webhooks/{webhookId}/test",
5046
+ "inputSchema": {
5047
+ "type": "object",
5048
+ "properties": {
5049
+ "webhookId": {
5050
+ "type": "string",
5051
+ "description": "Webhook ID (returned when the webhook was created)"
5052
+ }
5053
+ },
5054
+ "required": [
5055
+ "webhookId"
5056
+ ]
5057
+ },
5058
+ "security": [
5059
+ {
5060
+ "apiToken": []
5061
+ }
5062
+ ],
5063
+ "group": "mail"
5064
+ },
4832
5065
  {
4833
5066
  "name": "reach_deleteAContactV1",
4834
5067
  "description": "Delete a contact with the specified UUID.\n\nThis endpoint permanently removes a contact from the email marketing system.",
@@ -4843,6 +4843,239 @@ const tools: OpenApiTool[] = [
4843
4843
  ],
4844
4844
  "group": "mail"
4845
4845
  },
4846
+ {
4847
+ "name": "mail_listWebhookDeliveryLogsV1",
4848
+ "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.",
4849
+ "method": "GET",
4850
+ "path": "/api/mail/v1/orders/{orderId}/webhooks/delivery-logs",
4851
+ "inputSchema": {
4852
+ "type": "object",
4853
+ "properties": {
4854
+ "orderId": {
4855
+ "type": "string",
4856
+ "description": "Order resource ID"
4857
+ },
4858
+ "mailbox_id": {
4859
+ "type": "string",
4860
+ "description": "Filter by the mailbox resource ID the webhooks are attached to"
4861
+ },
4862
+ "page": {
4863
+ "type": "integer",
4864
+ "description": "Page number"
4865
+ },
4866
+ "per_page": {
4867
+ "type": "integer",
4868
+ "description": "Number of items per page"
4869
+ }
4870
+ },
4871
+ "required": [
4872
+ "orderId"
4873
+ ]
4874
+ },
4875
+ "security": [
4876
+ {
4877
+ "apiToken": []
4878
+ }
4879
+ ],
4880
+ "group": "mail"
4881
+ },
4882
+ {
4883
+ "name": "mail_getWebhookV1",
4884
+ "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.",
4885
+ "method": "GET",
4886
+ "path": "/api/mail/v1/webhooks/{webhookId}",
4887
+ "inputSchema": {
4888
+ "type": "object",
4889
+ "properties": {
4890
+ "webhookId": {
4891
+ "type": "string",
4892
+ "description": "Webhook ID (returned when the webhook was created)"
4893
+ }
4894
+ },
4895
+ "required": [
4896
+ "webhookId"
4897
+ ]
4898
+ },
4899
+ "security": [
4900
+ {
4901
+ "apiToken": []
4902
+ }
4903
+ ],
4904
+ "group": "mail"
4905
+ },
4906
+ {
4907
+ "name": "mail_deleteWebhookV1",
4908
+ "description": "Permanently delete a webhook. This action cannot be undone. After\ndeletion the URL no longer receives event notifications.",
4909
+ "method": "DELETE",
4910
+ "path": "/api/mail/v1/webhooks/{webhookId}",
4911
+ "inputSchema": {
4912
+ "type": "object",
4913
+ "properties": {
4914
+ "webhookId": {
4915
+ "type": "string",
4916
+ "description": "Webhook ID (returned when the webhook was created)"
4917
+ }
4918
+ },
4919
+ "required": [
4920
+ "webhookId"
4921
+ ]
4922
+ },
4923
+ "security": [
4924
+ {
4925
+ "apiToken": []
4926
+ }
4927
+ ],
4928
+ "group": "mail"
4929
+ },
4930
+ {
4931
+ "name": "mail_updateWebhookV1",
4932
+ "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.",
4933
+ "method": "PATCH",
4934
+ "path": "/api/mail/v1/webhooks/{webhookId}",
4935
+ "inputSchema": {
4936
+ "type": "object",
4937
+ "properties": {
4938
+ "webhookId": {
4939
+ "type": "string",
4940
+ "description": "Webhook ID (returned when the webhook was created)"
4941
+ },
4942
+ "name": {
4943
+ "type": "string",
4944
+ "description": "New human-readable name for the webhook"
4945
+ },
4946
+ "description": {
4947
+ "type": "string",
4948
+ "description": "New description, or null to clear it"
4949
+ },
4950
+ "events": {
4951
+ "type": "array",
4952
+ "description": "Replaces the full list of subscribed events",
4953
+ "items": {
4954
+ "type": "string",
4955
+ "description": "events parameter",
4956
+ "enum": [
4957
+ "message.received"
4958
+ ]
4959
+ }
4960
+ },
4961
+ "status": {
4962
+ "type": "string",
4963
+ "description": "New status for the webhook",
4964
+ "enum": [
4965
+ "active",
4966
+ "disabled",
4967
+ "paused"
4968
+ ]
4969
+ },
4970
+ "url": {
4971
+ "type": "string",
4972
+ "description": "New URL to deliver events to"
4973
+ }
4974
+ },
4975
+ "required": [
4976
+ "webhookId"
4977
+ ]
4978
+ },
4979
+ "security": [
4980
+ {
4981
+ "apiToken": []
4982
+ }
4983
+ ],
4984
+ "group": "mail"
4985
+ },
4986
+ {
4987
+ "name": "mail_listWebhooksV1",
4988
+ "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.",
4989
+ "method": "GET",
4990
+ "path": "/api/mail/v1/orders/{orderId}/webhooks",
4991
+ "inputSchema": {
4992
+ "type": "object",
4993
+ "properties": {
4994
+ "orderId": {
4995
+ "type": "string",
4996
+ "description": "Order resource ID"
4997
+ },
4998
+ "mailbox_id": {
4999
+ "type": "string",
5000
+ "description": "Filter by the mailbox resource ID the webhooks are attached to"
5001
+ },
5002
+ "status": {
5003
+ "type": "string",
5004
+ "description": "Filter webhooks by status",
5005
+ "enum": [
5006
+ "active",
5007
+ "disabled",
5008
+ "paused"
5009
+ ]
5010
+ },
5011
+ "page": {
5012
+ "type": "integer",
5013
+ "description": "Page number"
5014
+ },
5015
+ "per_page": {
5016
+ "type": "integer",
5017
+ "description": "Number of items per page"
5018
+ }
5019
+ },
5020
+ "required": [
5021
+ "orderId"
5022
+ ]
5023
+ },
5024
+ "security": [
5025
+ {
5026
+ "apiToken": []
5027
+ }
5028
+ ],
5029
+ "group": "mail"
5030
+ },
5031
+ {
5032
+ "name": "mail_regenerateWebhookSecretV1",
5033
+ "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.",
5034
+ "method": "POST",
5035
+ "path": "/api/mail/v1/webhooks/{webhookId}/regenerate-secret",
5036
+ "inputSchema": {
5037
+ "type": "object",
5038
+ "properties": {
5039
+ "webhookId": {
5040
+ "type": "string",
5041
+ "description": "Webhook ID (returned when the webhook was created)"
5042
+ }
5043
+ },
5044
+ "required": [
5045
+ "webhookId"
5046
+ ]
5047
+ },
5048
+ "security": [
5049
+ {
5050
+ "apiToken": []
5051
+ }
5052
+ ],
5053
+ "group": "mail"
5054
+ },
5055
+ {
5056
+ "name": "mail_testWebhookV1",
5057
+ "description": "Send a test delivery to the webhook URL and return the result. Test\nrequests are rate limited upstream.",
5058
+ "method": "POST",
5059
+ "path": "/api/mail/v1/webhooks/{webhookId}/test",
5060
+ "inputSchema": {
5061
+ "type": "object",
5062
+ "properties": {
5063
+ "webhookId": {
5064
+ "type": "string",
5065
+ "description": "Webhook ID (returned when the webhook was created)"
5066
+ }
5067
+ },
5068
+ "required": [
5069
+ "webhookId"
5070
+ ]
5071
+ },
5072
+ "security": [
5073
+ {
5074
+ "apiToken": []
5075
+ }
5076
+ ],
5077
+ "group": "mail"
5078
+ },
4846
5079
  {
4847
5080
  "name": "reach_deleteAContactV1",
4848
5081
  "description": "Delete a contact with the specified UUID.\n\nThis endpoint permanently removes a contact from the email marketing system.",