hostinger-api-mcp 3.17.3 → 3.18.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/CHANGELOG.md +26 -0
- package/README.md +36 -137
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/skills/audit-hosting/SKILL.md +1 -1
- package/skills/connect-domain/SKILL.md +1 -1
- package/skills/deploy-to-hosting/SKILL.md +1 -1
- package/skills/troubleshoot-website/SKILL.md +5 -5
- package/src/core/runtime.js +152 -2
- package/src/core/runtime.ts +152 -2
- package/src/core/skills.js +12 -12
- package/src/core/skills.ts +12 -12
- package/src/core/tools/all.js +182 -12
- package/src/core/tools/all.ts +182 -12
- package/src/core/tools/hosting.js +145 -10
- package/src/core/tools/hosting.ts +145 -10
- package/src/core/tools/reach.js +37 -2
- package/src/core/tools/reach.ts +37 -2
- package/src/servers/agency-hosting.js +1 -1
- package/src/servers/agency-hosting.ts +1 -1
- package/src/servers/agent-readiness.js +1 -1
- package/src/servers/agent-readiness.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 +92 -4
|
@@ -189,6 +189,131 @@ const tools: OpenApiTool[] = [
|
|
|
189
189
|
"handlerMethod": "handleHostingGetDeployment",
|
|
190
190
|
"group": "hosting"
|
|
191
191
|
},
|
|
192
|
+
{
|
|
193
|
+
"name": "hosting_websites_get-settings",
|
|
194
|
+
"title": "Get website SSL, CDN and cache settings",
|
|
195
|
+
"annotations": {
|
|
196
|
+
"title": "Get website SSL, CDN and cache settings",
|
|
197
|
+
"readOnlyHint": true,
|
|
198
|
+
"destructiveHint": false
|
|
199
|
+
},
|
|
200
|
+
"topic": "hosting",
|
|
201
|
+
"description": "Read a website's SSL certificate, HTTPS redirect, CDN and server cache settings in one call. ssl is the SSL status as hosting_ssl_status returns it: the certificate status (active, installing, waiting_for_retry, failed, expired or not_installed) and provider, whether it is a lifetime certificate, whether HTTP is redirected to HTTPS, when it expires and the last installation error. cdn.is_enabled says whether the Hostinger CDN serves the website. cache.is_enabled says whether server-side caching is on, and cache.is_cacheless_mode_enabled whether development (cacheless) mode bypasses it. Use it before hosting_websites_update-settings, and to follow an SSL installation started by hosting_ssl_install: poll until ssl.status is active or failed, with growing pauses. A section that cannot be read comes back as { error } and the others are still returned; cache is null with a cacheNote when cache status is not available. To install or remove a certificate use hosting_ssl_install or hosting_ssl_uninstall. Works for Shared and Cloud hosting websites.",
|
|
202
|
+
"method": "",
|
|
203
|
+
"path": "",
|
|
204
|
+
"inputSchema": {
|
|
205
|
+
"type": "object",
|
|
206
|
+
"properties": {
|
|
207
|
+
"domain": {
|
|
208
|
+
"type": "string",
|
|
209
|
+
"description": "Domain name of the website, exactly as listed on the account and without www. (e.g., example.com)"
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
"required": [
|
|
213
|
+
"domain"
|
|
214
|
+
]
|
|
215
|
+
},
|
|
216
|
+
"security": [],
|
|
217
|
+
"custom": true,
|
|
218
|
+
"replacesHidden": true,
|
|
219
|
+
"templateFile": "get-website-settings.template.js",
|
|
220
|
+
"templateFileTS": "get-website-settings.template.ts",
|
|
221
|
+
"handlerMethod": "handleHostingWebsitesGetSettings",
|
|
222
|
+
"group": "hosting"
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"name": "hosting_websites_update-settings",
|
|
226
|
+
"title": "Update website HTTPS redirect, CDN and cache settings",
|
|
227
|
+
"annotations": {
|
|
228
|
+
"title": "Update website HTTPS redirect, CDN and cache settings",
|
|
229
|
+
"readOnlyHint": false,
|
|
230
|
+
"destructiveHint": true
|
|
231
|
+
},
|
|
232
|
+
"topic": "hosting",
|
|
233
|
+
"description": "Change a website's HTTPS redirect, CDN and server cache settings in one call. Pass only the settings to change, at least one. Settings are applied in the order cache, cachelessMode, cdn, httpsRedirect, and the call stops at the first failure. applied lists the settings that were changed. When a setting fails, the call returns an error whose text is the same JSON: failed names the setting and why, and skipped lists the ones not attempted; a multi-execute batch stops there too. Turning httpsRedirect on needs an active SSL certificate: the call checks it first and changes nothing when there is none. Install one with hosting_ssl_install and wait until hosting_websites_get-settings shows ssl.status active. cachelessMode is applied in the background and takes effect within a few minutes; enabling the CDN changes DNS records, so visitors are served through it after a few minutes of propagation. Certificates are not installed or removed here: use hosting_ssl_install and hosting_ssl_uninstall. Read the current values with hosting_websites_get-settings. Works for Shared and Cloud hosting websites.",
|
|
234
|
+
"method": "",
|
|
235
|
+
"path": "",
|
|
236
|
+
"inputSchema": {
|
|
237
|
+
"type": "object",
|
|
238
|
+
"properties": {
|
|
239
|
+
"domain": {
|
|
240
|
+
"type": "string",
|
|
241
|
+
"description": "Domain name of the website, exactly as listed on the account and without www. (e.g., example.com)"
|
|
242
|
+
},
|
|
243
|
+
"cache": {
|
|
244
|
+
"type": "boolean",
|
|
245
|
+
"description": "Turn server-side caching on (true) or off (false). Keep it on for production websites; to bypass it while developing, use cachelessMode instead."
|
|
246
|
+
},
|
|
247
|
+
"cachelessMode": {
|
|
248
|
+
"type": "boolean",
|
|
249
|
+
"description": "Turn development (cacheless) mode on (true) or off (false). While it is on nothing is cached, so changes show at once; turn it off when done. Applied in the background within a few minutes."
|
|
250
|
+
},
|
|
251
|
+
"cdn": {
|
|
252
|
+
"type": "boolean",
|
|
253
|
+
"description": "Turn the Hostinger CDN on (true) or off (false). Changes DNS records; propagation takes a few minutes. Cannot be turned off for platform-managed domains (*.hostingersite.com)."
|
|
254
|
+
},
|
|
255
|
+
"httpsRedirect": {
|
|
256
|
+
"type": "boolean",
|
|
257
|
+
"description": "Redirect HTTP to HTTPS (true) or stop redirecting (false). Turning it on needs an active SSL certificate (see hosting_ssl_install)."
|
|
258
|
+
}
|
|
259
|
+
},
|
|
260
|
+
"required": [
|
|
261
|
+
"domain"
|
|
262
|
+
]
|
|
263
|
+
},
|
|
264
|
+
"security": [],
|
|
265
|
+
"custom": true,
|
|
266
|
+
"replacesHidden": true,
|
|
267
|
+
"templateFile": "update-website-settings.template.js",
|
|
268
|
+
"templateFileTS": "update-website-settings.template.ts",
|
|
269
|
+
"handlerMethod": "handleHostingWebsitesUpdateSettings",
|
|
270
|
+
"group": "hosting"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"name": "hosting_cache_clear",
|
|
274
|
+
"title": "Clear website cache",
|
|
275
|
+
"annotations": {
|
|
276
|
+
"title": "Clear website cache",
|
|
277
|
+
"readOnlyHint": false,
|
|
278
|
+
"destructiveHint": true
|
|
279
|
+
},
|
|
280
|
+
"topic": "hosting",
|
|
281
|
+
"description": "Clear a website's server cache (the hosting server's page cache) and Hostinger CDN cache, so updated content shows at once. By default (scope: all) it clears the server cache and, when the CDN is on, purges the CDN too. scope: cdn purges only the CDN edge cache and leaves the server cache alone; that fails with 422 when the CDN is off. For a WordPress site installed in a subdirectory, pass directory to clear that installation's cache (only with scope all). This does not purge the WordPress LiteSpeed Cache plugin: that is a separate WordPress operation (wordpress_litespeed-cache_purge-lite-speed). To turn caching or the CDN on or off use hosting_websites_update-settings. Works for Shared and Cloud hosting websites.",
|
|
282
|
+
"method": "",
|
|
283
|
+
"path": "",
|
|
284
|
+
"inputSchema": {
|
|
285
|
+
"type": "object",
|
|
286
|
+
"properties": {
|
|
287
|
+
"domain": {
|
|
288
|
+
"type": "string",
|
|
289
|
+
"description": "Domain name of the website, exactly as listed on the account and without www. (e.g., example.com)"
|
|
290
|
+
},
|
|
291
|
+
"scope": {
|
|
292
|
+
"type": "string",
|
|
293
|
+
"enum": [
|
|
294
|
+
"all",
|
|
295
|
+
"cdn"
|
|
296
|
+
],
|
|
297
|
+
"description": "What to clear: all (default) clears the server cache and, when the CDN is on, the CDN too; cdn purges only the CDN edge cache and fails when the CDN is off.",
|
|
298
|
+
"default": "all"
|
|
299
|
+
},
|
|
300
|
+
"directory": {
|
|
301
|
+
"type": "string",
|
|
302
|
+
"description": "WordPress installed in a subdirectory: its directory relative to the website root (e.g., blog), to clear that installation's cache. Only when scope is all; default the website root."
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
"required": [
|
|
306
|
+
"domain"
|
|
307
|
+
]
|
|
308
|
+
},
|
|
309
|
+
"security": [],
|
|
310
|
+
"custom": true,
|
|
311
|
+
"replacesHidden": true,
|
|
312
|
+
"templateFile": "clear-cache.template.js",
|
|
313
|
+
"templateFileTS": "clear-cache.template.ts",
|
|
314
|
+
"handlerMethod": "handleHostingCacheClear",
|
|
315
|
+
"group": "hosting"
|
|
316
|
+
},
|
|
192
317
|
{
|
|
193
318
|
"name": "hosting_import-wordpress-website",
|
|
194
319
|
"title": "Import WordPress website",
|
|
@@ -603,7 +728,8 @@ const tools: OpenApiTool[] = [
|
|
|
603
728
|
"apiToken": []
|
|
604
729
|
}
|
|
605
730
|
],
|
|
606
|
-
"group": "hosting"
|
|
731
|
+
"group": "hosting",
|
|
732
|
+
"hidden": true
|
|
607
733
|
},
|
|
608
734
|
{
|
|
609
735
|
"name": "hosting_cache_status",
|
|
@@ -638,7 +764,8 @@ const tools: OpenApiTool[] = [
|
|
|
638
764
|
"apiToken": []
|
|
639
765
|
}
|
|
640
766
|
],
|
|
641
|
-
"group": "hosting"
|
|
767
|
+
"group": "hosting",
|
|
768
|
+
"hidden": true
|
|
642
769
|
},
|
|
643
770
|
{
|
|
644
771
|
"name": "hosting_cache_toggle-cacheless",
|
|
@@ -679,7 +806,8 @@ const tools: OpenApiTool[] = [
|
|
|
679
806
|
"apiToken": []
|
|
680
807
|
}
|
|
681
808
|
],
|
|
682
|
-
"group": "hosting"
|
|
809
|
+
"group": "hosting",
|
|
810
|
+
"hidden": true
|
|
683
811
|
},
|
|
684
812
|
{
|
|
685
813
|
"name": "hosting_cache_toggle-website",
|
|
@@ -720,7 +848,8 @@ const tools: OpenApiTool[] = [
|
|
|
720
848
|
"apiToken": []
|
|
721
849
|
}
|
|
722
850
|
],
|
|
723
|
-
"group": "hosting"
|
|
851
|
+
"group": "hosting",
|
|
852
|
+
"hidden": true
|
|
724
853
|
},
|
|
725
854
|
{
|
|
726
855
|
"name": "hosting_cdn_disable",
|
|
@@ -755,7 +884,8 @@ const tools: OpenApiTool[] = [
|
|
|
755
884
|
"apiToken": []
|
|
756
885
|
}
|
|
757
886
|
],
|
|
758
|
-
"group": "hosting"
|
|
887
|
+
"group": "hosting",
|
|
888
|
+
"hidden": true
|
|
759
889
|
},
|
|
760
890
|
{
|
|
761
891
|
"name": "hosting_cdn_enable",
|
|
@@ -790,7 +920,8 @@ const tools: OpenApiTool[] = [
|
|
|
790
920
|
"apiToken": []
|
|
791
921
|
}
|
|
792
922
|
],
|
|
793
|
-
"group": "hosting"
|
|
923
|
+
"group": "hosting",
|
|
924
|
+
"hidden": true
|
|
794
925
|
},
|
|
795
926
|
{
|
|
796
927
|
"name": "hosting_cdn_purge-cache",
|
|
@@ -826,7 +957,8 @@ const tools: OpenApiTool[] = [
|
|
|
826
957
|
"apiToken": []
|
|
827
958
|
}
|
|
828
959
|
],
|
|
829
|
-
"group": "hosting"
|
|
960
|
+
"group": "hosting",
|
|
961
|
+
"hidden": true
|
|
830
962
|
},
|
|
831
963
|
{
|
|
832
964
|
"name": "hosting_cdn_status",
|
|
@@ -861,7 +993,8 @@ const tools: OpenApiTool[] = [
|
|
|
861
993
|
"apiToken": []
|
|
862
994
|
}
|
|
863
995
|
],
|
|
864
|
-
"group": "hosting"
|
|
996
|
+
"group": "hosting",
|
|
997
|
+
"hidden": true
|
|
865
998
|
},
|
|
866
999
|
{
|
|
867
1000
|
"name": "hosting_cron-jobs_list",
|
|
@@ -3958,7 +4091,8 @@ const tools: OpenApiTool[] = [
|
|
|
3958
4091
|
"apiToken": []
|
|
3959
4092
|
}
|
|
3960
4093
|
],
|
|
3961
|
-
"group": "hosting"
|
|
4094
|
+
"group": "hosting",
|
|
4095
|
+
"hidden": true
|
|
3962
4096
|
},
|
|
3963
4097
|
{
|
|
3964
4098
|
"name": "hosting_ssl_toggle-https-redirect",
|
|
@@ -3999,7 +4133,8 @@ const tools: OpenApiTool[] = [
|
|
|
3999
4133
|
"apiToken": []
|
|
4000
4134
|
}
|
|
4001
4135
|
],
|
|
4002
|
-
"group": "hosting"
|
|
4136
|
+
"group": "hosting",
|
|
4137
|
+
"hidden": true
|
|
4003
4138
|
},
|
|
4004
4139
|
{
|
|
4005
4140
|
"name": "hosting_ssl_uninstall",
|
package/src/core/tools/reach.js
CHANGED
|
@@ -2901,6 +2901,41 @@ export default [
|
|
|
2901
2901
|
],
|
|
2902
2902
|
"group": "reach"
|
|
2903
2903
|
},
|
|
2904
|
+
{
|
|
2905
|
+
"name": "reach_integrations_connect-ecommerce-store",
|
|
2906
|
+
"title": "Connect Ecommerce store",
|
|
2907
|
+
"annotations": {
|
|
2908
|
+
"title": "Connect Ecommerce store",
|
|
2909
|
+
"readOnlyHint": false,
|
|
2910
|
+
"destructiveHint": false
|
|
2911
|
+
},
|
|
2912
|
+
"description": "Connect one of the customer's eCommerce stores to the profile, so Reach receives its\ncustomers and orders.\n\nTake `store_id` from the list eCommerce stores endpoint. Fails with not found\n(`ECOMMERCE_STORE_NOT_FOUND`) when the store is not one of the customer's own stores, also\nwhen the eCommerce service cannot be reached. Fails with a conflict\n(`ECOMMERCE_CONNECTION_ALREADY_EXISTS`) when the store is connected to any profile or this\nprofile already has a store - to move a store to another plan, disconnect it from the\nprofile that holds it first.",
|
|
2913
|
+
"method": "POST",
|
|
2914
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/ecommerce/stores/{storeId}",
|
|
2915
|
+
"inputSchema": {
|
|
2916
|
+
"type": "object",
|
|
2917
|
+
"properties": {
|
|
2918
|
+
"profileUuid": {
|
|
2919
|
+
"type": "string",
|
|
2920
|
+
"description": "Profile uuid parameter"
|
|
2921
|
+
},
|
|
2922
|
+
"storeId": {
|
|
2923
|
+
"type": "string",
|
|
2924
|
+
"description": "Hostinger eCommerce store ID, as returned by the eCommerce stores list"
|
|
2925
|
+
}
|
|
2926
|
+
},
|
|
2927
|
+
"required": [
|
|
2928
|
+
"profileUuid",
|
|
2929
|
+
"storeId"
|
|
2930
|
+
]
|
|
2931
|
+
},
|
|
2932
|
+
"security": [
|
|
2933
|
+
{
|
|
2934
|
+
"apiToken": []
|
|
2935
|
+
}
|
|
2936
|
+
],
|
|
2937
|
+
"group": "reach"
|
|
2938
|
+
},
|
|
2904
2939
|
{
|
|
2905
2940
|
"name": "reach_integrations_disconnect-ecommerce-store",
|
|
2906
2941
|
"title": "Disconnect Ecommerce store",
|
|
@@ -2910,7 +2945,7 @@ export default [
|
|
|
2910
2945
|
"destructiveHint": true,
|
|
2911
2946
|
"idempotentHint": true
|
|
2912
2947
|
},
|
|
2913
|
-
"description": "Disconnect an eCommerce store from the profile.\n\nReach stops receiving the store's customers and orders, and its products and coupons are\nremoved from Reach; contacts and past orders stay. Take `store_id` from the list eCommerce\nstores endpoint; for a store that is `connected_to_other_profile`, call this with that\nprofile. Also succeeds when the store is not connected to this profile, so success is not\nproof that anything was disconnected. Confirm the store and the plan with the customer
|
|
2948
|
+
"description": "Disconnect an eCommerce store from the profile.\n\nReach stops receiving the store's customers and orders, and its products and coupons are\nremoved from Reach; contacts and past orders stay. Take `store_id` from the list eCommerce\nstores endpoint; for a store that is `connected_to_other_profile`, call this with that\nprofile. Also succeeds when the store is not connected to this profile, so success is not\nproof that anything was disconnected. To move the store to another plan, connect it to the\nnew profile afterwards. Confirm the store and the plan with the customer before calling.",
|
|
2914
2949
|
"method": "DELETE",
|
|
2915
2950
|
"path": "/api/reach/v1/profiles/{profileUuid}/ecommerce/stores/{storeId}",
|
|
2916
2951
|
"inputSchema": {
|
|
@@ -2945,7 +2980,7 @@ export default [
|
|
|
2945
2980
|
"readOnlyHint": true,
|
|
2946
2981
|
"destructiveHint": false
|
|
2947
2982
|
},
|
|
2948
|
-
"description": "Get all of the customer's Hostinger eCommerce stores, each with its `store_id` and\n`connection_status` for the profile in the path.\n\nA store is connected to at most one profile. `connected_to_other_profile` does not name that\nprofile - call this for each profile to find it. The list is empty, not an error, when the\neCommerce service cannot be reached. Pass `store_id` to the disconnect eCommerce
|
|
2983
|
+
"description": "Get all of the customer's Hostinger eCommerce stores, each with its `store_id` and\n`connection_status` for the profile in the path.\n\nA store is connected to at most one profile. `connected_to_other_profile` does not name that\nprofile - call this for each profile to find it. The list is empty, not an error, when the\neCommerce service cannot be reached. Pass `store_id` to the connect or disconnect eCommerce\nstore endpoint.",
|
|
2949
2984
|
"method": "GET",
|
|
2950
2985
|
"path": "/api/reach/v1/profiles/{profileUuid}/ecommerce/stores",
|
|
2951
2986
|
"inputSchema": {
|
package/src/core/tools/reach.ts
CHANGED
|
@@ -2917,6 +2917,41 @@ const tools: OpenApiTool[] = [
|
|
|
2917
2917
|
],
|
|
2918
2918
|
"group": "reach"
|
|
2919
2919
|
},
|
|
2920
|
+
{
|
|
2921
|
+
"name": "reach_integrations_connect-ecommerce-store",
|
|
2922
|
+
"title": "Connect Ecommerce store",
|
|
2923
|
+
"annotations": {
|
|
2924
|
+
"title": "Connect Ecommerce store",
|
|
2925
|
+
"readOnlyHint": false,
|
|
2926
|
+
"destructiveHint": false
|
|
2927
|
+
},
|
|
2928
|
+
"description": "Connect one of the customer's eCommerce stores to the profile, so Reach receives its\ncustomers and orders.\n\nTake `store_id` from the list eCommerce stores endpoint. Fails with not found\n(`ECOMMERCE_STORE_NOT_FOUND`) when the store is not one of the customer's own stores, also\nwhen the eCommerce service cannot be reached. Fails with a conflict\n(`ECOMMERCE_CONNECTION_ALREADY_EXISTS`) when the store is connected to any profile or this\nprofile already has a store - to move a store to another plan, disconnect it from the\nprofile that holds it first.",
|
|
2929
|
+
"method": "POST",
|
|
2930
|
+
"path": "/api/reach/v1/profiles/{profileUuid}/ecommerce/stores/{storeId}",
|
|
2931
|
+
"inputSchema": {
|
|
2932
|
+
"type": "object",
|
|
2933
|
+
"properties": {
|
|
2934
|
+
"profileUuid": {
|
|
2935
|
+
"type": "string",
|
|
2936
|
+
"description": "Profile uuid parameter"
|
|
2937
|
+
},
|
|
2938
|
+
"storeId": {
|
|
2939
|
+
"type": "string",
|
|
2940
|
+
"description": "Hostinger eCommerce store ID, as returned by the eCommerce stores list"
|
|
2941
|
+
}
|
|
2942
|
+
},
|
|
2943
|
+
"required": [
|
|
2944
|
+
"profileUuid",
|
|
2945
|
+
"storeId"
|
|
2946
|
+
]
|
|
2947
|
+
},
|
|
2948
|
+
"security": [
|
|
2949
|
+
{
|
|
2950
|
+
"apiToken": []
|
|
2951
|
+
}
|
|
2952
|
+
],
|
|
2953
|
+
"group": "reach"
|
|
2954
|
+
},
|
|
2920
2955
|
{
|
|
2921
2956
|
"name": "reach_integrations_disconnect-ecommerce-store",
|
|
2922
2957
|
"title": "Disconnect Ecommerce store",
|
|
@@ -2926,7 +2961,7 @@ const tools: OpenApiTool[] = [
|
|
|
2926
2961
|
"destructiveHint": true,
|
|
2927
2962
|
"idempotentHint": true
|
|
2928
2963
|
},
|
|
2929
|
-
"description": "Disconnect an eCommerce store from the profile.\n\nReach stops receiving the store's customers and orders, and its products and coupons are\nremoved from Reach; contacts and past orders stay. Take `store_id` from the list eCommerce\nstores endpoint; for a store that is `connected_to_other_profile`, call this with that\nprofile. Also succeeds when the store is not connected to this profile, so success is not\nproof that anything was disconnected. Confirm the store and the plan with the customer
|
|
2964
|
+
"description": "Disconnect an eCommerce store from the profile.\n\nReach stops receiving the store's customers and orders, and its products and coupons are\nremoved from Reach; contacts and past orders stay. Take `store_id` from the list eCommerce\nstores endpoint; for a store that is `connected_to_other_profile`, call this with that\nprofile. Also succeeds when the store is not connected to this profile, so success is not\nproof that anything was disconnected. To move the store to another plan, connect it to the\nnew profile afterwards. Confirm the store and the plan with the customer before calling.",
|
|
2930
2965
|
"method": "DELETE",
|
|
2931
2966
|
"path": "/api/reach/v1/profiles/{profileUuid}/ecommerce/stores/{storeId}",
|
|
2932
2967
|
"inputSchema": {
|
|
@@ -2961,7 +2996,7 @@ const tools: OpenApiTool[] = [
|
|
|
2961
2996
|
"readOnlyHint": true,
|
|
2962
2997
|
"destructiveHint": false
|
|
2963
2998
|
},
|
|
2964
|
-
"description": "Get all of the customer's Hostinger eCommerce stores, each with its `store_id` and\n`connection_status` for the profile in the path.\n\nA store is connected to at most one profile. `connected_to_other_profile` does not name that\nprofile - call this for each profile to find it. The list is empty, not an error, when the\neCommerce service cannot be reached. Pass `store_id` to the disconnect eCommerce
|
|
2999
|
+
"description": "Get all of the customer's Hostinger eCommerce stores, each with its `store_id` and\n`connection_status` for the profile in the path.\n\nA store is connected to at most one profile. `connected_to_other_profile` does not name that\nprofile - call this for each profile to find it. The list is empty, not an error, when the\neCommerce service cannot be reached. Pass `store_id` to the connect or disconnect eCommerce\nstore endpoint.",
|
|
2965
3000
|
"method": "GET",
|
|
2966
3001
|
"path": "/api/reach/v1/profiles/{profileUuid}/ecommerce/stores",
|
|
2967
3002
|
"inputSchema": {
|
|
@@ -4,4 +4,4 @@ import { startServer } from '../core/runtime.js';
|
|
|
4
4
|
import tools from '../core/tools/agency-hosting.js';
|
|
5
5
|
import instructions from '../core/instructions.agency-hosting.js';
|
|
6
6
|
|
|
7
|
-
startServer({ name: 'hostinger-agency-hosting-mcp', version: '3.
|
|
7
|
+
startServer({ name: 'hostinger-agency-hosting-mcp', version: '3.18.0', tools, instructions });
|
|
@@ -4,4 +4,4 @@ import { startServer } from '../core/runtime.js';
|
|
|
4
4
|
import tools from '../core/tools/agency-hosting.js';
|
|
5
5
|
import instructions from '../core/instructions.agency-hosting.js';
|
|
6
6
|
|
|
7
|
-
startServer({ name: 'hostinger-agency-hosting-mcp', version: '3.
|
|
7
|
+
startServer({ name: 'hostinger-agency-hosting-mcp', version: '3.18.0', tools, instructions });
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
import { startServer } from '../core/runtime.js';
|
|
4
4
|
import tools from '../core/tools/agent-readiness.js';
|
|
5
5
|
|
|
6
|
-
startServer({ name: 'hostinger-agent-readiness-mcp', version: '3.
|
|
6
|
+
startServer({ name: 'hostinger-agent-readiness-mcp', version: '3.18.0', tools });
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
import { startServer } from '../core/runtime.js';
|
|
4
4
|
import tools from '../core/tools/agent-readiness.js';
|
|
5
5
|
|
|
6
|
-
startServer({ name: 'hostinger-agent-readiness-mcp', version: '3.
|
|
6
|
+
startServer({ name: 'hostinger-agent-readiness-mcp', version: '3.18.0', tools });
|
package/src/servers/all.js
CHANGED
|
@@ -5,4 +5,4 @@ import tools from '../core/tools/all.js';
|
|
|
5
5
|
import instructions from '../core/instructions.js';
|
|
6
6
|
import skills from '../core/skills.js';
|
|
7
7
|
|
|
8
|
-
startServer({ name: 'hostinger-api-mcp', version: '3.
|
|
8
|
+
startServer({ name: 'hostinger-api-mcp', version: '3.18.0', tools, instructions, skills });
|
package/src/servers/all.ts
CHANGED
|
@@ -5,4 +5,4 @@ import tools from '../core/tools/all.js';
|
|
|
5
5
|
import instructions from '../core/instructions.js';
|
|
6
6
|
import skills from '../core/skills.js';
|
|
7
7
|
|
|
8
|
-
startServer({ name: 'hostinger-api-mcp', version: '3.
|
|
8
|
+
startServer({ name: 'hostinger-api-mcp', version: '3.18.0', tools, instructions, skills });
|
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
|
@@ -4,4 +4,4 @@ import { startServer } from '../core/runtime.js';
|
|
|
4
4
|
import tools from '../core/tools/hosting.js';
|
|
5
5
|
import instructions from '../core/instructions.js';
|
|
6
6
|
|
|
7
|
-
startServer({ name: 'hostinger-hosting-mcp', version: '3.
|
|
7
|
+
startServer({ name: 'hostinger-hosting-mcp', version: '3.18.0', tools, instructions });
|
package/src/servers/hosting.ts
CHANGED
|
@@ -4,4 +4,4 @@ import { startServer } from '../core/runtime.js';
|
|
|
4
4
|
import tools from '../core/tools/hosting.js';
|
|
5
5
|
import instructions from '../core/instructions.js';
|
|
6
6
|
|
|
7
|
-
startServer({ name: 'hostinger-hosting-mcp', version: '3.
|
|
7
|
+
startServer({ name: 'hostinger-hosting-mcp', version: '3.18.0', tools, instructions });
|
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