@hostinger/mcp 3.0.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 (64) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +16 -287
  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 +1925 -1228
  19. package/src/core/runtime.ts +1891 -1193
  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 +290 -26
  25. package/src/core/tools/all.ts +292 -26
  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.js +82 -2
  30. package/src/core/tools/ecommerce.ts +84 -2
  31. package/src/core/tools/horizons.ts +2 -0
  32. package/src/core/tools/hosting.js +202 -21
  33. package/src/core/tools/hosting.ts +204 -21
  34. package/src/core/tools/mail.ts +2 -0
  35. package/src/core/tools/reach.ts +2 -0
  36. package/src/core/tools/vps.ts +2 -0
  37. package/src/core/tools/wordpress.ts +2 -0
  38. package/src/servers/agency-hosting.js +2 -2
  39. package/src/servers/agency-hosting.ts +2 -2
  40. package/src/servers/agent-readiness.js +1 -1
  41. package/src/servers/agent-readiness.ts +1 -1
  42. package/src/servers/all.js +1 -1
  43. package/src/servers/all.ts +1 -1
  44. package/src/servers/billing.js +1 -1
  45. package/src/servers/billing.ts +1 -1
  46. package/src/servers/dns.js +1 -1
  47. package/src/servers/dns.ts +1 -1
  48. package/src/servers/domains.js +1 -1
  49. package/src/servers/domains.ts +1 -1
  50. package/src/servers/ecommerce.js +1 -1
  51. package/src/servers/ecommerce.ts +1 -1
  52. package/src/servers/horizons.js +1 -1
  53. package/src/servers/horizons.ts +1 -1
  54. package/src/servers/hosting.js +1 -1
  55. package/src/servers/hosting.ts +1 -1
  56. package/src/servers/mail.js +1 -1
  57. package/src/servers/mail.ts +1 -1
  58. package/src/servers/reach.js +1 -1
  59. package/src/servers/reach.ts +1 -1
  60. package/src/servers/vps.js +1 -1
  61. package/src/servers/vps.ts +1 -1
  62. package/src/servers/wordpress.js +1 -1
  63. package/src/servers/wordpress.ts +1 -1
  64. package/types.d.ts +105 -5
package/types.d.ts CHANGED
@@ -4,6 +4,92 @@
4
4
  */
5
5
 
6
6
  export interface APITools {
7
+ /**
8
+ * 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.
9
+ */
10
+ "hosting_deploy": {
11
+ params: {
12
+ /**
13
+ * Domain name of the website to deploy to (e.g., example.com)
14
+ */
15
+ domain: string;
16
+ /**
17
+ * 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.
18
+ */
19
+ path?: string;
20
+ /**
21
+ * Deploy a repository branch instead of local files. Not together with path.
22
+ */
23
+ git?: object;
24
+ /**
25
+ * 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.
26
+ */
27
+ type?: string;
28
+ /**
29
+ * WordPress plugin or theme slug: lower-case letters, digits, - and _ (default: the directory name)
30
+ */
31
+ slug?: string;
32
+ /**
33
+ * Activate the theme after deployment (WordPress themes only, default: false)
34
+ */
35
+ activate?: boolean;
36
+ /**
37
+ * Path to a .sql dump; required for a WordPress site import
38
+ */
39
+ databaseDump?: string;
40
+ /**
41
+ * 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)
42
+ */
43
+ nodeVersion?: number;
44
+ /**
45
+ * Node.js framework, e.g. next, nuxt, vite, express, react, vue, astro; overrides detection or stored settings
46
+ */
47
+ appType?: string;
48
+ /**
49
+ * Directory with the package.json, relative to the site root (default .)
50
+ */
51
+ rootDirectory?: string;
52
+ /**
53
+ * Build output directory relative to the root directory, e.g. dist
54
+ */
55
+ outputDirectory?: string;
56
+ /**
57
+ * The package.json script that builds the app, e.g. build
58
+ */
59
+ buildScript?: string;
60
+ /**
61
+ * 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.
62
+ */
63
+ entryFile?: string;
64
+ /**
65
+ * Package manager used to install dependencies
66
+ */
67
+ packageManager?: string;
68
+ };
69
+ response: any; // Response structure will depend on the API
70
+ };
71
+
72
+ /**
73
+ * 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.
74
+ */
75
+ "hosting_get-deployment": {
76
+ params: {
77
+ /**
78
+ * Domain name of the website (e.g., example.com)
79
+ */
80
+ domain: string;
81
+ /**
82
+ * Build to inspect, as returned by hosting_deploy (default: the latest build)
83
+ */
84
+ buildUuid?: string;
85
+ /**
86
+ * 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.
87
+ */
88
+ fromLine?: number;
89
+ };
90
+ response: any; // Response structure will depend on the API
91
+ };
92
+
7
93
  /**
8
94
  * Deploy a node-static Agency Plan (h5g) website from an archive file. WARNING: this overwrites the website's existing contents and cannot be undone — always confirm with the user before proceeding. Use this for Agency Plan websites of type node-static (a Node.js-built static site that requires a build step or a plain simple static site). The tool resolves the website from its domain, uploads the archive to the website's file browser over TUS, and triggers the build-assets process which builds the site and deploys the result to public_html. This operation is synchronous: the build and deployment complete before the tool returns, so the website is live as soon as the tool finishes successfully — there is no separate asynchronous build to wait for or poll. Upload credentials are generated and used internally — do not call a separate upload-url endpoint or upload the archive yourself, this tool does it end-to-end. For plain PHP applications that should be extracted as-is, use agency-hosting_deploy-php-application instead. The website UID is automatically resolved from the domain.
9
95
  */
@@ -2690,9 +2776,11 @@ subscribers is archived instead of deleted so its data stays available.
2690
2776
  };
