hostinger-api-mcp 1.53.0 → 1.53.1
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 +35 -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 +135 -0
- package/src/core/tools/all.ts +135 -0
- package/src/core/tools/reach.js +135 -0
- package/src/core/tools/reach.ts +135 -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 +87 -0
package/README.md
CHANGED
|
@@ -69,7 +69,7 @@ pnpm update -g @hostinger/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 (375 total)
|
|
73
73
|
- `hostinger-agency-hosting-mcp` — 38 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` — 58 tools for hosting
|
|
80
80
|
- `hostinger-mail-mcp` — 38 tools for mail
|
|
81
|
-
- `hostinger-reach-mcp` —
|
|
81
|
+
- `hostinger-reach-mcp` — 52 tools for reach
|
|
82
82
|
- `hostinger-vps-mcp` — 63 tools for vps
|
|
83
83
|
- `hostinger-wordpress-mcp` — 38 tools for wordpress
|
|
84
84
|
|
|
@@ -2661,6 +2661,17 @@ emails sent by automations or the double opt-in confirmations instead.
|
|
|
2661
2661
|
- **Method**: `GET`
|
|
2662
2662
|
- **Path**: `/api/reach/v1/profiles/{profileUuid}/campaigns`
|
|
2663
2663
|
|
|
2664
|
+
#### reach_createADraftCampaignV1
|
|
2665
|
+
|
|
2666
|
+
Create a campaign in a profile.
|
|
2667
|
+
|
|
2668
|
+
The campaign is created as a draft, so nothing is sent and no contact is touched. It has no
|
|
2669
|
+
audience yet either - targeting and scheduling are not part of this request, the draft is
|
|
2670
|
+
finished and sent from the Reach interface.
|
|
2671
|
+
|
|
2672
|
+
- **Method**: `POST`
|
|
2673
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/campaigns`
|
|
2674
|
+
|
|
2664
2675
|
#### reach_getCampaignPerformanceV1
|
|
2665
2676
|
|
|
2666
2677
|
Get the performance of a campaign: delivery, opens, clicks and unsubscribes, with the
|
|
@@ -3155,6 +3166,28 @@ This endpoint returns all profiles available to the client, including their basi
|
|
|
3155
3166
|
- **Method**: `GET`
|
|
3156
3167
|
- **Path**: `/api/reach/v1/profiles`
|
|
3157
3168
|
|
|
3169
|
+
#### reach_listEmailTemplatesV1
|
|
3170
|
+
|
|
3171
|
+
Get a list of the email templates in a profile, most recently updated first.
|
|
3172
|
+
|
|
3173
|
+
Templates are the reusable email bodies a campaign is built from. The list is not paginated
|
|
3174
|
+
and only the metadata is returned - the template content itself is not exposed. Use the
|
|
3175
|
+
`uuid` of a template as the `template_uuid` when creating a campaign.
|
|
3176
|
+
|
|
3177
|
+
- **Method**: `GET`
|
|
3178
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/templates`
|
|
3179
|
+
|
|
3180
|
+
#### reach_createAnEmailTemplateV1
|
|
3181
|
+
|
|
3182
|
+
Create an email template in a profile.
|
|
3183
|
+
|
|
3184
|
+
The template holds the HTML body a campaign reuses, so it can be created before any
|
|
3185
|
+
campaign exists. Only the template metadata comes back - keep the returned `uuid` to
|
|
3186
|
+
reference it as the `template_uuid` of a campaign.
|
|
3187
|
+
|
|
3188
|
+
- **Method**: `POST`
|
|
3189
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/templates`
|
|
3190
|
+
|
|
3158
3191
|
### `hostinger-vps-mcp`
|
|
3159
3192
|
|
|
3160
3193
|
#### VPS_getDataCenterListV1
|
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.53.
|
|
9
|
+
"version": "1.53.1",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@hostinger/mcp",
|
|
14
|
-
"version": "1.53.
|
|
14
|
+
"version": "1.53.1",
|
|
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
|
@@ -9505,6 +9505,72 @@ export default [
|
|
|
9505
9505
|
],
|
|
9506
9506
|
"group": "reach"
|
|
9507
9507
|
},
|
|
9508
|
+
{
|
|
9509
|
+
"name": "reach_createADraftCampaignV1",
|
|
9510
|
+
"title": "Create a draft campaign",
|
|
9511
|
+
"annotations": {
|
|
9512
|
+
"title": "Create a draft campaign",
|
|
9513
|
+
"readOnlyHint": false,
|
|
9514
|
+
"destructiveHint": false
|
|
9515
|
+
},
|
|
9516
|
+
"description": "Create a campaign in a profile.\n\nThe campaign is created as a draft, so nothing is sent and no contact is touched. It has no\naudience yet either - targeting and scheduling are not part of this request, the draft is\nfinished and sent from the Reach interface.",
|
|
9517
|
+
"method": "POST",
|
|
9518
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/campaigns",
|
|
9519
|
+
"inputSchema": {
|
|
9520
|
+
"type": "object",
|
|
9521
|
+
"properties": {
|
|
9522
|
+
"profileUuid": {
|
|
9523
|
+
"type": "string",
|
|
9524
|
+
"description": "Profile uuid parameter"
|
|
9525
|
+
},
|
|
9526
|
+
"sender_name": {
|
|
9527
|
+
"type": "string",
|
|
9528
|
+
"description": "From name shown to the recipients."
|
|
9529
|
+
},
|
|
9530
|
+
"sender_email": {
|
|
9531
|
+
"type": "string",
|
|
9532
|
+
"description": "From address of the campaign. Its domain has to be verified on the profile before\nthe campaign can be sent."
|
|
9533
|
+
},
|
|
9534
|
+
"title": {
|
|
9535
|
+
"type": "string",
|
|
9536
|
+
"description": "Name the campaign is listed under. Not shown to the recipients."
|
|
9537
|
+
},
|
|
9538
|
+
"subject": {
|
|
9539
|
+
"type": "string",
|
|
9540
|
+
"description": "Subject line of the email."
|
|
9541
|
+
},
|
|
9542
|
+
"template_uuid": {
|
|
9543
|
+
"type": "string",
|
|
9544
|
+
"description": "Template to send, as returned by the template endpoints. Can be left out and\nattached later, but the campaign cannot be sent without one."
|
|
9545
|
+
},
|
|
9546
|
+
"metadata": {
|
|
9547
|
+
"type": "object",
|
|
9548
|
+
"description": "Extra campaign fields. Any key outside the listed ones is rejected.",
|
|
9549
|
+
"properties": {
|
|
9550
|
+
"preheader": {
|
|
9551
|
+
"type": "string",
|
|
9552
|
+
"description": "Preview text shown after the subject line in the inbox."
|
|
9553
|
+
},
|
|
9554
|
+
"source": {
|
|
9555
|
+
"type": "string",
|
|
9556
|
+
"description": "Where the campaign was created from."
|
|
9557
|
+
}
|
|
9558
|
+
}
|
|
9559
|
+
}
|
|
9560
|
+
},
|
|
9561
|
+
"required": [
|
|
9562
|
+
"profileUuid",
|
|
9563
|
+
"sender_name",
|
|
9564
|
+
"sender_email"
|
|
9565
|
+
]
|
|
9566
|
+
},
|
|
9567
|
+
"security": [
|
|
9568
|
+
{
|
|
9569
|
+
"apiToken": []
|
|
9570
|
+
}
|
|
9571
|
+
],
|
|
9572
|
+
"group": "reach"
|
|
9573
|
+
},
|
|
9508
9574
|
{
|
|
9509
9575
|
"name": "reach_getCampaignPerformanceV1",
|
|
9510
9576
|
"title": "Get campaign performance",
|
|
@@ -11546,6 +11612,75 @@ export default [
|
|
|
11546
11612
|
],
|
|
11547
11613
|
"group": "reach"
|
|
11548
11614
|
},
|
|
11615
|
+
{
|
|
11616
|
+
"name": "reach_listEmailTemplatesV1",
|
|
11617
|
+
"title": "List email templates",
|
|
11618
|
+
"annotations": {
|
|
11619
|
+
"title": "List email templates",
|
|
11620
|
+
"readOnlyHint": true,
|
|
11621
|
+
"destructiveHint": false
|
|
11622
|
+
},
|
|
11623
|
+
"description": "Get a list of the email templates in a profile, most recently updated first.\n\nTemplates are the reusable email bodies a campaign is built from. The list is not paginated\nand only the metadata is returned - the template content itself is not exposed. Use the\n`uuid` of a template as the `template_uuid` when creating a campaign.",
|
|
11624
|
+
"method": "GET",
|
|
11625
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/templates",
|
|
11626
|
+
"inputSchema": {
|
|
11627
|
+
"type": "object",
|
|
11628
|
+
"properties": {
|
|
11629
|
+
"profileUuid": {
|
|
11630
|
+
"type": "string",
|
|
11631
|
+
"description": "Profile uuid parameter"
|
|
11632
|
+
}
|
|
11633
|
+
},
|
|
11634
|
+
"required": [
|
|
11635
|
+
"profileUuid"
|
|
11636
|
+
]
|
|
11637
|
+
},
|
|
11638
|
+
"security": [
|
|
11639
|
+
{
|
|
11640
|
+
"apiToken": []
|
|
11641
|
+
}
|
|
11642
|
+
],
|
|
11643
|
+
"group": "reach"
|
|
11644
|
+
},
|
|
11645
|
+
{
|
|
11646
|
+
"name": "reach_createAnEmailTemplateV1",
|
|
11647
|
+
"title": "Create an email template",
|
|
11648
|
+
"annotations": {
|
|
11649
|
+
"title": "Create an email template",
|
|
11650
|
+
"readOnlyHint": false,
|
|
11651
|
+
"destructiveHint": false
|
|
11652
|
+
},
|
|
11653
|
+
"description": "Create an email template in a profile.\n\nThe template holds the HTML body a campaign reuses, so it can be created before any\ncampaign exists. Only the template metadata comes back - keep the returned `uuid` to\nreference it as the `template_uuid` of a campaign.",
|
|
11654
|
+
"method": "POST",
|
|
11655
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/templates",
|
|
11656
|
+
"inputSchema": {
|
|
11657
|
+
"type": "object",
|
|
11658
|
+
"properties": {
|
|
11659
|
+
"profileUuid": {
|
|
11660
|
+
"type": "string",
|
|
11661
|
+
"description": "Profile uuid parameter"
|
|
11662
|
+
},
|
|
11663
|
+
"template_content": {
|
|
11664
|
+
"type": "string",
|
|
11665
|
+
"description": "The email body as HTML. It is sanitised before it is stored, so the saved template\ncan differ from what was sent - inline any styles the email clients need and keep\nthe markup self-contained."
|
|
11666
|
+
},
|
|
11667
|
+
"title": {
|
|
11668
|
+
"type": "string",
|
|
11669
|
+
"description": "Name the template is listed under. Not shown to the recipients."
|
|
11670
|
+
}
|
|
11671
|
+
},
|
|
11672
|
+
"required": [
|
|
11673
|
+
"profileUuid",
|
|
11674
|
+
"template_content"
|
|
11675
|
+
]
|
|
11676
|
+
},
|
|
11677
|
+
"security": [
|
|
11678
|
+
{
|
|
11679
|
+
"apiToken": []
|
|
11680
|
+
}
|
|
11681
|
+
],
|
|
11682
|
+
"group": "reach"
|
|
11683
|
+
},
|
|
11549
11684
|
{
|
|
11550
11685
|
"name": "VPS_getDataCenterListV1",
|
|
11551
11686
|
"title": "Get data center list",
|
package/src/core/tools/all.ts
CHANGED
|
@@ -9519,6 +9519,72 @@ const tools: OpenApiTool[] = [
|
|
|
9519
9519
|
],
|
|
9520
9520
|
"group": "reach"
|
|
9521
9521
|
},
|
|
9522
|
+
{
|
|
9523
|
+
"name": "reach_createADraftCampaignV1",
|
|
9524
|
+
"title": "Create a draft campaign",
|
|
9525
|
+
"annotations": {
|
|
9526
|
+
"title": "Create a draft campaign",
|
|
9527
|
+
"readOnlyHint": false,
|
|
9528
|
+
"destructiveHint": false
|
|
9529
|
+
},
|
|
9530
|
+
"description": "Create a campaign in a profile.\n\nThe campaign is created as a draft, so nothing is sent and no contact is touched. It has no\naudience yet either - targeting and scheduling are not part of this request, the draft is\nfinished and sent from the Reach interface.",
|
|
9531
|
+
"method": "POST",
|
|
9532
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/campaigns",
|
|
9533
|
+
"inputSchema": {
|
|
9534
|
+
"type": "object",
|
|
9535
|
+
"properties": {
|
|
9536
|
+
"profileUuid": {
|
|
9537
|
+
"type": "string",
|
|
9538
|
+
"description": "Profile uuid parameter"
|
|
9539
|
+
},
|
|
9540
|
+
"sender_name": {
|
|
9541
|
+
"type": "string",
|
|
9542
|
+
"description": "From name shown to the recipients."
|
|
9543
|
+
},
|
|
9544
|
+
"sender_email": {
|
|
9545
|
+
"type": "string",
|
|
9546
|
+
"description": "From address of the campaign. Its domain has to be verified on the profile before\nthe campaign can be sent."
|
|
9547
|
+
},
|
|
9548
|
+
"title": {
|
|
9549
|
+
"type": "string",
|
|
9550
|
+
"description": "Name the campaign is listed under. Not shown to the recipients."
|
|
9551
|
+
},
|
|
9552
|
+
"subject": {
|
|
9553
|
+
"type": "string",
|
|
9554
|
+
"description": "Subject line of the email."
|
|
9555
|
+
},
|
|
9556
|
+
"template_uuid": {
|
|
9557
|
+
"type": "string",
|
|
9558
|
+
"description": "Template to send, as returned by the template endpoints. Can be left out and\nattached later, but the campaign cannot be sent without one."
|
|
9559
|
+
},
|
|
9560
|
+
"metadata": {
|
|
9561
|
+
"type": "object",
|
|
9562
|
+
"description": "Extra campaign fields. Any key outside the listed ones is rejected.",
|
|
9563
|
+
"properties": {
|
|
9564
|
+
"preheader": {
|
|
9565
|
+
"type": "string",
|
|
9566
|
+
"description": "Preview text shown after the subject line in the inbox."
|
|
9567
|
+
},
|
|
9568
|
+
"source": {
|
|
9569
|
+
"type": "string",
|
|
9570
|
+
"description": "Where the campaign was created from."
|
|
9571
|
+
}
|
|
9572
|
+
}
|
|
9573
|
+
}
|
|
9574
|
+
},
|
|
9575
|
+
"required": [
|
|
9576
|
+
"profileUuid",
|
|
9577
|
+
"sender_name",
|
|
9578
|
+
"sender_email"
|
|
9579
|
+
]
|
|
9580
|
+
},
|
|
9581
|
+
"security": [
|
|
9582
|
+
{
|
|
9583
|
+
"apiToken": []
|
|
9584
|
+
}
|
|
9585
|
+
],
|
|
9586
|
+
"group": "reach"
|
|
9587
|
+
},
|
|
9522
9588
|
{
|
|
9523
9589
|
"name": "reach_getCampaignPerformanceV1",
|
|
9524
9590
|
"title": "Get campaign performance",
|
|
@@ -11560,6 +11626,75 @@ const tools: OpenApiTool[] = [
|
|
|
11560
11626
|
],
|
|
11561
11627
|
"group": "reach"
|
|
11562
11628
|
},
|
|
11629
|
+
{
|
|
11630
|
+
"name": "reach_listEmailTemplatesV1",
|
|
11631
|
+
"title": "List email templates",
|
|
11632
|
+
"annotations": {
|
|
11633
|
+
"title": "List email templates",
|
|
11634
|
+
"readOnlyHint": true,
|
|
11635
|
+
"destructiveHint": false
|
|
11636
|
+
},
|
|
11637
|
+
"description": "Get a list of the email templates in a profile, most recently updated first.\n\nTemplates are the reusable email bodies a campaign is built from. The list is not paginated\nand only the metadata is returned - the template content itself is not exposed. Use the\n`uuid` of a template as the `template_uuid` when creating a campaign.",
|
|
11638
|
+
"method": "GET",
|
|
11639
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/templates",
|
|
11640
|
+
"inputSchema": {
|
|
11641
|
+
"type": "object",
|
|
11642
|
+
"properties": {
|
|
11643
|
+
"profileUuid": {
|
|
11644
|
+
"type": "string",
|
|
11645
|
+
"description": "Profile uuid parameter"
|
|
11646
|
+
}
|
|
11647
|
+
},
|
|
11648
|
+
"required": [
|
|
11649
|
+
"profileUuid"
|
|
11650
|
+
]
|
|
11651
|
+
},
|
|
11652
|
+
"security": [
|
|
11653
|
+
{
|
|
11654
|
+
"apiToken": []
|
|
11655
|
+
}
|
|
11656
|
+
],
|
|
11657
|
+
"group": "reach"
|
|
11658
|
+
},
|
|
11659
|
+
{
|
|
11660
|
+
"name": "reach_createAnEmailTemplateV1",
|
|
11661
|
+
"title": "Create an email template",
|
|
11662
|
+
"annotations": {
|
|
11663
|
+
"title": "Create an email template",
|
|
11664
|
+
"readOnlyHint": false,
|
|
11665
|
+
"destructiveHint": false
|
|
11666
|
+
},
|
|
11667
|
+
"description": "Create an email template in a profile.\n\nThe template holds the HTML body a campaign reuses, so it can be created before any\ncampaign exists. Only the template metadata comes back - keep the returned `uuid` to\nreference it as the `template_uuid` of a campaign.",
|
|
11668
|
+
"method": "POST",
|
|
11669
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/templates",
|
|
11670
|
+
"inputSchema": {
|
|
11671
|
+
"type": "object",
|
|
11672
|
+
"properties": {
|
|
11673
|
+
"profileUuid": {
|
|
11674
|
+
"type": "string",
|
|
11675
|
+
"description": "Profile uuid parameter"
|
|
11676
|
+
},
|
|
11677
|
+
"template_content": {
|
|
11678
|
+
"type": "string",
|
|
11679
|
+
"description": "The email body as HTML. It is sanitised before it is stored, so the saved template\ncan differ from what was sent - inline any styles the email clients need and keep\nthe markup self-contained."
|
|
11680
|
+
},
|
|
11681
|
+
"title": {
|
|
11682
|
+
"type": "string",
|
|
11683
|
+
"description": "Name the template is listed under. Not shown to the recipients."
|
|
11684
|
+
}
|
|
11685
|
+
},
|
|
11686
|
+
"required": [
|
|
11687
|
+
"profileUuid",
|
|
11688
|
+
"template_content"
|
|
11689
|
+
]
|
|
11690
|
+
},
|
|
11691
|
+
"security": [
|
|
11692
|
+
{
|
|
11693
|
+
"apiToken": []
|
|
11694
|
+
}
|
|
11695
|
+
],
|
|
11696
|
+
"group": "reach"
|
|
11697
|
+
},
|
|
11563
11698
|
{
|
|
11564
11699
|
"name": "VPS_getDataCenterListV1",
|
|
11565
11700
|
"title": "Get data center list",
|
package/src/core/tools/reach.js
CHANGED
|
@@ -226,6 +226,72 @@ export default [
|
|
|
226
226
|
],
|
|
227
227
|
"group": "reach"
|
|
228
228
|
},
|
|
229
|
+
{
|
|
230
|
+
"name": "reach_createADraftCampaignV1",
|
|
231
|
+
"title": "Create a draft campaign",
|
|
232
|
+
"annotations": {
|
|
233
|
+
"title": "Create a draft campaign",
|
|
234
|
+
"readOnlyHint": false,
|
|
235
|
+
"destructiveHint": false
|
|
236
|
+
},
|
|
237
|
+
"description": "Create a campaign in a profile.\n\nThe campaign is created as a draft, so nothing is sent and no contact is touched. It has no\naudience yet either - targeting and scheduling are not part of this request, the draft is\nfinished and sent from the Reach interface.",
|
|
238
|
+
"method": "POST",
|
|
239
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/campaigns",
|
|
240
|
+
"inputSchema": {
|
|
241
|
+
"type": "object",
|
|
242
|
+
"properties": {
|
|
243
|
+
"profileUuid": {
|
|
244
|
+
"type": "string",
|
|
245
|
+
"description": "Profile uuid parameter"
|
|
246
|
+
},
|
|
247
|
+
"sender_name": {
|
|
248
|
+
"type": "string",
|
|
249
|
+
"description": "From name shown to the recipients."
|
|
250
|
+
},
|
|
251
|
+
"sender_email": {
|
|
252
|
+
"type": "string",
|
|
253
|
+
"description": "From address of the campaign. Its domain has to be verified on the profile before\nthe campaign can be sent."
|
|
254
|
+
},
|
|
255
|
+
"title": {
|
|
256
|
+
"type": "string",
|
|
257
|
+
"description": "Name the campaign is listed under. Not shown to the recipients."
|
|
258
|
+
},
|
|
259
|
+
"subject": {
|
|
260
|
+
"type": "string",
|
|
261
|
+
"description": "Subject line of the email."
|
|
262
|
+
},
|
|
263
|
+
"template_uuid": {
|
|
264
|
+
"type": "string",
|
|
265
|
+
"description": "Template to send, as returned by the template endpoints. Can be left out and\nattached later, but the campaign cannot be sent without one."
|
|
266
|
+
},
|
|
267
|
+
"metadata": {
|
|
268
|
+
"type": "object",
|
|
269
|
+
"description": "Extra campaign fields. Any key outside the listed ones is rejected.",
|
|
270
|
+
"properties": {
|
|
271
|
+
"preheader": {
|
|
272
|
+
"type": "string",
|
|
273
|
+
"description": "Preview text shown after the subject line in the inbox."
|
|
274
|
+
},
|
|
275
|
+
"source": {
|
|
276
|
+
"type": "string",
|
|
277
|
+
"description": "Where the campaign was created from."
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
"required": [
|
|
283
|
+
"profileUuid",
|
|
284
|
+
"sender_name",
|
|
285
|
+
"sender_email"
|
|
286
|
+
]
|
|
287
|
+
},
|
|
288
|
+
"security": [
|
|
289
|
+
{
|
|
290
|
+
"apiToken": []
|
|
291
|
+
}
|
|
292
|
+
],
|
|
293
|
+
"group": "reach"
|
|
294
|
+
},
|
|
229
295
|
{
|
|
230
296
|
"name": "reach_getCampaignPerformanceV1",
|
|
231
297
|
"title": "Get campaign performance",
|
|
@@ -2266,5 +2332,74 @@ export default [
|
|
|
2266
2332
|
}
|
|
2267
2333
|
],
|
|
2268
2334
|
"group": "reach"
|
|
2335
|
+
},
|
|
2336
|
+
{
|
|
2337
|
+
"name": "reach_listEmailTemplatesV1",
|
|
2338
|
+
"title": "List email templates",
|
|
2339
|
+
"annotations": {
|
|
2340
|
+
"title": "List email templates",
|
|
2341
|
+
"readOnlyHint": true,
|
|
2342
|
+
"destructiveHint": false
|
|
2343
|
+
},
|
|
2344
|
+
"description": "Get a list of the email templates in a profile, most recently updated first.\n\nTemplates are the reusable email bodies a campaign is built from. The list is not paginated\nand only the metadata is returned - the template content itself is not exposed. Use the\n`uuid` of a template as the `template_uuid` when creating a campaign.",
|
|
2345
|
+
"method": "GET",
|
|
2346
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/templates",
|
|
2347
|
+
"inputSchema": {
|
|
2348
|
+
"type": "object",
|
|
2349
|
+
"properties": {
|
|
2350
|
+
"profileUuid": {
|
|
2351
|
+
"type": "string",
|
|
2352
|
+
"description": "Profile uuid parameter"
|
|
2353
|
+
}
|
|
2354
|
+
},
|
|
2355
|
+
"required": [
|
|
2356
|
+
"profileUuid"
|
|
2357
|
+
]
|
|
2358
|
+
},
|
|
2359
|
+
"security": [
|
|
2360
|
+
{
|
|
2361
|
+
"apiToken": []
|
|
2362
|
+
}
|
|
2363
|
+
],
|
|
2364
|
+
"group": "reach"
|
|
2365
|
+
},
|
|
2366
|
+
{
|
|
2367
|
+
"name": "reach_createAnEmailTemplateV1",
|
|
2368
|
+
"title": "Create an email template",
|
|
2369
|
+
"annotations": {
|
|
2370
|
+
"title": "Create an email template",
|
|
2371
|
+
"readOnlyHint": false,
|
|
2372
|
+
"destructiveHint": false
|
|
2373
|
+
},
|
|
2374
|
+
"description": "Create an email template in a profile.\n\nThe template holds the HTML body a campaign reuses, so it can be created before any\ncampaign exists. Only the template metadata comes back - keep the returned `uuid` to\nreference it as the `template_uuid` of a campaign.",
|
|
2375
|
+
"method": "POST",
|
|
2376
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/templates",
|
|
2377
|
+
"inputSchema": {
|
|
2378
|
+
"type": "object",
|
|
2379
|
+
"properties": {
|
|
2380
|
+
"profileUuid": {
|
|
2381
|
+
"type": "string",
|
|
2382
|
+
"description": "Profile uuid parameter"
|
|
2383
|
+
},
|
|
2384
|
+
"template_content": {
|
|
2385
|
+
"type": "string",
|
|
2386
|
+
"description": "The email body as HTML. It is sanitised before it is stored, so the saved template\ncan differ from what was sent - inline any styles the email clients need and keep\nthe markup self-contained."
|
|
2387
|
+
},
|
|
2388
|
+
"title": {
|
|
2389
|
+
"type": "string",
|
|
2390
|
+
"description": "Name the template is listed under. Not shown to the recipients."
|
|
2391
|
+
}
|
|
2392
|
+
},
|
|
2393
|
+
"required": [
|
|
2394
|
+
"profileUuid",
|
|
2395
|
+
"template_content"
|
|
2396
|
+
]
|
|
2397
|
+
},
|
|
2398
|
+
"security": [
|
|
2399
|
+
{
|
|
2400
|
+
"apiToken": []
|
|
2401
|
+
}
|
|
2402
|
+
],
|
|
2403
|
+
"group": "reach"
|
|
2269
2404
|
}
|
|
2270
2405
|
];
|
package/src/core/tools/reach.ts
CHANGED
|
@@ -240,6 +240,72 @@ const tools: OpenApiTool[] = [
|
|
|
240
240
|
],
|
|
241
241
|
"group": "reach"
|
|
242
242
|
},
|
|
243
|
+
{
|
|
244
|
+
"name": "reach_createADraftCampaignV1",
|
|
245
|
+
"title": "Create a draft campaign",
|
|
246
|
+
"annotations": {
|
|
247
|
+
"title": "Create a draft campaign",
|
|
248
|
+
"readOnlyHint": false,
|
|
249
|
+
"destructiveHint": false
|
|
250
|
+
},
|
|
251
|
+
"description": "Create a campaign in a profile.\n\nThe campaign is created as a draft, so nothing is sent and no contact is touched. It has no\naudience yet either - targeting and scheduling are not part of this request, the draft is\nfinished and sent from the Reach interface.",
|
|
252
|
+
"method": "POST",
|
|
253
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/campaigns",
|
|
254
|
+
"inputSchema": {
|
|
255
|
+
"type": "object",
|
|
256
|
+
"properties": {
|
|
257
|
+
"profileUuid": {
|
|
258
|
+
"type": "string",
|
|
259
|
+
"description": "Profile uuid parameter"
|
|
260
|
+
},
|
|
261
|
+
"sender_name": {
|
|
262
|
+
"type": "string",
|
|
263
|
+
"description": "From name shown to the recipients."
|
|
264
|
+
},
|
|
265
|
+
"sender_email": {
|
|
266
|
+
"type": "string",
|
|
267
|
+
"description": "From address of the campaign. Its domain has to be verified on the profile before\nthe campaign can be sent."
|
|
268
|
+
},
|
|
269
|
+
"title": {
|
|
270
|
+
"type": "string",
|
|
271
|
+
"description": "Name the campaign is listed under. Not shown to the recipients."
|
|
272
|
+
},
|
|
273
|
+
"subject": {
|
|
274
|
+
"type": "string",
|
|
275
|
+
"description": "Subject line of the email."
|
|
276
|
+
},
|
|
277
|
+
"template_uuid": {
|
|
278
|
+
"type": "string",
|
|
279
|
+
"description": "Template to send, as returned by the template endpoints. Can be left out and\nattached later, but the campaign cannot be sent without one."
|
|
280
|
+
},
|
|
281
|
+
"metadata": {
|
|
282
|
+
"type": "object",
|
|
283
|
+
"description": "Extra campaign fields. Any key outside the listed ones is rejected.",
|
|
284
|
+
"properties": {
|
|
285
|
+
"preheader": {
|
|
286
|
+
"type": "string",
|
|
287
|
+
"description": "Preview text shown after the subject line in the inbox."
|
|
288
|
+
},
|
|
289
|
+
"source": {
|
|
290
|
+
"type": "string",
|
|
291
|
+
"description": "Where the campaign was created from."
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
},
|
|
296
|
+
"required": [
|
|
297
|
+
"profileUuid",
|
|
298
|
+
"sender_name",
|
|
299
|
+
"sender_email"
|
|
300
|
+
]
|
|
301
|
+
},
|
|
302
|
+
"security": [
|
|
303
|
+
{
|
|
304
|
+
"apiToken": []
|
|
305
|
+
}
|
|
306
|
+
],
|
|
307
|
+
"group": "reach"
|
|
308
|
+
},
|
|
243
309
|
{
|
|
244
310
|
"name": "reach_getCampaignPerformanceV1",
|
|
245
311
|
"title": "Get campaign performance",
|
|
@@ -2280,6 +2346,75 @@ const tools: OpenApiTool[] = [
|
|
|
2280
2346
|
}
|
|
2281
2347
|
],
|
|
2282
2348
|
"group": "reach"
|
|
2349
|
+
},
|
|
2350
|
+
{
|
|
2351
|
+
"name": "reach_listEmailTemplatesV1",
|
|
2352
|
+
"title": "List email templates",
|
|
2353
|
+
"annotations": {
|
|
2354
|
+
"title": "List email templates",
|
|
2355
|
+
"readOnlyHint": true,
|
|
2356
|
+
"destructiveHint": false
|
|
2357
|
+
},
|
|
2358
|
+
"description": "Get a list of the email templates in a profile, most recently updated first.\n\nTemplates are the reusable email bodies a campaign is built from. The list is not paginated\nand only the metadata is returned - the template content itself is not exposed. Use the\n`uuid` of a template as the `template_uuid` when creating a campaign.",
|
|
2359
|
+
"method": "GET",
|
|
2360
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/templates",
|
|
2361
|
+
"inputSchema": {
|
|
2362
|
+
"type": "object",
|
|
2363
|
+
"properties": {
|
|
2364
|
+
"profileUuid": {
|
|
2365
|
+
"type": "string",
|
|
2366
|
+
"description": "Profile uuid parameter"
|
|
2367
|
+
}
|
|
2368
|
+
},
|
|
2369
|
+
"required": [
|
|
2370
|
+
"profileUuid"
|
|
2371
|
+
]
|
|
2372
|
+
},
|
|
2373
|
+
"security": [
|
|
2374
|
+
{
|
|
2375
|
+
"apiToken": []
|
|
2376
|
+
}
|
|
2377
|
+
],
|
|
2378
|
+
"group": "reach"
|
|
2379
|
+
},
|
|
2380
|
+
{
|
|
2381
|
+
"name": "reach_createAnEmailTemplateV1",
|
|
2382
|
+
"title": "Create an email template",
|
|
2383
|
+
"annotations": {
|
|
2384
|
+
"title": "Create an email template",
|
|
2385
|
+
"readOnlyHint": false,
|
|
2386
|
+
"destructiveHint": false
|
|
2387
|
+
},
|
|
2388
|
+
"description": "Create an email template in a profile.\n\nThe template holds the HTML body a campaign reuses, so it can be created before any\ncampaign exists. Only the template metadata comes back - keep the returned `uuid` to\nreference it as the `template_uuid` of a campaign.",
|
|
2389
|
+
"method": "POST",
|
|
2390
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/templates",
|
|
2391
|
+
"inputSchema": {
|
|
2392
|
+
"type": "object",
|
|
2393
|
+
"properties": {
|
|
2394
|
+
"profileUuid": {
|
|
2395
|
+
"type": "string",
|
|
2396
|
+
"description": "Profile uuid parameter"
|
|
2397
|
+
},
|
|
2398
|
+
"template_content": {
|
|
2399
|
+
"type": "string",
|
|
2400
|
+
"description": "The email body as HTML. It is sanitised before it is stored, so the saved template\ncan differ from what was sent - inline any styles the email clients need and keep\nthe markup self-contained."
|
|
2401
|
+
},
|
|
2402
|
+
"title": {
|
|
2403
|
+
"type": "string",
|
|
2404
|
+
"description": "Name the template is listed under. Not shown to the recipients."
|
|
2405
|
+
}
|
|
2406
|
+
},
|
|
2407
|
+
"required": [
|
|
2408
|
+
"profileUuid",
|
|
2409
|
+
"template_content"
|
|
2410
|
+
]
|
|
2411
|
+
},
|
|
2412
|
+
"security": [
|
|
2413
|
+
{
|
|
2414
|
+
"apiToken": []
|
|
2415
|
+
}
|
|
2416
|
+
],
|
|
2417
|
+
"group": "reach"
|
|
2283
2418
|
}
|
|
2284
2419
|
];
|
|
2285
2420
|
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.53.
|
|
6
|
+
startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.53.1', 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.53.
|
|
6
|
+
startServer({ name: 'hostinger-agency-hosting-mcp', version: '1.53.1', 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
|
@@ -5425,6 +5425,49 @@ opt-in confirmations.
|
|
|
5425
5425
|
response: any; // Response structure will depend on the API
|
|
5426
5426
|
};
|
|
5427
5427
|
|
|
5428
|
+
/**
|
|
5429
|
+
* Create a campaign in a profile.
|
|
5430
|
+
|
|
5431
|
+
The campaign is created as a draft, so nothing is sent and no contact is touched. It has no
|
|
5432
|
+
audience yet either - targeting and scheduling are not part of this request, the draft is
|
|
5433
|
+
finished and sent from the Reach interface.
|
|
5434
|
+
*/
|
|
5435
|
+
"reach_createADraftCampaignV1": {
|
|
5436
|
+
params: {
|
|
5437
|
+
/**
|
|
5438
|
+
* Profile uuid parameter
|
|
5439
|
+
*/
|
|
5440
|
+
profileUuid: string;
|
|
5441
|
+
/**
|
|
5442
|
+
* From name shown to the recipients.
|
|
5443
|
+
*/
|
|
5444
|
+
sender_name: string;
|
|
5445
|
+
/**
|
|
5446
|
+
* From address of the campaign. Its domain has to be verified on the profile before
|
|
5447
|
+
the campaign can be sent.
|
|
5448
|
+
*/
|
|
5449
|
+
sender_email: string;
|
|
5450
|
+
/**
|
|
5451
|
+
* Name the campaign is listed under. Not shown to the recipients.
|
|
5452
|
+
*/
|
|
5453
|
+
title?: string;
|
|
5454
|
+
/**
|
|
5455
|
+
* Subject line of the email.
|
|
5456
|
+
*/
|
|
5457
|
+
subject?: string;
|
|
5458
|
+
/**
|
|
5459
|
+
* Template to send, as returned by the template endpoints. Can be left out and
|
|
5460
|
+
attached later, but the campaign cannot be sent without one.
|
|
5461
|
+
*/
|
|
5462
|
+
template_uuid?: string;
|
|
5463
|
+
/**
|
|
5464
|
+
* Extra campaign fields. Any key outside the listed ones is rejected.
|
|
5465
|
+
*/
|
|
5466
|
+
metadata?: object;
|
|
5467
|
+
};
|
|
5468
|
+
response: any; // Response structure will depend on the API
|
|
5469
|
+
};
|
|
5470
|
+
|
|
5428
5471
|
/**
|
|
5429
5472
|
* Get the performance of a campaign: delivery, opens, clicks and unsubscribes, with the
|
|
5430
5473
|
matching rates.
|
|
@@ -6502,6 +6545,50 @@ not kept.
|
|
|
6502
6545
|
response: any; // Response structure will depend on the API
|
|
6503
6546
|
};
|
|
6504
6547
|
|
|
6548
|
+
/**
|
|
6549
|
+
* Get a list of the email templates in a profile, most recently updated first.
|
|
6550
|
+
|
|
6551
|
+
Templates are the reusable email bodies a campaign is built from. The list is not paginated
|
|
6552
|
+
and only the metadata is returned - the template content itself is not exposed. Use the
|
|
6553
|
+
`uuid` of a template as the `template_uuid` when creating a campaign.
|
|
6554
|
+
*/
|
|
6555
|
+
"reach_listEmailTemplatesV1": {
|
|
6556
|
+
params: {
|
|
6557
|
+
/**
|
|
6558
|
+
* Profile uuid parameter
|
|
6559
|
+
*/
|
|
6560
|
+
profileUuid: string;
|
|
6561
|
+
};
|
|
6562
|
+
response: any; // Response structure will depend on the API
|
|
6563
|
+
};
|
|
6564
|
+
|
|
6565
|
+
/**
|
|
6566
|
+
* Create an email template in a profile.
|
|
6567
|
+
|
|
6568
|
+
The template holds the HTML body a campaign reuses, so it can be created before any
|
|
6569
|
+
campaign exists. Only the template metadata comes back - keep the returned `uuid` to
|
|
6570
|
+
reference it as the `template_uuid` of a campaign.
|
|
6571
|
+
*/
|
|
6572
|
+
"reach_createAnEmailTemplateV1": {
|
|
6573
|
+
params: {
|
|
6574
|
+
/**
|
|
6575
|
+
* Profile uuid parameter
|
|
6576
|
+
*/
|
|
6577
|
+
profileUuid: string;
|
|
6578
|
+
/**
|
|
6579
|
+
* The email body as HTML. It is sanitised before it is stored, so the saved template
|
|
6580
|
+
can differ from what was sent - inline any styles the email clients need and keep
|
|
6581
|
+
the markup self-contained.
|
|
6582
|
+
*/
|
|
6583
|
+
template_content: string;
|
|
6584
|
+
/**
|
|
6585
|
+
* Name the template is listed under. Not shown to the recipients.
|
|
6586
|
+
*/
|
|
6587
|
+
title?: string;
|
|
6588
|
+
};
|
|
6589
|
+
response: any; // Response structure will depend on the API
|
|
6590
|
+
};
|
|
6591
|
+
|
|
6505
6592
|
/**
|
|
6506
6593
|
* Retrieve all available data centers.
|
|
6507
6594
|
|