hostinger-api-mcp 1.36.0 → 1.38.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.
@@ -107,6 +107,124 @@ export default [
107
107
  ],
108
108
  "group": "reach"
109
109
  },
110
+ {
111
+ "name": "reach_getCampaignDetailsV1",
112
+ "description": "Get a single campaign with its sender, subject, template reference, targeting and delivery\nprogress.\n\nThis describes how the campaign was set up and how far it has got. For opens, clicks and\nunsubscribes use the campaign statistics endpoint.",
113
+ "method": "GET",
114
+ "path": "/api/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}",
115
+ "inputSchema": {
116
+ "type": "object",
117
+ "properties": {
118
+ "profileUuid": {
119
+ "type": "string",
120
+ "description": "Profile uuid parameter"
121
+ },
122
+ "campaignUuid": {
123
+ "type": "string",
124
+ "description": "Campaign uuid parameter"
125
+ }
126
+ },
127
+ "required": [
128
+ "profileUuid",
129
+ "campaignUuid"
130
+ ]
131
+ },
132
+ "security": [
133
+ {
134
+ "apiToken": []
135
+ }
136
+ ],
137
+ "group": "reach"
138
+ },
139
+ {
140
+ "name": "reach_listCampaignsV1",
141
+ "description": "Get a paginated list of the campaigns in a profile.\n\nEach campaign carries its headline engagement rates. Filter by status to find drafts,\nscheduled, sending or sent campaigns, keeping in mind that a fully sent campaign has the\nstatus `publish`. By default only regular campaigns are returned - pass `type` to get the\nemails sent by automations or the double opt-in confirmations instead.",
142
+ "method": "GET",
143
+ "path": "/api/reach/v1/profiles/{profileUuid}/campaigns",
144
+ "inputSchema": {
145
+ "type": "object",
146
+ "properties": {
147
+ "profileUuid": {
148
+ "type": "string",
149
+ "description": "Profile uuid parameter"
150
+ },
151
+ "status": {
152
+ "type": "string",
153
+ "description": "Filter campaigns by status.\n\nA fully sent campaign has the status `publish`. There is no `sent` status, and campaigns can\nbe neither paused nor archived.",
154
+ "enum": [
155
+ "draft",
156
+ "scheduled",
157
+ "sending",
158
+ "publish",
159
+ "failed"
160
+ ]
161
+ },
162
+ "type": {
163
+ "type": "string",
164
+ "description": "Filter campaigns by type.\n\nDefaults to `campaign`, which leaves out the emails sent by automations and the double\nopt-in confirmations.",
165
+ "enum": [
166
+ "campaign",
167
+ "automation",
168
+ "double_opt_in"
169
+ ]
170
+ },
171
+ "sort_direction": {
172
+ "type": "string",
173
+ "description": "Order campaigns by creation date. Newest first unless set to `asc`.",
174
+ "enum": [
175
+ "asc",
176
+ "desc"
177
+ ]
178
+ },
179
+ "page": {
180
+ "type": "integer",
181
+ "description": "Page number"
182
+ },
183
+ "per_page": {
184
+ "type": "integer",
185
+ "description": "Number of items per page"
186
+ }
187
+ },
188
+ "required": [
189
+ "profileUuid"
190
+ ]
191
+ },
192
+ "security": [
193
+ {
194
+ "apiToken": []
195
+ }
196
+ ],
197
+ "group": "reach"
198
+ },
199
+ {
200
+ "name": "reach_getCampaignPerformanceV1",
201
+ "description": "Get the performance of a campaign: delivery, opens, clicks and unsubscribes, with the\nmatching rates.\n\nEvery count is unique contacts rather than raw events, so a contact who opens the same email\nfive times is counted once.",
202
+ "method": "GET",
203
+ "path": "/api/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}/statistics",
204
+ "inputSchema": {
205
+ "type": "object",
206
+ "properties": {
207
+ "profileUuid": {
208
+ "type": "string",
209
+ "description": "Profile uuid parameter"
210
+ },
211
+ "campaignUuid": {
212
+ "type": "string",
213
+ "description": "Campaign uuid parameter"
214
+ }
215
+ },
216
+ "required": [
217
+ "profileUuid",
218
+ "campaignUuid"
219
+ ]
220
+ },
221
+ "security": [
222
+ {
223
+ "apiToken": []
224
+ }
225
+ ],
226
+ "group": "reach"
227
+ },
110
228
  {
111
229
  "name": "reach_deleteAContactV1",
112
230
  "description": "Delete a contact with the specified UUID.\n\nThis endpoint permanently removes a contact from the email marketing system.\n\n**Deprecated.** This endpoint cannot target a profile, so it always falls back to the\nclient's default profile and cannot delete contacts of any other profile. Use\n`DELETE /api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}` instead.",
@@ -1480,6 +1598,96 @@ export default [
1480
1598
  ],
1481
1599
  "group": "reach"
1482
1600
  },
