@hostinger/mcp 3.1.0 → 3.2.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.
Files changed (63) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +9 -282
  3. package/gemini-extension.json +1 -1
  4. package/package.json +2 -1
  5. package/server.json +2 -2
  6. package/skills/audit-hosting/SKILL.md +1 -1
  7. package/skills/deploy-to-hosting/SKILL.md +32 -15
  8. package/skills/headless/references/DATABASE.md +3 -3
  9. package/skills/headless/references/DEPLOYMENT.md +10 -12
  10. package/skills/migrate-to-hosting/SKILL.md +3 -3
  11. package/skills/troubleshoot-website/SKILL.md +2 -2
  12. package/src/core/catalog.js +4 -0
  13. package/src/core/catalog.ts +6 -1
  14. package/src/core/instructions.agency-hosting.js +2 -0
  15. package/src/core/instructions.agency-hosting.ts +3 -0
  16. package/src/core/instructions.js +1 -1
  17. package/src/core/instructions.ts +1 -1
  18. package/src/core/runtime.js +1924 -1227
  19. package/src/core/runtime.ts +1890 -1192
  20. package/src/core/skills.js +18 -18
  21. package/src/core/skills.ts +18 -18
  22. package/src/core/tools/agency-hosting.ts +2 -0
  23. package/src/core/tools/agent-readiness.ts +2 -0
  24. package/src/core/tools/all.js +208 -24
  25. package/src/core/tools/all.ts +210 -24
  26. package/src/core/tools/billing.ts +2 -0
  27. package/src/core/tools/dns.ts +2 -0
  28. package/src/core/tools/domains.ts +2 -0
  29. package/src/core/tools/ecommerce.ts +2 -0
  30. package/src/core/tools/horizons.ts +2 -0
  31. package/src/core/tools/hosting.js +202 -21
  32. package/src/core/tools/hosting.ts +204 -21
  33. package/src/core/tools/mail.ts +2 -0
  34. package/src/core/tools/reach.ts +2 -0
  35. package/src/core/tools/vps.ts +2 -0
  36. package/src/core/tools/wordpress.ts +2 -0
  37. package/src/servers/agency-hosting.js +2 -2
  38. package/src/servers/agency-hosting.ts +2 -2
  39. package/src/servers/agent-readiness.js +1 -1
  40. package/src/servers/agent-readiness.ts +1 -1
  41. package/src/servers/all.js +1 -1
  42. package/src/servers/all.ts +1 -1
  43. package/src/servers/billing.js +1 -1
  44. package/src/servers/billing.ts +1 -1
  45. package/src/servers/dns.js +1 -1
  46. package/src/servers/dns.ts +1 -1
  47. package/src/servers/domains.js +1 -1
  48. package/src/servers/domains.ts +1 -1
  49. package/src/servers/ecommerce.js +1 -1
  50. package/src/servers/ecommerce.ts +1 -1
  51. package/src/servers/horizons.js +1 -1
  52. package/src/servers/horizons.ts +1 -1
  53. package/src/servers/hosting.js +1 -1
  54. package/src/servers/hosting.ts +1 -1
  55. package/src/servers/mail.js +1 -1
  56. package/src/servers/mail.ts +1 -1
  57. package/src/servers/reach.js +1 -1
  58. package/src/servers/reach.ts +1 -1
  59. package/src/servers/vps.js +1 -1
  60. package/src/servers/vps.ts +1 -1
  61. package/src/servers/wordpress.js +1 -1
  62. package/src/servers/wordpress.ts +1 -1
  63. package/types.d.ts +86 -0
@@ -1,5 +1,165 @@
1
1
  // Auto-generated tool list for group: all
