hostinger-api-mcp 1.29.0 → 1.31.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 +168 -15
- 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 +575 -48
- package/src/core/tools/all.ts +575 -48
- package/src/core/tools/domains.js +106 -0
- package/src/core/tools/domains.ts +106 -0
- package/src/core/tools/reach.js +469 -48
- package/src/core/tools/reach.ts +469 -48
- 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 +377 -38
package/README.md
CHANGED
|
@@ -49,16 +49,16 @@ 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 (
|
|
52
|
+
- `hostinger-api-mcp` — unified server with every tool (300 total)
|
|
53
53
|
- `hostinger-agency-hosting-mcp` — 27 tools for agency-hosting
|
|
54
54
|
- `hostinger-billing-mcp` — 9 tools for billing
|
|
55
55
|
- `hostinger-dns-mcp` — 8 tools for dns
|
|
56
|
-
- `hostinger-domains-mcp` —
|
|
56
|
+
- `hostinger-domains-mcp` — 38 tools for domains
|
|
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
60
|
- `hostinger-mail-mcp` — 38 tools for mail
|
|
61
|
-
- `hostinger-reach-mcp` —
|
|
61
|
+
- `hostinger-reach-mcp` — 21 tools for reach
|
|
62
62
|
- `hostinger-vps-mcp` — 62 tools for vps
|
|
63
63
|
- `hostinger-wordpress-mcp` — 35 tools for wordpress
|
|
64
64
|
|
|
@@ -855,6 +855,29 @@ Use this endpoint to obtain the code required to transfer a domain to another re
|
|
|
855
855
|
- **Method**: `GET`
|
|
856
856
|
- **Path**: `/api/domains/v1/portfolio/{domain}/auth-code`
|
|
857
857
|
|
|
858
|
+
#### domains_claimFreeDomainV1
|
|
859
|
+
|
|
860
|
+
Claim a free domain available on your account and register it.
|
|
861
|
+
|
|
862
|
+
Unlike purchasing a domain, this consumes a free domain you already have,
|
|
863
|
+
so no payment method is required.
|
|
864
|
+
|
|
865
|
+
A successful response means the domain is registered. If registration fails, login to
|
|
866
|
+
[hPanel](https://hpanel.hostinger.com/) and check domain registration status.
|
|
867
|
+
|
|
868
|
+
If no WHOIS information is provided, default contact information for that TLD will be used.
|
|
869
|
+
Before making request, ensure WHOIS information for desired TLD exists in your account.
|
|
870
|
+
|
|
871
|
+
Some TLDs require `additional_details` to be provided and these will be validated before claiming.
|
|
872
|
+
|
|
873
|
+
Requests which cannot be fulfilled are rejected with an error code in the response body,
|
|
874
|
+
for example `2037` when no free domain is available.
|
|
875
|
+
|
|
876
|
+
Use this endpoint to register a domain using a free domain from your account.
|
|
877
|
+
|
|
878
|
+
- **Method**: `POST`
|
|
879
|
+
- **Path**: `/api/domains/v1/portfolio/claim`
|
|
880
|
+
|
|
858
881
|
#### domains_enableDomainLockV1
|
|
859
882
|
|
|
860
883
|
Enable domain lock for the domain.
|
|
@@ -957,6 +980,30 @@ Use this endpoint to configure custom DNS hosting for domains.
|
|
|
957
980
|
- **Method**: `PUT`
|
|
958
981
|
- **Path**: `/api/domains/v1/portfolio/{domain}/nameservers`
|
|
959
982
|
|
|
983
|
+
#### domains_claimFreeDomainTransferV1
|
|
984
|
+
|
|
985
|
+
Claim a free domain transfer available on your account and start the transfer.
|
|
986
|
+
|
|
987
|
+
Unlike purchasing a transfer, this consumes a free domain transfer you already have,
|
|
988
|
+
so no payment method is required.
|
|
989
|
+
|
|
990
|
+
Before making request, unlock the domain at the current registrar and get its authorization
|
|
991
|
+
code. The transfer is validated first, so domains which cannot be transferred are rejected
|
|
992
|
+
before the free domain transfer is consumed.
|
|
993
|
+
|
|
994
|
+
A successful response means the transfer has been started. Completion depends on the current
|
|
995
|
+
registrar and can be followed with the [transfer list endpoint](#tag/domains-transfer).
|
|
996
|
+
|
|
997
|
+
If no WHOIS information is provided, default contact information for that TLD will be used.
|
|
998
|
+
Before making request, ensure WHOIS information for desired TLD exists in your account.
|
|
999
|
+
|
|
1000
|
+
Requests which cannot be fulfilled are rejected with an error code in the response body.
|
|
1001
|
+
|
|
1002
|
+
Use this endpoint to transfer a domain using a free domain transfer from your account.
|
|
1003
|
+
|
|
1004
|
+
- **Method**: `POST`
|
|
1005
|
+
- **Path**: `/api/domains/v1/transfers/claim`
|
|
1006
|
+
|
|
960
1007
|
#### domains_getTransferV1
|
|
961
1008
|
|
|
962
1009
|
Retrieve the transfer for a specified domain.
|
|
@@ -2085,9 +2132,55 @@ Delete a contact with the specified UUID.
|
|
|
2085
2132
|
|
|
2086
2133
|
This endpoint permanently removes a contact from the email marketing system.
|
|
2087
2134
|
|
|
2135
|
+
**Deprecated.** This endpoint cannot target a profile, so it always falls back to the
|
|
2136
|
+
client's default profile and cannot delete contacts of any other profile. Use
|
|
2137
|
+
`DELETE /api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}` instead.
|
|
2138
|
+
|
|
2088
2139
|
- **Method**: `DELETE`
|
|
2089
2140
|
- **Path**: `/api/reach/v1/contacts/{uuid}`
|
|
2090
2141
|
|
|
2142
|
+
#### reach_deleteAContactFieldV1
|
|
2143
|
+
|
|
2144
|
+
Delete a custom contact field.
|
|
2145
|
+
|
|
2146
|
+
Every value contacts hold for the field is deleted with it, and for the choice types so
|
|
2147
|
+
are its options. The contacts themselves are not affected.
|
|
2148
|
+
|
|
2149
|
+
- **Method**: `DELETE`
|
|
2150
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/contacts/fields/{fieldUuid}`
|
|
2151
|
+
|
|
2152
|
+
#### reach_updateAContactFieldV1
|
|
2153
|
+
|
|
2154
|
+
Rename a custom contact field and, for the choice types, replace its option set.
|
|
2155
|
+
|
|
2156
|
+
Options carrying a uuid are kept and relabelled, options without one are created, and any
|
|
2157
|
+
existing option left out of the list is deleted along with the values contacts hold for
|
|
2158
|
+
it. The field type and slug cannot be changed.
|
|
2159
|
+
|
|
2160
|
+
- **Method**: `PATCH`
|
|
2161
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/contacts/fields/{fieldUuid}`
|
|
2162
|
+
|
|
2163
|
+
#### reach_listContactFieldsV1
|
|
2164
|
+
|
|
2165
|
+
Get the custom contact fields defined in a profile.
|
|
2166
|
+
|
|
2167
|
+
Custom fields let you store your own attributes on contacts. The returned uuids are what
|
|
2168
|
+
you pass to the contact update endpoint to set values, and choice fields also list the
|
|
2169
|
+
options available to pick from.
|
|
2170
|
+
|
|
2171
|
+
- **Method**: `GET`
|
|
2172
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/contacts/fields`
|
|
2173
|
+
|
|
2174
|
+
#### reach_createAContactFieldV1
|
|
2175
|
+
|
|
2176
|
+
Define a new custom contact field in a profile.
|
|
2177
|
+
|
|
2178
|
+
The `slug` is derived from the label and, like the field type, cannot be changed later.
|
|
2179
|
+
Use the returned uuid to set values on contacts.
|
|
2180
|
+
|
|
2181
|
+
- **Method**: `POST`
|
|
2182
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/contacts/fields`
|
|
2183
|
+
|
|
2091
2184
|
#### reach_listContactGroupsV1
|
|
2092
2185
|
|
|
2093
2186
|
Get a list of all contact groups.
|
|
@@ -2104,6 +2197,11 @@ Get a list of contacts, optionally filtered by group and subscription status.
|
|
|
2104
2197
|
This endpoint returns a paginated list of contacts with their basic information.
|
|
2105
2198
|
You can filter contacts by group UUID and subscription status.
|
|
2106
2199
|
|
|
2200
|
+
**Deprecated.** This endpoint cannot target a profile, so it always falls back to the
|
|
2201
|
+
client's default profile and cannot list contacts of any other profile. Use
|
|
2202
|
+
`GET /api/reach/v1/profiles/{profileUuid}/contacts` instead, which also replaces the
|
|
2203
|
+
group filter with a tag filter.
|
|
2204
|
+
|
|
2107
2205
|
- **Method**: `GET`
|
|
2108
2206
|
- **Path**: `/api/reach/v1/contacts`
|
|
2109
2207
|
|
|
@@ -2119,6 +2217,73 @@ the contact will be created with a pending status and a confirmation email will
|
|
|
2119
2217
|
- **Method**: `POST`
|
|
2120
2218
|
- **Path**: `/api/reach/v1/contacts`
|
|
2121
2219
|
|
|
2220
|
+
#### reach_getContactDetailsV1
|
|
2221
|
+
|
|
2222
|
+
Get the full details of a single contact.
|
|
2223
|
+
|
|
2224
|
+
Alongside the contact's own attributes this returns the tags assigned to it and the
|
|
2225
|
+
values it holds for the profile's custom contact fields.
|
|
2226
|
+
|
|
2227
|
+
- **Method**: `GET`
|
|
2228
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}`
|
|
2229
|
+
|
|
2230
|
+
#### reach_deleteAProfileContactV1
|
|
2231
|
+
|
|
2232
|
+
Permanently delete a contact from a profile.
|
|
2233
|
+
|
|
2234
|
+
The contact is removed together with its custom field values and tag assignments.
|
|
2235
|
+
|
|
2236
|
+
- **Method**: `DELETE`
|
|
2237
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}`
|
|
2238
|
+
|
|
2239
|
+
#### reach_updateAContactV1
|
|
2240
|
+
|
|
2241
|
+
Update a contact's attributes and custom field values.
|
|
2242
|
+
|
|
2243
|
+
Only the properties present in the request body are changed, so a partial body is enough
|
|
2244
|
+
to change a single attribute. Sending a property as `null` clears it.
|
|
2245
|
+
|
|
2246
|
+
The response carries the contact's core attributes. Read back its tags, custom field
|
|
2247
|
+
values, source and note with `GET /api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}`.
|
|
2248
|
+
|
|
2249
|
+
- **Method**: `PATCH`
|
|
2250
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/contacts/{contactUuid}`
|
|
2251
|
+
|
|
2252
|
+
#### reach_createContactsInBulkV1
|
|
2253
|
+
|
|
2254
|
+
Create many contacts in a profile in a single call.
|
|
2255
|
+
|
|
2256
|
+
The contacts are imported in the background, so a success response means the import was
|
|
2257
|
+
accepted rather than finished. Contacts whose email already exists in the profile are
|
|
2258
|
+
left as they are. If double opt-in is enabled, new contacts start off pending and are
|
|
2259
|
+
sent a confirmation email.
|
|
2260
|
+
|
|
2261
|
+
- **Method**: `POST`
|
|
2262
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/contacts/bulk`
|
|
2263
|
+
|
|
2264
|
+
#### reach_listProfileContactsV1
|
|
2265
|
+
|
|
2266
|
+
Get a paginated list of contacts belonging to a profile.
|
|
2267
|
+
|
|
2268
|
+
Contacts can be filtered by subscription status, by tag, and by an email search term.
|
|
2269
|
+
The `meta.total` field of the response is the number of contacts matching the filters,
|
|
2270
|
+
so calling this endpoint without filters gives the profile's total contact count.
|
|
2271
|
+
|
|
2272
|
+
- **Method**: `GET`
|
|
2273
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/contacts`
|
|
2274
|
+
|
|
2275
|
+
#### reach_createNewContactsV1
|
|
2276
|
+
|
|
2277
|
+
Create a new contact in the email marketing system.
|
|
2278
|
+
|
|
2279
|
+
This endpoint allows you to create a new contact with basic information like name, email, and surname.
|
|
2280
|
+
|
|
2281
|
+
If double opt-in is enabled, the contact will be created with a pending status
|
|
2282
|
+
and a confirmation email will be sent.
|
|
2283
|
+
|
|
2284
|
+
- **Method**: `POST`
|
|
2285
|
+
- **Path**: `/api/reach/v1/profiles/{profileUuid}/contacts`
|
|
2286
|
+
|
|
2122
2287
|
#### reach_listSegmentsV1
|
|
2123
2288
|
|
|
2124
2289
|
Get a list of all contact segments.
|
|
@@ -2168,18 +2333,6 @@ Segments are used to organize and group contacts based on specific criteria.
|
|
|
2168
2333
|
- **Method**: `GET`
|
|
2169
2334
|
- **Path**: `/api/reach/v1/segmentation/segments/{segmentUuid}`
|
|
2170
2335
|
|
|
2171
|
-
#### reach_createNewContactsV1
|
|
2172
|
-
|
|
2173
|
-
Create a new contact in the email marketing system.
|
|
2174
|
-
|
|
2175
|
-
This endpoint allows you to create a new contact with basic information like name, email, and surname.
|
|
2176
|
-
|
|
2177
|
-
If double opt-in is enabled, the contact will be created with a pending status
|
|
2178
|
-
and a confirmation email will be sent.
|
|
2179
|
-
|
|
2180
|
-
- **Method**: `POST`
|
|
2181
|
-
- **Path**: `/api/reach/v1/profiles/{profileUuid}/contacts`
|
|
2182
|
-
|
|
2183
2336
|
#### reach_getProfileDomainDNSStatusV1
|
|
2184
2337
|
|
|
2185
2338
|
Retrieve the DNS configuration status for a profile's domain.
|
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.31.0",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "hostinger-api-mcp",
|
|
14
|
-
"version": "1.
|
|
14
|
+
"version": "1.31.0",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
package/src/core/runtime.js
CHANGED
package/src/core/runtime.ts
CHANGED