1601
+ {
1602
+ "name": "reach_getFormDetailsV1",
1603
+ "description": "Get a single form with the URL of its hosted template and the tags it applies to the contacts\nit captures.\n\nThere is no ready-made embed snippet in the response - either serve the template HTML yourself\nor build your own embed around the form uuid.",
1604
+ "method": "GET",
1605
+ "path": "/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}",
1606
+ "inputSchema": {
1607
+ "type": "object",
1608
+ "properties": {
1609
+ "profileUuid": {
1610
+ "type": "string",
1611
+ "description": "Profile uuid parameter"
1612
+ },
1613
+ "formUuid": {
1614
+ "type": "string",
1615
+ "description": "Form uuid parameter"
1616
+ }
1617
+ },
1618
+ "required": [
1619
+ "profileUuid",
1620
+ "formUuid"
1621
+ ]
1622
+ },
1623
+ "security": [
1624
+ {
1625
+ "apiToken": []
1626
+ }
1627
+ ],
1628
+ "group": "reach"
1629
+ },
1630
+ {
1631
+ "name": "reach_deleteFormV1",
1632
+ "description": "Permanently delete a form together with its template.\n\nA form that has already captured submissions cannot be deleted, so that the contacts it collected\nare never silently discarded - pause the form instead to stop it collecting new ones. Views alone\ndo not block deletion.",
1633
+ "method": "DELETE",
1634
+ "path": "/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}",
1635
+ "inputSchema": {
1636
+ "type": "object",
1637
+ "properties": {
1638
+ "profileUuid": {
1639
+ "type": "string",
1640
+ "description": "Profile uuid parameter"
1641
+ },
1642
+ "formUuid": {
1643
+ "type": "string",
1644
+ "description": "Form uuid parameter"
1645
+ }
1646
+ },
1647
+ "required": [
1648
+ "profileUuid",
1649
+ "formUuid"
1650
+ ]
1651
+ },
1652
+ "security": [
1653
+ {
1654
+ "apiToken": []
1655
+ }
1656
+ ],
1657
+ "group": "reach"
1658
+ },
1659
+ {
1660
+ "name": "reach_listFormsV1",
1661
+ "description": "Get a paginated list of the signup forms in a profile.\n\nEach form carries a reference to the template that renders it. Get the form details for a\ndirectly usable template URL and for the tags the form puts on the contacts it captures.",
1662
+ "method": "GET",
1663
+ "path": "/api/reach/v1/profiles/{profileUuid}/forms",
1664
+ "inputSchema": {
1665
+ "type": "object",
1666
+ "properties": {
1667
+ "profileUuid": {
1668
+ "type": "string",
1669
+ "description": "Profile uuid parameter"
1670
+ },
1671
+ "page": {
1672
+ "type": "integer",
1673
+ "description": "Page number"
1674
+ },
1675
+ "per_page": {
1676
+ "type": "integer",
1677
+ "description": "Number of items per page"
1678
+ }
1679
+ },
1680
+ "required": [
1681
+ "profileUuid"
1682
+ ]
1683
+ },
1684
+ "security": [
1685
+ {
1686
+ "apiToken": []
1687
+ }
1688
+ ],
1689
+ "group": "reach"
1690
+ },
1483
1691
  {
1484
1692
  "name": "reach_getProfileDomainDNSStatusV1",
1485
1693
  "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.",
@@ -1504,6 +1712,30 @@ export default [
1504
1712
  ],
1505
1713
  "group": "reach"
1506
1714
  },