2
2
  export default [
3
+ {
4
+ "name": "hosting_deploy",
5
+ "title": "Deploy website, nodejs app, WordPress plugin or theme",
6
+ "annotations": {
7
+ "title": "Deploy website, nodejs app, WordPress plugin or theme",
8
+ "readOnlyHint": false,
9
+ "destructiveHint": true
10
+ },
11
+ "topic": "hosting",
12
+ "description": "Deploy, publish or upload a website to Hostinger web hosting (Shared, Cloud): static HTML, PHP, a nodejs (Node.js) app, a whole WordPress site, or a WordPress plugin or theme, from a local directory, an archive or a GitHub or GitLab repository. It detects what the project is and does the upload, build and Git setup itself: do not call upload or build operations, and do not archive the directory yourself. WARNING: it overwrites the website's contents and cannot be undone; confirm the domain with the user before deploying to a site that already has content. A Node.js build runs on the server: this returns a buildUuid at once, then call hosting_get-deployment until the build state is completed or failed. Static, PHP, plugin and theme deploys are done when this returns; a WordPress site import only starts, and its files are extracted a few minutes later. From Git, pass type (static or nodejs) unless the site already runs a Node.js app or you pass Node.js settings; a static or PHP site deploys the branch now and again on every push; a Node.js site builds the branch now and on every later push, with the settings stored for the site (when none are stored, pass appType and nodeVersion from the project's engines, plus outputDirectory and buildScript if the app has a build step). Git needs GitHub or GitLab connected once in hPanel.",
13
+ "method": "",
14
+ "path": "",
15
+ "inputSchema": {
16
+ "type": "object",
17
+ "properties": {
18
+ "domain": {
19
+ "type": "string",
20
+ "description": "Domain name of the website to deploy to (e.g., example.com)"
21
+ },
22
+ "path": {
23
+ "type": "string",
24
+ "description": "Local directory (preferred; it is archived for you, skipping node_modules, .git and .env files, but not reading .gitignore, so keep build output out) or archive (zip, tar, tar.gz, tgz, 7z, gz, gzip). Not together with git."
25
+ },
26
+ "git": {
27
+ "type": "object",
28
+ "description": "Deploy a repository branch instead of local files. Not together with path.",
29
+ "properties": {
30
+ "repository": {
31
+ "type": "string",
32
+ "description": "owner/name, e.g. hostinger/my-site (GitLab group paths may have more slashes)"
33
+ },
34
+ "branch": {
35
+ "type": "string",
36
+ "description": "Branch to deploy, e.g. main"
37
+ },
38
+ "directory": {
39
+ "type": "string",
40
+ "description": "Folder under the website's document root to deploy into (static deploys only; default the document root), e.g. my-api"
41
+ }
42
+ },
43
+ "required": [
44
+ "repository",
45
+ "branch"
46
+ ]
47
+ },
48
+ "type": {
49
+ "type": "string",
50
+ "enum": [
51
+ "static",
52
+ "nodejs",
53
+ "wordpress-site",
54
+ "wordpress-plugin",
55
+ "wordpress-theme"
56
+ ],
57
+ "description": "What is deployed. Detected for a directory (a Plugin Name: or Theme Name: header, wp-config.php or wp-content, a package.json with a build or start script); required for an archive, when detection reports ambiguity, and for a Git deploy unless the site already runs a Node.js app or Node.js settings are passed. static also covers PHP."
58
+ },
59
+ "slug": {
60
+ "type": "string",
61
+ "description": "WordPress plugin or theme slug: lower-case letters, digits, - and _ (default: the directory name)"
62
+ },
63
+ "activate": {
64
+ "type": "boolean",
65
+ "description": "Activate the theme after deployment (WordPress themes only, default: false)"
66
+ },
67
+ "databaseDump": {
68
+ "type": "string",
69
+ "description": "Path to a .sql dump; required for a WordPress site import"
70
+ },
71
+ "nodeVersion": {
72
+ "type": "integer",
73
+ "enum": [
74
+ 18,
75
+ 20,
76
+ 22,
77
+ 24
78
+ ],
79
+ "description": "Node.js major version (default: detected from an archive, or stored for the site, else 22; set it from the project's engines for a Git deploy)"
80
+ },
81
+ "appType": {
82
+ "type": "string",
83
+ "description": "Node.js framework, e.g. next, nuxt, vite, express, react, vue, astro; overrides detection or stored settings"
84
+ },
85
+ "rootDirectory": {
86
+ "type": "string",
87
+ "description": "Directory with the package.json, relative to the site root (default .)"
88
+ },
89
+ "outputDirectory": {
90
+ "type": "string",
91
+ "description": "Build output directory relative to the root directory, e.g. dist"
92
+ },
93
+ "buildScript": {
94
+ "type": "string",
95
+ "description": "The package.json script that builds the app, e.g. build"
96
+ },
97
+ "entryFile": {
98
+ "type": "string",
99
+ "description": "Entry file of a server app. Relative to the root directory for express, fastify, hono, react-router and other; for a compiled (TypeScript) app give the built file, e.g. dist/server.js, because detection guesses a root-level file. Relative to the output directory for nest, nuxt, nitro, astro and svelte-kit (main.js, not dist/main.js). Ignored for next."
100
+ },
101
+ "packageManager": {
102
+ "type": "string",
103
+ "enum": [
104
+ "npm",
105
+ "yarn",
106
+ "pnpm"
107
+ ],
108
+ "description": "Package manager used to install dependencies"
109
+ }
110
+ },
111
+ "required": [
112
+ "domain"
113
+ ]
114
+ },
115
+ "security": [],
116
+ "custom": true,
117
+ "replacesHidden": true,
118
+ "templateFile": "deploy.template.js",
119
+ "templateFileTS": "deploy.template.ts",
120
+ "handlerMethod": "handleHostingDeploy",
121
+ "group": "hosting"
122
+ },
123
+ {
124
+ "name": "hosting_get-deployment",
125
+ "title": "Get deployment status, build status, build logs and failure analysis",
126
+ "annotations": {
127
+ "title": "Get deployment status, build status, build logs and failure analysis",
128
+ "readOnlyHint": true,
129
+ "destructiveHint": false
130
+ },
131
+ "topic": "hosting",
132
+ "description": "Check deployment status, build status, build logs and why a build failed (failure analysis) for a website's nodejs (Node.js) deployment: the state of its latest build (or of buildUuid), the end of the build log, the failure analysis when the build failed, and the build settings and Git auto-deployment settings stored for the site. Use it after hosting_deploy starts a Node.js build, and to find out why a deployment failed. Poll until the build state is completed or failed, with growing pauses. The log comes back in full; pass fromLine (the lines count from the previous call) to read only new output. A website without Node.js builds returns build: null with an explanation, because static, PHP, plugin and theme deploys are complete when hosting_deploy returns, and a WordPress site import is ready a few minutes after it starts.",
133
+ "method": "",
134
+ "path": "",
135
+ "inputSchema": {
136
+ "type": "object",
137
+ "properties": {
138
+ "domain": {
139
+ "type": "string",
140
+ "description": "Domain name of the website (e.g., example.com)"
141
+ },
142
+ "buildUuid": {
143
+ "type": "string",
144
+ "description": "Build to inspect, as returned by hosting_deploy (default: the latest build)"
145
+ },
146
+ "fromLine": {
147
+ "type": "integer",
148
+ "description": "Read the build log from this line on (default 0, the whole log). Pass the lines count returned by the previous call to get only new output."
149
+ }
150
+ },
151
+ "required": [
152
+ "domain"
153
+ ]
154
+ },
155
+ "security": [],
156
+ "custom": true,
157
+ "replacesHidden": true,
158
+ "templateFile": "get-deployment.template.js",
159
+ "templateFileTS": "get-deployment.template.ts",
160
+ "handlerMethod": "handleHostingGetDeployment",
161
+ "group": "hosting"
162
+ },
3
163
  {
4
164
  "name": "agency-hosting_deploy-node-static-website",
5
165
  "title": "Deploy node-static website",
@@ -119,7 +279,8 @@ export default [
119
279
  "templateFile": "import-wordpress.template.js",
120
280
  "templateFileTS": "import-wordpress.template.ts",
121
281
  "handlerMethod": "handleWordpressWebsiteImport",
122
- "group": "hosting"
282
+ "group": "hosting",
283
+ "hidden": true
123
284
  },
124
285
  {
125
286
  "name": "hosting_deploy-wordpress-plugin",
@@ -160,7 +321,8 @@ export default [
160
321
  "templateFile": "deploy-wordpress-plugin.template.js",
161
322
  "templateFileTS": "deploy-wordpress-plugin.template.ts",
162
323
  "handlerMethod": "handleWordpressPluginDeploy",
163
- "group": "hosting"
324
+ "group": "hosting",
325
+ "hidden": true
164
326
  },
165
327
  {
166
328
  "name": "hosting_deploy-wordpress-theme",
@@ -205,7 +367,8 @@ export default [
205
367
  "templateFile": "deploy-wordpress-theme.template.js",
206
368
  "templateFileTS": "deploy-wordpress-theme.template.ts",
207
369
  "handlerMethod": "handleWordpressThemeDeploy",
208
- "group": "hosting"
370
+ "group": "hosting",
371
+ "hidden": true
209
372
  },
210
373
  {
211
374
  "name": "hosting_deploy-js-application",
@@ -245,7 +408,8 @@ export default [
245
408
  "templateFile": "deploy-javascript-app.template.js",
246
409
  "templateFileTS": "deploy-javascript-app.template.ts",
247
410
  "handlerMethod": "handleJavascriptApplicationDeploy",
248
- "group": "hosting"
411
+ "group": "hosting",
412
+ "hidden": true
249
413
  },
250
414
  {
251
415
  "name": "hosting_deploy-static-website",
@@ -285,7 +449,8 @@ export default [
285
449
  "templateFile": "deploy-static-website.template.js",
286
450
  "templateFileTS": "deploy-static-website.template.ts",
287
451
  "handlerMethod": "handleStaticWebsiteDeploy",
288
- "group": "hosting"
452
+ "group": "hosting",
453
+ "hidden": true
289
454
  },
290
455
  {
291
456
  "name": "hosting_list-js-deployments",
@@ -337,7 +502,8 @@ export default [
337
502
  "templateFile": "list-javascript-deployments.template.js",
338
503
  "templateFileTS": "list-javascript-deployments.template.ts",
339
504
  "handlerMethod": "handleListJavascriptDeployments",
340
- "group": "hosting"
505
+ "group": "hosting",
506
+ "hidden": true
341
507
  },
342
508
  {
343
509
  "name": "hosting_show-js-deployment-logs",
@@ -377,7 +543,8 @@ export default [
377
543
  "templateFile": "show-javascript-deployment-logs.template.js",
378
544
  "templateFileTS": "show-javascript-deployment-logs.template.ts",
379
545
  "handlerMethod": "handleShowJsDeploymentLogs",
380
- "group": "hosting"
546
+ "group": "hosting",
547
+ "hidden": true
381
548
  },
382
549
  {
383
550
  "name": "agency-hosting_datacenters_list",
@@ -7014,7 +7181,8 @@ export default [
7014
7181
  "apiToken": []
7015
7182
  }
7016
7183
  ],
7017
- "group": "hosting"
7184
+ "group": "hosting",
7185
+ "hidden": true
7018
7186
  },
7019
7187
  {
7020
7188
  "name": "hosting_files_list-website-and-directories",
@@ -7162,7 +7330,8 @@ export default [
7162
7330
  "apiToken": []
7163
7331
  }
7164
7332
  ],
7165
- "group": "hosting"
7333
+ "group": "hosting",
7334
+ "hidden": true
7166
7335
  },
7167
7336
  {
7168
7337
  "name": "hosting_git_update-auto-deployment-settings",
@@ -7226,7 +7395,8 @@ export default [
7226
7395
  "apiToken": []
7227
7396
  }
7228
7397
  ],
7229
- "group": "hosting"
7398
+ "group": "hosting",
7399
+ "hidden": true
7230
7400
  },
7231
7401
  {
7232
7402
  "name": "hosting_git_delete-auto-deployment-settings",
@@ -7304,7 +7474,8 @@ export default [
7304
7474
  "apiToken": []
7305
7475
  }
7306
7476
  ],
7307
- "group": "hosting"
7477
+ "group": "hosting",
7478
+ "hidden": true
7308
7479
  },
7309
7480
  {
7310
7481
  "name": "hosting_git_list-installation-repositories",
@@ -7334,7 +7505,8 @@ export default [
7334
7505
  "apiToken": []
7335
7506
  }
7336
7507
  ],
7337
- "group": "hosting"
7508
+ "group": "hosting",
7509
+ "hidden": true
7338
7510
  },
7339
7511
  {
7340
7512
  "name": "hosting_git_deploy-website-repository",
@@ -7758,7 +7930,8 @@ export default [
7758
7930
  "apiToken": []
7759
7931
  }
7760
7932
  ],
7761
- "group": "hosting"
7933
+ "group": "hosting",
7934
+ "hidden": true
7762
7935
  },
7763
7936
  {
7764
7937
  "name": "hosting_nodejs_start-build",
@@ -7894,7 +8067,8 @@ export default [
7894
8067
  "apiToken": []
7895
8068
  }
7896
8069
  ],
7897
- "group": "hosting"
8070
+ "group": "hosting",
8071
+ "hidden": true
7898
8072
  },
7899
8073
  {
7900
8074
  "name": "hosting_nodejs_build-settings",
@@ -7929,7 +8103,8 @@ export default [
7929
8103
  "apiToken": []
7930
8104
  }
7931
8105
  ],
7932
- "group": "hosting"
8106
+ "group": "hosting",
8107
+ "hidden": true
7933
8108
  },
