hostinger-api-mcp 1.36.0 → 1.37.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 +36 -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 +118 -0
- package/src/core/tools/all.ts +118 -0
- package/src/core/tools/reach.js +118 -0
- package/src/core/tools/reach.ts +118 -0
- 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 +86 -0
package/README.md
CHANGED
|
@@ -69,7 +69,7 @@ pnpm update -g hostinger-api-mcp
|
|
|
69
69
|
|
|
70
70
|
This package installs the following MCP server commands:
|
|
71
71
|
|
|
72
|
-
- `hostinger-api-mcp` — unified server with every tool (
|
|
72
|
+
- `hostinger-api-mcp` — unified server with every tool (326 total)
|
|
73
73
|
- `hostinger-agency-hosting-mcp` — 27 tools for agency-hosting
|
|
74
74
|
- `hostinger-billing-mcp` — 9 tools for billing
|
|
75
75
|
- `hostinger-dns-mcp` — 8 tools for dns
|
|
@@ -78,7 +78,7 @@ This package installs the following MCP server commands:
|
|
|
78
78
|
- `hostinger-horizons-mcp` — 2 tools for horizons
|
|
79
79
|
- `hostinger-hosting-mcp` — 50 tools for hosting
|
|
80
80
|
- `hostinger-mail-mcp` — 38 tools for mail
|
|
81
|
-
- `hostinger-reach-mcp` —
|
|
81
|
+
- `hostinger-reach-mcp` — 41 tools for reach
|
|
82
82
|
- `hostinger-vps-mcp` — 62 tools for vps
|
|
83
83
|
- `hostinger-wordpress-mcp` — 35 tools for wordpress
|
|
84
84
|
|
|
@@ -2240,6 +2240,40 @@ steps yet returns an empty list.
|
|
|
2240
2240
|
- **Method**: `GET`
|
|
2241
2241
|
- **Path**: `/api/reach/v1/profiles/{profileUuid}/automations/{automationUuid}/steps`
|
|
2242
2242
|
|
|
2243
|
+
#### reach_getCampaignDetailsV1
|
|
2244
|
+
|
|
2245
|
+
Get a single campaign with its sender, subject, template reference, targeting and delivery
|
|
2246
|
+
progress.
|
|
2247
|
+
|
|
2248
|
+
This describes how the campaign was set up and how far it has got. For opens, clicks and
|
|
2249
|
+
unsubscribes use the campaign statistics endpoint.
|
|
2250
|
+
|
|
2251
|
+
- **Method**: `GET`
|
|
2252
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}`
|
|
2253
|
+
|
|
2254
|
+
#### reach_listCampaignsV1
|
|
2255
|
+
|
|
2256
|
+
Get a paginated list of the campaigns in a profile.
|
|
2257
|
+
|
|
2258
|
+
Each campaign carries its headline engagement rates. Filter by status to find drafts,
|
|
2259
|
+
scheduled, sending or sent campaigns, keeping in mind that a fully sent campaign has the
|
|
2260
|
+
status `publish`. By default only regular campaigns are returned - pass `type` to get the
|
|
2261
|
+
emails sent by automations or the double opt-in confirmations instead.
|
|
2262
|
+
|
|
2263
|
+
- **Method**: `GET`
|
|
2264
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/campaigns`
|
|
2265
|
+
|
|
2266
|
+
#### reach_getCampaignPerformanceV1
|
|
2267
|
+
|
|
2268
|
+
Get the performance of a campaign: delivery, opens, clicks and unsubscribes, with the
|
|
2269
|
+
matching rates.
|
|
2270
|
+
|
|
2271
|
+
Every count is unique contacts rather than raw events, so a contact who opens the same email
|
|
2272
|
+
five times is counted once.
|
|
2273
|
+
|
|
2274
|
+
- **Method**: `GET`
|
|
2275
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}/statistics`
|
|
2276
|
+
|
|
2243
2277
|
#### reach_deleteAContactV1
|
|
2244
2278
|
|
|
2245
2279
|
Delete a contact with the specified UUID.
|
package/gemini-extension.json
CHANGED
package/package.json
CHANGED
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.
|
|
9
|
+
"version": "1.37.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "hostinger-api-mcp",
|
|
14
|
-
"version": "1.
|
|
14
|
+
"version": "1.37.0",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
package/src/core/runtime.js
CHANGED
package/src/core/runtime.ts
CHANGED
package/src/core/tools/all.js
CHANGED
|
@@ -6507,6 +6507,124 @@ export default [
|
|
|
6507
6507
|
],
|
|
6508
6508
|
"group": "reach"
|
|
6509
6509
|
},
|
|
6510
|
+
{
|
|
6511
|
+
"name": "reach_getCampaignDetailsV1",
|
|
6512
|
+
"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.",
|
|
6513
|
+
"method": "GET",
|
|
6514
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}",
|
|
6515
|
+
"inputSchema": {
|
|
6516
|
+
"type": "object",
|
|
6517
|
+
"properties": {
|
|
6518
|
+
"profileUuid": {
|
|
6519
|
+
"type": "string",
|
|
6520
|
+
"description": "Profile uuid parameter"
|
|
6521
|
+
},
|
|
6522
|
+
"campaignUuid": {
|
|
6523
|
+
"type": "string",
|
|
6524
|
+
"description": "Campaign uuid parameter"
|
|
6525
|
+
}
|
|
6526
|
+
},
|
|
6527
|
+
"required": [
|
|
6528
|
+
"profileUuid",
|
|
6529
|
+
"campaignUuid"
|
|
6530
|
+
]
|
|
6531
|
+
},
|
|
6532
|
+
"security": [
|
|
6533
|
+
{
|
|
6534
|
+
"apiToken": []
|
|
6535
|
+
}
|
|
6536
|
+
],
|
|
6537
|
+
"group": "reach"
|
|
6538
|
+
},
|
|
6539
|
+
{
|
|
6540
|
+
"name": "reach_listCampaignsV1",
|
|
6541
|
+
"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.",
|
|
6542
|
+
"method": "GET",
|
|
6543
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/campaigns",
|
|
6544
|
+
"inputSchema": {
|
|
6545
|
+
"type": "object",
|
|
6546
|
+
"properties": {
|
|
6547
|
+
"profileUuid": {
|
|
6548
|
+
"type": "string",
|
|
6549
|
+
"description": "Profile uuid parameter"
|
|
6550
|
+
},
|
|
6551
|
+
"status": {
|
|
6552
|
+
"type": "string",
|
|
6553
|
+
"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.",
|
|
6554
|
+
"enum": [
|
|
6555
|
+
"draft",
|
|
6556
|
+
"scheduled",
|
|
6557
|
+
"sending",
|
|
6558
|
+
"publish",
|
|
6559
|
+
"failed"
|
|
6560
|
+
]
|
|
6561
|
+
},
|
|
6562
|
+
"type": {
|
|
6563
|
+
"type": "string",
|
|
6564
|
+
"description": "Filter campaigns by type.\n\nDefaults to `campaign`, which leaves out the emails sent by automations and the double\nopt-in confirmations.",
|
|
6565
|
+
"enum": [
|
|
6566
|
+
"campaign",
|
|
6567
|
+
"automation",
|
|
6568
|
+
"double_opt_in"
|
|
6569
|
+
]
|
|
6570
|
+
},
|
|
6571
|
+
"sort_direction": {
|
|
6572
|
+
"type": "string",
|
|
6573
|
+
"description": "Order campaigns by creation date. Newest first unless set to `asc`.",
|
|
6574
|
+
"enum": [
|
|
6575
|
+
"asc",
|
|
6576
|
+
"desc"
|
|
6577
|
+
]
|
|
6578
|
+
},
|
|
6579
|
+
"page": {
|
|
6580
|
+
"type": "integer",
|
|
6581
|
+
"description": "Page number"
|
|
6582
|
+
},
|
|
6583
|
+
"per_page": {
|
|
6584
|
+
"type": "integer",
|
|
6585
|
+
"description": "Number of items per page"
|
|
6586
|
+
}
|
|
6587
|
+
},
|
|
6588
|
+
"required": [
|
|
6589
|
+
"profileUuid"
|
|
6590
|
+
]
|
|
6591
|
+
},
|
|
6592
|
+
"security": [
|
|
6593
|
+
{
|
|
6594
|
+
"apiToken": []
|
|
6595
|
+
}
|
|
6596
|
+
],
|
|
6597
|
+
"group": "reach"
|
|
6598
|
+
},
|
|
6599
|
+
{
|
|
6600
|
+
"name": "reach_getCampaignPerformanceV1",
|
|
6601
|
+
"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.",
|
|
6602
|
+
"method": "GET",
|
|
6603
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}/statistics",
|
|
6604
|
+
"inputSchema": {
|
|
6605
|
+
"type": "object",
|
|
6606
|
+
"properties": {
|
|
6607
|
+
"profileUuid": {
|
|
6608
|
+
"type": "string",
|
|
6609
|
+
"description": "Profile uuid parameter"
|
|
6610
|
+
},
|
|
6611
|
+
"campaignUuid": {
|
|
6612
|
+
"type": "string",
|
|
6613
|
+
"description": "Campaign uuid parameter"
|
|
6614
|
+
}
|
|
6615
|
+
},
|
|
6616
|
+
"required": [
|
|
6617
|
+
"profileUuid",
|
|
6618
|
+
"campaignUuid"
|
|
6619
|
+
]
|
|
6620
|
+
},
|
|
6621
|
+
"security": [
|
|
6622
|
+
{
|
|
6623
|
+
"apiToken": []
|
|
6624
|
+
}
|
|
6625
|
+
],
|
|
6626
|
+
"group": "reach"
|
|
6627
|
+
},
|
|
6510
6628
|
{
|
|
6511
6629
|
"name": "reach_deleteAContactV1",
|
|
6512
6630
|
"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.",
|
package/src/core/tools/all.ts
CHANGED
|
@@ -6521,6 +6521,124 @@ const tools: OpenApiTool[] = [
|
|
|
6521
6521
|
],
|
|
6522
6522
|
"group": "reach"
|
|
6523
6523
|
},
|
|
6524
|
+
{
|
|
6525
|
+
"name": "reach_getCampaignDetailsV1",
|
|
6526
|
+
"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.",
|
|
6527
|
+
"method": "GET",
|
|
6528
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}",
|
|
6529
|
+
"inputSchema": {
|
|
6530
|
+
"type": "object",
|
|
6531
|
+
"properties": {
|
|
6532
|
+
"profileUuid": {
|
|
6533
|
+
"type": "string",
|
|
6534
|
+
"description": "Profile uuid parameter"
|
|
6535
|
+
},
|
|
6536
|
+
"campaignUuid": {
|
|
6537
|
+
"type": "string",
|
|
6538
|
+
"description": "Campaign uuid parameter"
|
|
6539
|
+
}
|
|
6540
|
+
},
|
|
6541
|
+
"required": [
|
|
6542
|
+
"profileUuid",
|
|
6543
|
+
"campaignUuid"
|
|
6544
|
+
]
|
|
6545
|
+
},
|
|
6546
|
+
"security": [
|
|
6547
|
+
{
|
|
6548
|
+
"apiToken": []
|
|
6549
|
+
}
|
|
6550
|
+
],
|
|
6551
|
+
"group": "reach"
|
|
6552
|
+
},
|
|
6553
|
+
{
|
|
6554
|
+
"name": "reach_listCampaignsV1",
|
|
6555
|
+
"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.",
|
|
6556
|
+
"method": "GET",
|
|
6557
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/campaigns",
|
|
6558
|
+
"inputSchema": {
|
|
6559
|
+
"type": "object",
|
|
6560
|
+
"properties": {
|
|
6561
|
+
"profileUuid": {
|
|
6562
|
+
"type": "string",
|
|
6563
|
+
"description": "Profile uuid parameter"
|
|
6564
|
+
},
|
|
6565
|
+
"status": {
|
|
6566
|
+
"type": "string",
|
|
6567
|
+
"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.",
|
|
6568
|
+
"enum": [
|
|
6569
|
+
"draft",
|
|
6570
|
+
"scheduled",
|
|
6571
|
+
"sending",
|
|
6572
|
+
"publish",
|
|
6573
|
+
"failed"
|
|
6574
|
+
]
|
|
6575
|
+
},
|
|
6576
|
+
"type": {
|
|
6577
|
+
"type": "string",
|
|
6578
|
+
"description": "Filter campaigns by type.\n\nDefaults to `campaign`, which leaves out the emails sent by automations and the double\nopt-in confirmations.",
|
|
6579
|
+
"enum": [
|
|
6580
|
+
"campaign",
|
|
6581
|
+
"automation",
|
|
6582
|
+
"double_opt_in"
|
|
6583
|
+
]
|
|
6584
|
+
},
|
|
6585
|
+
"sort_direction": {
|
|
6586
|
+
"type": "string",
|
|
6587
|
+
"description": "Order campaigns by creation date. Newest first unless set to `asc`.",
|
|
6588
|
+
"enum": [
|
|
6589
|
+
"asc",
|
|
6590
|
+
"desc"
|
|
6591
|
+
]
|
|
6592
|
+
},
|
|
6593
|
+
"page": {
|
|
6594
|
+
"type": "integer",
|
|
6595
|
+
"description": "Page number"
|
|
6596
|
+
},
|
|
6597
|
+
"per_page": {
|
|
6598
|
+
"type": "integer",
|
|
6599
|
+
"description": "Number of items per page"
|
|
6600
|
+
}
|
|
6601
|
+
},
|
|
6602
|
+
"required": [
|
|
6603
|
+
"profileUuid"
|
|
6604
|
+
]
|
|
6605
|
+
},
|
|
6606
|
+
"security": [
|
|
6607
|
+
{
|
|
6608
|
+
"apiToken": []
|
|
6609
|
+
}
|
|
6610
|
+
],
|
|
6611
|
+
"group": "reach"
|
|
6612
|
+
},
|
|
6613
|
+
{
|
|
6614
|
+
"name": "reach_getCampaignPerformanceV1",
|
|
6615
|
+
"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.",
|
|
6616
|
+
"method": "GET",
|
|
6617
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/campaigns/{campaignUuid}/statistics",
|
|
6618
|
+
"inputSchema": {
|
|
6619
|
+
"type": "object",
|
|
6620
|
+
"properties": {
|
|
6621
|
+
"profileUuid": {
|
|
6622
|
+
"type": "string",
|
|
6623
|
+
"description": "Profile uuid parameter"
|
|
6624
|
+
},
|
|
6625
|
+
"campaignUuid": {
|
|
6626
|
+
"type": "string",
|
|
6627
|
+
"description": "Campaign uuid parameter"
|
|
6628
|
+
}
|
|
6629
|
+
},
|
|
6630
|
+
"required": [
|
|
6631
|
+
"profileUuid",
|
|
6632
|
+
"campaignUuid"
|
|
6633
|
+
]
|
|
6634
|
+
},
|
|
6635
|
+
"security": [
|
|
6636
|
+
{
|
|
6637
|
+
"apiToken": []
|
|
6638
|
+
}
|
|
6639
|
+
],
|
|
6640
|
+
"group": "reach"
|
|
6641
|
+
},
|
|
6524
6642
|
{
|
|
6525
6643
|
"name": "reach_deleteAContactV1",
|
|
6526
6644
|
"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.",
|
package/src/core/tools/reach.js
CHANGED
|
@@ -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.",
|
package/src/core/tools/reach.ts
CHANGED
|
@@ -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.",
|
|
@@ -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.37.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.37.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
package/src/servers/dns.ts
CHANGED
package/src/servers/domains.js
CHANGED
package/src/servers/domains.ts
CHANGED
package/src/servers/ecommerce.js
CHANGED
package/src/servers/ecommerce.ts
CHANGED
package/src/servers/horizons.js
CHANGED
package/src/servers/horizons.ts
CHANGED
package/src/servers/hosting.js
CHANGED
package/src/servers/hosting.ts
CHANGED
package/src/servers/mail.js
CHANGED
package/src/servers/mail.ts
CHANGED
package/src/servers/reach.js
CHANGED
package/src/servers/reach.ts
CHANGED
package/src/servers/vps.js
CHANGED
package/src/servers/vps.ts
CHANGED
package/src/servers/wordpress.js
CHANGED
package/src/servers/wordpress.ts
CHANGED
package/types.d.ts
CHANGED
|
@@ -4424,6 +4424,92 @@ steps yet returns an empty list.
|
|
|
4424
4424
|
response: any; // Response structure will depend on the API
|
|
4425
4425
|
};
|
|
4426
4426
|
|
|
4427
|
+
/**
|
|
4428
|
+
* Get a single campaign with its sender, subject, template reference, targeting and delivery
|
|
4429
|
+
progress.
|
|
4430
|
+
|
|
4431
|
+
This describes how the campaign was set up and how far it has got. For opens, clicks and
|
|
4432
|
+
unsubscribes use the campaign statistics endpoint.
|
|
4433
|
+
*/
|
|
4434
|
+
"reach_getCampaignDetailsV1": {
|
|
4435
|
+
params: {
|
|
4436
|
+
/**
|
|
4437
|
+
* Profile uuid parameter
|
|
4438
|
+
*/
|
|
4439
|
+
profileUuid: string;
|
|
4440
|
+
/**
|
|
4441
|
+
* Campaign uuid parameter
|
|
4442
|
+
*/
|
|
4443
|
+
campaignUuid: string;
|
|
4444
|
+
};
|
|
4445
|
+
response: any; // Response structure will depend on the API
|
|
4446
|
+
};
|
|
4447
|
+
|
|
4448
|
+
/**
|
|
4449
|
+
* Get a paginated list of the campaigns in a profile.
|
|
4450
|
+
|
|
4451
|
+
Each campaign carries its headline engagement rates. Filter by status to find drafts,
|
|
4452
|
+
scheduled, sending or sent campaigns, keeping in mind that a fully sent campaign has the
|
|
4453
|
+
status `publish`. By default only regular campaigns are returned - pass `type` to get the
|
|
4454
|
+
emails sent by automations or the double opt-in confirmations instead.
|
|
4455
|
+
*/
|
|
4456
|
+
"reach_listCampaignsV1": {
|
|
4457
|
+
params: {
|
|
4458
|
+
/**
|
|
4459
|
+
* Profile uuid parameter
|
|
4460
|
+
*/
|
|
4461
|
+
profileUuid: string;
|
|
4462
|
+
/**
|
|
4463
|
+
* Filter campaigns by status.
|
|
4464
|
+
|
|
4465
|
+
A fully sent campaign has the status `publish`. There is no `sent` status, and campaigns can
|
|
4466
|
+
be neither paused nor archived.
|
|
4467
|
+
*/
|
|
4468
|
+
status?: string;
|
|
4469
|
+
/**
|
|
4470
|
+
* Filter campaigns by type.
|
|
4471
|
+
|
|
4472
|
+
Defaults to `campaign`, which leaves out the emails sent by automations and the double
|
|
4473
|
+
opt-in confirmations.
|
|
4474
|
+
*/
|
|
4475
|
+
type?: string;
|
|
4476
|
+
/**
|
|
4477
|
+
* Order campaigns by creation date. Newest first unless set to `asc`.
|
|
4478
|
+
*/
|
|
4479
|
+
sort_direction?: string;
|
|
4480
|
+
/**
|
|
4481
|
+
* Page number
|
|
4482
|
+
*/
|
|
4483
|
+
page?: number;
|
|
4484
|
+
/**
|
|
4485
|
+
* Number of items per page
|
|
4486
|
+
*/
|
|
4487
|
+
per_page?: number;
|
|
4488
|
+
};
|
|
4489
|
+
response: any; // Response structure will depend on the API
|
|
4490
|
+
};
|
|
4491
|
+
|
|
4492
|
+
/**
|
|
4493
|
+
* Get the performance of a campaign: delivery, opens, clicks and unsubscribes, with the
|
|
4494
|
+
matching rates.
|
|
4495
|
+
|
|
4496
|
+
Every count is unique contacts rather than raw events, so a contact who opens the same email
|
|
4497
|
+
five times is counted once.
|
|
4498
|
+
*/
|
|
4499
|
+
"reach_getCampaignPerformanceV1": {
|
|
4500
|
+
params: {
|
|
4501
|
+
/**
|
|
4502
|
+
* Profile uuid parameter
|
|
4503
|
+
*/
|
|
4504
|
+
profileUuid: string;
|
|
4505
|
+
/**
|
|
4506
|
+
* Campaign uuid parameter
|
|
4507
|
+
*/
|
|
4508
|
+
campaignUuid: string;
|
|
4509
|
+
};
|
|
4510
|
+
response: any; // Response structure will depend on the API
|
|
4511
|
+
};
|
|
4512
|
+
|
|
4427
4513
|
/**
|
|
4428
4514
|
* Delete a contact with the specified UUID.
|
|
4429
4515
|
|