1715
+ {
1716
+ "name": "reach_getRemainingPlanLimitsV1",
1717
+ "description": "Get how much of the plan is left for the current period.\n\nTwo things to keep in mind before you build alerting on this. The period is a calendar month\nrather than a billing anniversary, so the counters reset on the 1st no matter when the\nsubscription started. And usage is tracked per order, so every profile on the same order shares\none pool and reports the same numbers here. Only the current period is available, past usage is\nnot kept.",
1718
+ "method": "GET",
1719
+ "path": "/api/reach/v1/profiles/{profileUuid}/limits",
1720
+ "inputSchema": {
1721
+ "type": "object",
1722
+ "properties": {
1723
+ "profileUuid": {
1724
+ "type": "string",
1725
+ "description": "Profile uuid parameter"
1726
+ }
1727
+ },
1728
+ "required": [
1729
+ "profileUuid"
1730
+ ]
1731
+ },
1732
+ "security": [
1733
+ {
1734
+ "apiToken": []
1735
+ }
1736
+ ],
1737
+ "group": "reach"
1738
+ },
1507
1739
  {
1508
1740
  "name": "reach_listProfilesV1",
1509
1741
  "description": "This endpoint returns all profiles available to the client, including their basic information.",
@@ -121,6 +121,124 @@ const tools: OpenApiTool[] = [
121
121
  ],
122
122
  "group": "reach"
123
123
  },