2691
2777
 
2692
2778
  /**
2693
- * Update a product's name, description or status. Set status to published to make it buyable,
2694
- draft to hide it, or archived to retire it. Variants, prices and inventory are managed
2695
- through the variant endpoints, not here. Returns the updated product summary.
2779
+ * Update a product's name, description, status, SEO settings or collections. Set status to
2780
+ published to make it buyable, draft to hide it, or archived to retire it. SEO settings (title,
2781
+ description, slug) left out keep their values. collection_changes adds or removes collections
2782
+ without touching the others. Variants, prices and inventory are managed through the variant
2783
+ endpoints, not here. Returns the updated product summary.
2696
2784
  */
2697
2785
  "ecommerce_products_update": {
2698
2786
  params: {
@@ -2716,6 +2804,14 @@ through the variant endpoints, not here. Returns the updated product summary.
2716
2804
  * Set "published" to make the product buyable, "draft" to hide it, or "archived" to retire it.
2717
2805
  */
2718
2806
  status?: string;
2807
+ /**
2808
+ * Search-engine settings to change. Send at least one field; omitted fields keep their current values.
2809
+ */
2810
+ seo_settings?: object;
2811
+ /**
2812
+ * Adds the product to or removes it from collections without touching its other collections. Send at least one collection in add or remove.
2813
+ */
2814
+ collection_changes?: object;
2719
2815
  };
2720
2816
  response: any; // Response structure will depend on the API
2721
2817
  };
@@ -2814,6 +2910,10 @@ embed each product's variants with prices and inventory, and include=media to em
2814
2910
  * ISO 4217 currency code. Defaults to the store's default currency when omitted.
2815
2911
  */
2816
2912
  currency?: string;
2913
+ /**
2914
+ * Search-engine settings. Omitted fields are generated from the name and description; a slug already in use gets a numeric suffix. Send at least one field.
2915
+ */
2916
+ seo_settings?: object;
2817
2917
  };
2818
2918
  response: any; // Response structure will depend on the API
2819
2919
  };
@@ -3019,8 +3119,8 @@ plus its default currency. Useful to verify prerequisites before building a stor
3019
3119
  };
3020
3120
 
3021
3121
  /**
3022
- * Update up to 100 existing variants in place by id — title, inventory, stock tracking and
3023
- prices. Variants omitted from the request are left untouched. Prices replace the variant's
3122
+ * Update up to 100 existing variants in place by id — title, SKU, inventory, stock tracking
3123
+ and prices. Variants omitted from the request are left untouched. Prices replace the variant's
3024
3124
  existing prices in full. Returns the updated variants.
3025
3125
  */
3026
3126
  "ecommerce_product-variants_update-in-batch": {