7934
8109
  {
7935
8110
  "name": "hosting_nodejs_update-build-settings",
@@ -8026,7 +8201,8 @@ export default [
8026
8201
  "apiToken": []
8027
8202
  }
8028
8203
  ],
8029
- "group": "hosting"
8204
+ "group": "hosting",
8205
+ "hidden": true
8030
8206
  },
8031
8207
  {
8032
8208
  "name": "hosting_nodejs_build-settings-from-archive",
@@ -8066,7 +8242,8 @@ export default [
8066
8242
  "apiToken": []
8067
8243
  }
8068
8244
  ],
8069
- "group": "hosting"
8245
+ "group": "hosting",
8246
+ "hidden": true
8070
8247
  },
8071
8248
  {
8072
8249
  "name": "hosting_nodejs_list-environment-variables",
@@ -8200,7 +8377,8 @@ export default [
8200
8377
  "apiToken": []
8201
8378
  }
8202
8379
  ],
8203
- "group": "hosting"
8380
+ "group": "hosting",
8381
+ "hidden": true
8204
8382
  },
8205
8383
  {
8206
8384
  "name": "hosting_nodejs_build",
@@ -8240,7 +8418,8 @@ export default [
8240
8418
  "apiToken": []
8241
8419
  }
8242
8420
  ],