124
+ {
125
+ "name": "reach_getCampaignDetailsV1",
126
+ "description": "Get a single campaign with its sender, subject, template reference, targeting and delivery\nprogress.\n\nThis describes how the campaign was set up and how far it has got. For opens, clicks and\nunsubscribes use the campaign statistics endpoint.",
127
+ "method": "GET",
128
+ "path": "/api/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}",
129
+ "inputSchema": {
130
+ "type": "object",
131
+ "properties": {
132
+ "profileUuid": {
133
+ "type": "string",
134
+ "description": "Profile uuid parameter"
135
+ },
136
+ "campaignUuid": {
137
+ "type": "string",
138
+ "description": "Campaign uuid parameter"
139
+ }
140
+ },
141
+ "required": [
142
+ "profileUuid",
143
+ "campaignUuid"
144
+ ]
145
+ },
146
+ "security": [
147
+ {
148
+ "apiToken": []
149
+ }
150
+ ],
151
+ "group": "reach"
152
+ },
153
+ {
154
+ "name": "reach_listCampaignsV1",
155
+ "description": "Get a paginated list of the campaigns in a profile.\n\nEach campaign carries its headline engagement rates. Filter by status to find drafts,\nscheduled, sending or sent campaigns, keeping in mind that a fully sent campaign has the\nstatus `publish`. By default only regular campaigns are returned - pass `type` to get the\nemails sent by automations or the double opt-in confirmations instead.",
156
+ "method": "GET",
157
+ "path": "/api/reach/v1/profiles/{profileUuid}/campaigns",
158
+ "inputSchema": {
159
+ "type": "object",
160
+ "properties": {
161
+ "profileUuid": {
162
+ "type": "string",
163
+ "description": "Profile uuid parameter"
164
+ },
165
+ "status": {
166
+ "type": "string",
167
+ "description": "Filter campaigns by status.\n\nA fully sent campaign has the status `publish`. There is no `sent` status, and campaigns can\nbe neither paused nor archived.",
168
+ "enum": [
169
+ "draft",
170
+ "scheduled",
171
+ "sending",
172
+ "publish",
173
+ "failed"
174
+ ]
175
+ },
176
+ "type": {
177
+ "type": "string",
178
+ "description": "Filter campaigns by type.\n\nDefaults to `campaign`, which leaves out the emails sent by automations and the double\nopt-in confirmations.",
179
+ "enum": [
180
+ "campaign",
181
+ "automation",
182
+ "double_opt_in"
183
+ ]
184
+ },
185
+ "sort_direction": {
186
+ "type": "string",
187
+ "description": "Order campaigns by creation date. Newest first unless set to `asc`.",
188
+ "enum": [
189
+ "asc",
190
+ "desc"
191
+ ]
192
+ },
193
+ "page": {
194
+ "type": "integer",
195
+ "description": "Page number"
196
+ },
197
+ "per_page": {
198
+ "type": "integer",
199
+ "description": "Number of items per page"
200
+ }
201
+ },
202
+ "required": [
203
+ "profileUuid"
204
+ ]
205
+ },
206
+ "security": [
207
+ {
208
+ "apiToken": []
209
+ }
210
+ ],
211
+ "group": "reach"
212
+ },
213
+ {
214
+ "name": "reach_getCampaignPerformanceV1",
215
+ "description": "Get the performance of a campaign: delivery, opens, clicks and unsubscribes, with the\nmatching rates.\n\nEvery count is unique contacts rather than raw events, so a contact who opens the same email\nfive times is counted once.",
216
+ "method": "GET",
217
+ "path": "/api/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}/statistics",
218
+ "inputSchema": {
219
+ "type": "object",
220
+ "properties": {
221
+ "profileUuid": {
222
+ "type": "string",
223
+ "description": "Profile uuid parameter"
224
+ },
225
+ "campaignUuid": {
226
+ "type": "string",
227
+ "description": "Campaign uuid parameter"
228
+ }
229
+ },
230
+ "required": [
231
+ "profileUuid",
232
+ "campaignUuid"
233
+ ]
234
+ },
235
+ "security": [
236
+ {
237
+ "apiToken": []
238
+ }
239
+ ],
240
+ "group": "reach"
241
+ },
124
242
  {
125
243
  "name": "reach_deleteAContactV1",
126
244
  "description": "Delete a contact with the specified UUID.\n\nThis endpoint permanently removes a contact from the email marketing system.\n\n**Deprecated.** This endpoint cannot target a profile, so it always falls back to the\nclient's default profile and cannot delete contacts of any other profile. Use\n`DELETE /api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}` instead.",
@@ -1494,6 +1612,96 @@ const tools: OpenApiTool[] = [
1494
1612
  ],
1495
1613
  "group": "reach"
1496
1614
  },
1615
+ {
1616
+ "name": "reach_getFormDetailsV1",
1617
+ "description": "Get a single form with the URL of its hosted template and the tags it applies to the contacts\nit captures.\n\nThere is no ready-made embed snippet in the response - either serve the template HTML yourself\nor build your own embed around the form uuid.",
1618
+ "method": "GET",
1619
+ "path": "/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}",
1620
+ "inputSchema": {
1621
+ "type": "object",
1622
+ "properties": {
1623
+ "profileUuid": {
1624
+ "type": "string",
1625
+ "description": "Profile uuid parameter"
1626
+ },
1627
+ "formUuid": {
1628
+ "type": "string",
1629
+ "description": "Form uuid parameter"
1630
+ }
1631
+ },
1632
+ "required": [
1633
+ "profileUuid",
1634
+ "formUuid"
1635
+ ]
1636
+ },
1637
+ "security": [
1638
+ {
1639
+ "apiToken": []
1640
+ }
1641
+ ],
1642
+ "group": "reach"
1643
+ },
1644
+ {
1645
+ "name": "reach_deleteFormV1",
1646
+ "description": "Permanently delete a form together with its template.\n\nA form that has already captured submissions cannot be deleted, so that the contacts it collected\nare never silently discarded - pause the form instead to stop it collecting new ones. Views alone\ndo not block deletion.",
1647
+ "method": "DELETE",
1648
+ "path": "/api/reach/v1/profiles/{profileUuid}/forms/{formUuid}",
1649
+ "inputSchema": {
1650
+ "type": "object",
1651
+ "properties": {
1652
+ "profileUuid": {
1653
+ "type": "string",
1654
+ "description": "Profile uuid parameter"
1655
+ },
1656
+ "formUuid": {
1657
+ "type": "string",
1658
+ "description": "Form uuid parameter"
1659
+ }
1660
+ },
1661
+ "required": [
1662
+ "profileUuid",
1663
+ "formUuid"
1664
+ ]
1665
+ },
1666
+ "security": [
1667
+ {
1668
+ "apiToken": []
1669
+ }
1670
+ ],
1671
+ "group": "reach"
1672
+ },
1673
+ {
1674
+ "name": "reach_listFormsV1",
1675
+ "description": "Get a paginated list of the signup forms in a profile.\n\nEach form carries a reference to the template that renders it. Get the form details for a\ndirectly usable template URL and for the tags the form puts on the contacts it captures.",
1676
+ "method": "GET",
1677
+ "path": "/api/reach/v1/profiles/{profileUuid}/forms",
1678
+ "inputSchema": {
1679
+ "type": "object",
1680
+ "properties": {
1681
+ "profileUuid": {
1682
+ "type": "string",
1683
+ "description": "Profile uuid parameter"
1684
+ },
1685
+ "page": {
1686
+ "type": "integer",
1687
+ "description": "Page number"
1688
+ },
1689
+ "per_page": {
1690
+ "type": "integer",
1691
+ "description": "Number of items per page"
1692
+ }
1693
+ },
1694
+ "required": [
1695
+ "profileUuid"
1696
+ ]
1697
+ },
1698
+ "security": [
1699
+ {
1700
+ "apiToken": []
1701
+ }
1702
+ ],
1703
+ "group": "reach"
1704
+ },
1497
1705
  {
1498
1706
  "name": "reach_getProfileDomainDNSStatusV1",
1499
1707
  "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.",
@@ -1518,6 +1726,30 @@ const tools: OpenApiTool[] = [
1518
1726
  ],
1519
1727
  "group": "reach"
1520
1728
  },
1729
+ {
1730
+ "name": "reach_getRemainingPlanLimitsV1",
1731
+ "description": "Get how much of the plan is left for the current period.\n\nTwo things to keep in mind before you build alerting on this. The period is a calendar month\nrather than a billing anniversary, so the counters reset on the 1st no matter when the\nsubscription started. And usage is tracked per order, so every profile on the same order shares\none pool and reports the same numbers here. Only the current period is available, past usage is\nnot kept.",
1732
+ "method": "GET",
1733
+ "path": "/api/reach/v1/profiles/{profileUuid}/limits",
1734
+ "inputSchema": {
1735
+ "type": "object",
1736
+ "properties": {
1737
+ "profileUuid": {
1738
+ "type": "string",
1739
+ "description": "Profile uuid parameter"
1740
+ }
1741
+ },
1742
+ "required": [
1743
+ "profileUuid"
1744
+ ]
1745
+ },
1746
+ "security": [
1747
+ {
1748
+ "apiToken": []
1749
+ }
1750
+ ],
1751
+ "group": "reach"
1752
+ },
1521
1753
  {
1522
1754
  "name": "reach_listProfilesV1",
1523
1755
  "description": "This endpoint returns all profiles available to the client, including their basic information.",
@@ -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.36.0', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-ecommerce-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-horizons-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-mail-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.38.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.36.0', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '1.38.0', tools });