8243
- "group": "hosting"
8421
+ "group": "hosting",
8422
+ "hidden": true
8244
8423
  },
8245
8424
  {
8246
8425
  "name": "hosting_nodejs_build-logs",
@@ -8284,7 +8463,8 @@ export default [
8284
8463
  "apiToken": []
8285
8464
  }
8286
8465
  ],
8287
- "group": "hosting"
8466
+ "group": "hosting",
8467
+ "hidden": true
8288
8468
  },
8289
8469
  {
8290
8470
  "name": "hosting_nodejs_runtime-logs",
@@ -9355,7 +9535,8 @@ export default [
9355
9535
  "apiToken": []
9356
9536
  }
9357
9537
  ],
9358
- "group": "hosting"
9538
+ "group": "hosting",
9539
+ "hidden": true
9359
9540
  },
9360
9541
  {
9361
9542
  "name": "hosting_websites_delete",
@@ -16401,7 +16582,8 @@ export default [
16401
16582
  "apiToken": []
16402
16583
  }
16403
16584
  ],
16404
- "group": "wordpress"
16585
+ "group": "wordpress",
16586
+ "hidden": true
16405
16587
  },
16406
16588
  {
16407
16589
  "name": "wordpress_installations_install",
@@ -17075,7 +17257,8 @@ export default [
17075
17257
  "apiToken": []
17076
17258
  }
17077
17259
  ],
17078
- "group": "wordpress"
17260
+ "group": "wordpress",
17261
+ "hidden": true
17079
17262
  },
17080
17263
  {
17081
17264
  "name": "wordpress_plugins_install",
@@ -17506,7 +17689,8 @@ export default [
17506
17689
  "apiToken": []
17507
17690
  }
17508
17691
  ],
17509
- "group": "wordpress"
17692
+ "group": "wordpress",
17693
+ "hidden": true
17510
17694
  },
17511
17695
  {
17512
17696
  "name": "wordpress_themes_install",