hostinger-api-mcp 1.60.0 → 1.60.2

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 CHANGED
@@ -4,6 +4,38 @@ Generated at release time from the diff between the previous and current
4
4
  build. Tool changes are listed individually; everything else is summarised
5
5
  by area.
6
6
 
7
+ ## v1.60.2 — 2026-09-16
8
+
9
+ ### Tools
10
+
11
+ - Added `hosting_getGitAutoDeploymentSettingsV1` — Get Git auto-deployment settings
12
+ - Added `hosting_updateGitAutoDeploymentSettingsV1` — Update Git auto-deployment settings
13
+ - Added `hosting_deleteGitAutoDeploymentSettingsV1` — Delete Git auto-deployment settings
14
+ - Changed the description of `hosting_listGitInstallationsV1`
15
+ - Changed the description of `hosting_listGitInstallationRepositoriesV1`
16
+ - Changed the description and input schema of `hosting_startNode_jsBuildV1`
17
+
18
+ ### Also in this release
19
+
20
+ - Documentation: `README.md`
21
+ - Dependencies: `package-lock.json`
22
+ - Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
23
+ - Build and packaging: `types.d.ts`
24
+
25
+ ## v1.60.1 — 2026-09-15
26
+
27
+ ### Tools
28
+
29
+ - Added `hosting_listGitInstallationsV1` — List Git installations
30
+ - Added `hosting_listGitInstallationRepositoriesV1` — List Git installation repositories
31
+
32
+ ### Also in this release
33
+
34
+ - Documentation: `README.md`
35
+ - Dependencies: `package-lock.json`
36
+ - Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
37
+ - Build and packaging: `types.d.ts`
38
+
7
39
  ## v1.60.0 — 2026-09-14
8
40
 
9
41
  ### Also in this release
package/README.md CHANGED
@@ -69,14 +69,14 @@ 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 (387 total)
72
+ - `hostinger-api-mcp` — unified server with every tool (392 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
76
76
  - `hostinger-domains-mcp` — 41 tools for domains
77
77
  - `hostinger-ecommerce-mcp` — 29 tools for ecommerce
78
78
  - `hostinger-horizons-mcp` — 6 tools for horizons
79
- - `hostinger-hosting-mcp` — 64 tools for hosting
79
+ - `hostinger-hosting-mcp` — 69 tools for hosting
80
80
  - `hostinger-mail-mcp` — 38 tools for mail
81
81
  - `hostinger-reach-mcp` — 52 tools for reach
82
82
  - `hostinger-vps-mcp` — 64 tools for vps
@@ -2038,6 +2038,77 @@ containing secrets (e.g. credential files) — none of these are returned by thi
2038
2038
  - **Method**: `GET`
2039
2039
  - **Path**: `/api/hosting/v1/accounts/{username}/domains/{domain}/files/content`
2040
2040
 
2041
+ #### hosting_getGitAutoDeploymentSettingsV1
2042
+
2043
+ Returns the Git auto-deployment settings of the website: which repository and branch deploy
2044
+ into which directory, and whether pushes trigger a deployment. `is_enabled` false keeps the
2045
+ repository link but ignores pushes.
2046
+
2047
+ When the website has no auto-deployment configured every field is null. Save settings with
2048
+ `Update Git auto-deployment settings`.
2049
+
2050
+ - **Method**: `GET`
2051
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings`
2052
+
2053
+ #### hosting_updateGitAutoDeploymentSettingsV1
2054
+
2055
+ Creates or replaces the Git auto-deployment settings of the website: repository, branch, the
2056
+ directory under the document root to deploy into, and `is_enabled`. Send the full set;
2057
+ `is_enabled` defaults to true and `directory` to the document root. `installation_uuid` must
2058
+ be an installation from `List Git installations` that belongs to the same customer as the
2059
+ website.
2060
+
2061
+ For PHP and static websites, saving with `is_enabled` true deploys the branch right away and
2062
+ every later push to that branch deploys again. For Node.js and Website Builder websites saving
2063
+ does not clone anything. On a Node.js website start the first deploy with
2064
+ `Start Node.js build` using `source_type` `git`; pushes then trigger new builds with the build
2065
+ settings stored for the website.
2066
+
2067
+ - **Method**: `PUT`
2068
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings`
2069
+
2070
+ #### hosting_deleteGitAutoDeploymentSettingsV1
2071
+
2072
+ Removes the Git auto-deployment settings of the website. Files already deployed stay on the
2073
+ website; pushes stop deploying until settings are saved again. Succeeds also when nothing is
2074
+ configured.
2075
+
2076
+ - **Method**: `DELETE`
2077
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings`
2078
+
2079
+ #### hosting_listGitInstallationsV1
2080
+
2081
+ Lists the Git provider accounts the customer has connected. Only installations with status
2082
+ `active` are returned unless the `status` filter says otherwise.
2083
+
2084
+ An empty list means the customer has no active installation. Check `status=suspended` and
2085
+ `status=pending` as well. If there is none at all, a Git provider (GitHub or GitLab) has to be
2086
+ connected once in hPanel (Websites, Manage, Advanced, Git; or Add Website, Node.js Web App,
2087
+ Import Git Repository); this endpoint then lists the new installation.
2088
+
2089
+ Use `uuid` as the path parameter of `List Git installation repositories`, and as
2090
+ `installation_uuid` in `Start Node.js build` with `source_type` `git` and in
2091
+ `Update Git auto-deployment settings`.
2092
+
2093
+ - **Method**: `GET`
2094
+ - **Path**: `/api/hosting/v1/git/installations`
2095
+
2096
+ #### hosting_listGitInstallationRepositoriesV1
2097
+
2098
+ Lists the repositories the Git installation can access, read live from the provider. Works
2099
+ for github and gitlab installations. Use an active installation: a suspended or pending one
2100
+ is still queried and the call fails with whatever the provider answers. The list is cut at
2101
+ the first 500 repositories in the order the provider returns them; when the account has
2102
+ more, name the repository directly instead of searching this list.
2103
+
2104
+ `owner`, `name` and a branch (`default_branch` or another one) go into `source_options` of
2105
+ `Start Node.js build` or into `Update Git auto-deployment settings`. Returns 404 when the
2106
+ installation does not belong to the customer. Limited to 10 calls per minute per API client
2107
+ (429 above that).
2108
+
2109
+ - **Method**: `GET`
2110
+ - **Path**: `/api/hosting/v1/git/installations/{uuid}/repositories`
2111
+
2041
2112
  #### hosting_listNodeJSBuildsV1
2042
2113
 
2043
2114
  Retrieve a paginated list of Node.js build processes for a specific website.
@@ -2056,13 +2127,17 @@ Start a Node.js build process using files already present on the website's file
2056
2127
  WARNING: on success this overwrites the website's existing contents and cannot be
2057
2128
  undone — verify this is intended before calling this endpoint.
2058
2129
 
2059
- The `source_type` must be `archive` and `source_options.archive_path` must point to an
2060
- existing archive file on the server (relative to the website document root).
2061
- Use the `Generate Upload URL` endpoint to obtain credentials and upload the archive first.
2062
-
2063
- To auto-detect build settings from an archive before starting, first call the
2130
+ With `source_type` `archive`, `source_options.archive_path` must point to an existing
2131
+ archive file on the server (relative to the website document root). Use the
2132
+ `Generate Upload URL` endpoint to obtain credentials and upload the archive first. To
2133
+ auto-detect build settings from an archive before starting, first call the
2064
2134
  `Get Node.js Build Settings from Archive` endpoint.
2065
2135
 
2136
+ With `source_type` `git`, `source_options` carries `owner`, `repository`, `branch` and
2137
+ `installation_uuid`. Take the installation from `List Git installations` and the owner and
2138
+ repository from `List Git installation repositories`; the branch is cloned at its current
2139
+ head. The installation must belong to the same customer as the website.
2140
+
2066
2141
  The returned build `uuid` can be used to poll progress and retrieve logs via
2067
2142
  the `Get Node.js Build Logs` endpoint.
2068
2143
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.60.0",
3
+ "version": "1.60.2",
4
4
  "description": "Hostinger API — manage domains, DNS, hosting, VPS, billing and more from Gemini CLI.",
5
5
  "mcpServers": {
6
6
  "hostinger": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "1.60.0",
3
+ "version": "1.60.2",
4
4
  "mcpName": "io.github.hostinger/hostinger-api-mcp",
5
5
  "description": "MCP server for Hostinger API",
6
6
  "repository": {
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.60.0",
9
+ "version": "1.60.2",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "@hostinger/mcp",
14
- "version": "1.60.0",
14
+ "version": "1.60.2",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },
@@ -29,7 +29,7 @@ const SECURITY_SCHEMES = {
29
29
 
30
30
  /**
31
31
  * MCP Server for Hostinger API
32
- * Generated from OpenAPI spec version 1.52.0
32
+ * Generated from OpenAPI spec version 1.52.2
33
33
  */
34
34
  class MCPServer {
35
35
  constructor({ name, version, tools }) {
@@ -52,7 +52,7 @@ const SECURITY_SCHEMES: Record<string, SecurityScheme> = {
52
52
 
53
53
  /**
54
54
  * MCP Server for Hostinger API
55
- * Generated from OpenAPI spec version 1.52.0
55
+ * Generated from OpenAPI spec version 1.52.2
56
56
  */
57
57
  class MCPServer {
58
58
  private readonly name: string;
@@ -6716,6 +6716,213 @@ export default [
6716
6716
  ],
6717
6717
  "group": "hosting"
6718
6718
  },
6719
+ {
6720
+ "name": "hosting_getGitAutoDeploymentSettingsV1",
6721
+ "title": "Get Git auto-deployment settings",
6722
+ "annotations": {
6723
+ "title": "Get Git auto-deployment settings",
6724
+ "readOnlyHint": true,
6725
+ "destructiveHint": false
6726
+ },
6727
+ "description": "Returns the Git auto-deployment settings of the website: which repository and branch deploy\ninto which directory, and whether pushes trigger a deployment. `is_enabled` false keeps the\nrepository link but ignores pushes.\n\nWhen the website has no auto-deployment configured every field is null. Save settings with\n`Update Git auto-deployment settings`.",
6728
+ "method": "GET",
6729
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings",
6730
+ "inputSchema": {
6731
+ "type": "object",
6732
+ "properties": {
6733
+ "username": {
6734
+ "type": "string",
6735
+ "description": "username parameter"
6736
+ },
6737
+ "domain": {
6738
+ "type": "string",
6739
+ "description": "Domain name"
6740
+ }
6741
+ },
6742
+ "required": [
6743
+ "username",
6744
+ "domain"
6745
+ ]
6746
+ },
6747
+ "security": [
6748
+ {
6749
+ "apiToken": []
6750
+ }
6751
+ ],
6752
+ "group": "hosting"
6753
+ },
6754
+ {
6755
+ "name": "hosting_updateGitAutoDeploymentSettingsV1",
6756
+ "title": "Update Git auto-deployment settings",
6757
+ "annotations": {
6758
+ "title": "Update Git auto-deployment settings",
6759
+ "readOnlyHint": false,
6760
+ "destructiveHint": true,
6761
+ "idempotentHint": true
6762
+ },
6763
+ "description": "Creates or replaces the Git auto-deployment settings of the website: repository, branch, the\ndirectory under the document root to deploy into, and `is_enabled`. Send the full set;\n`is_enabled` defaults to true and `directory` to the document root. `installation_uuid` must\nbe an installation from `List Git installations` that belongs to the same customer as the\nwebsite.\n\nFor PHP and static websites, saving with `is_enabled` true deploys the branch right away and\nevery later push to that branch deploys again. For Node.js and Website Builder websites saving\ndoes not clone anything. On a Node.js website start the first deploy with\n`Start Node.js build` using `source_type` `git`; pushes then trigger new builds with the build\nsettings stored for the website.",
6764
+ "method": "PUT",
6765
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings",
6766
+ "inputSchema": {
6767
+ "type": "object",
6768
+ "properties": {
6769
+ "username": {
6770
+ "type": "string",
6771
+ "description": "username parameter"
6772
+ },
6773
+ "domain": {
6774
+ "type": "string",
6775
+ "description": "Domain name"
6776
+ },
6777
+ "installation_uuid": {
6778
+ "type": "string",
6779
+ "description": "Active Git installation from `List Git installations`"
6780
+ },
6781
+ "owner": {
6782
+ "type": "string",
6783
+ "description": "Repository owner login, as returned by `List Git installation repositories`. GitLab group\npaths use slashes."
6784
+ },
6785
+ "repository": {
6786
+ "type": "string",
6787
+ "description": "Repository name without the .git suffix"
6788
+ },
6789
+ "branch": {
6790
+ "type": "string",
6791
+ "description": "Branch to deploy"
6792
+ },
6793
+ "directory": {
6794
+ "type": "string",
6795
+ "description": "Subdirectory under the website document root to deploy into. Empty, null or omitted means\nthe document root."
6796
+ },
6797
+ "is_enabled": {
6798
+ "type": "boolean",
6799
+ "description": "Whether pushes to the branch deploy automatically"
6800
+ }
6801
+ },
6802
+ "required": [
6803
+ "username",
6804
+ "domain",
6805
+ "installation_uuid",
6806
+ "owner",
6807
+ "repository",
6808
+ "branch"
6809
+ ]
6810
+ },
6811
+ "security": [
6812
+ {
6813
+ "apiToken": []
6814
+ }
6815
+ ],
6816
+ "group": "hosting"
6817
+ },
6818
+ {
6819
+ "name": "hosting_deleteGitAutoDeploymentSettingsV1",
6820
+ "title": "Delete Git auto-deployment settings",
6821
+ "annotations": {
6822
+ "title": "Delete Git auto-deployment settings",
6823
+ "readOnlyHint": false,
6824
+ "destructiveHint": true,
6825
+ "idempotentHint": true
6826
+ },
6827
+ "description": "Removes the Git auto-deployment settings of the website. Files already deployed stay on the\nwebsite; pushes stop deploying until settings are saved again. Succeeds also when nothing is\nconfigured.",
6828
+ "method": "DELETE",
6829
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/git/auto-deployments/settings",
6830
+ "inputSchema": {
6831
+ "type": "object",
6832
+ "properties": {
6833
+ "username": {
6834
+ "type": "string",
6835
+ "description": "username parameter"
6836
+ },
6837
+ "domain": {
6838
+ "type": "string",
6839
+ "description": "Domain name"
6840
+ }
6841
+ },
6842
+ "required": [
6843
+ "username",
6844
+ "domain"
6845
+ ]
6846
+ },
6847
+ "security": [
6848
+ {
6849
+ "apiToken": []
6850
+ }
6851
+ ],
6852
+ "group": "hosting"
6853
+ },
6854
+ {
6855
+ "name": "hosting_listGitInstallationsV1",
6856
+ "title": "List Git installations",
6857
+ "annotations": {
6858
+ "title": "List Git installations",
6859
+ "readOnlyHint": true,
6860
+ "destructiveHint": false
6861
+ },
6862
+ "description": "Lists the Git provider accounts the customer has connected. Only installations with status\n`active` are returned unless the `status` filter says otherwise.\n\nAn empty list means the customer has no active installation. Check `status=suspended` and\n`status=pending` as well. If there is none at all, a Git provider (GitHub or GitLab) has to be\nconnected once in hPanel (Websites, Manage, Advanced, Git; or Add Website, Node.js Web App,\nImport Git Repository); this endpoint then lists the new installation.\n\nUse `uuid` as the path parameter of `List Git installation repositories`, and as\n`installation_uuid` in `Start Node.js build` with `source_type` `git` and in\n`Update Git auto-deployment settings`.",
6863
+ "method": "GET",
6864
+ "path": "/api/hosting/v1/git/installations",
6865
+ "inputSchema": {
6866
+ "type": "object",
6867
+ "properties": {
6868
+ "provider": {
6869
+ "type": "string",
6870
+ "description": "Filter by Git provider",
6871
+ "enum": [
6872
+ "github",
6873
+ "gitlab",
6874
+ "bitbucket"
6875
+ ]
6876
+ },
6877
+ "status": {
6878
+ "type": "string",
6879
+ "description": "Filter by installation status",
6880
+ "enum": [
6881
+ "pending",
6882
+ "active",
6883
+ "suspended"
6884
+ ]
6885
+ }
6886
+ },
6887
+ "required": []
6888
+ },
6889
+ "security": [
6890
+ {
6891
+ "apiToken": []
6892
+ }
6893
+ ],
6894
+ "group": "hosting"
6895
+ },
6896
+ {
6897
+ "name": "hosting_listGitInstallationRepositoriesV1",
6898
+ "title": "List Git installation repositories",
6899
+ "annotations": {
6900
+ "title": "List Git installation repositories",
6901
+ "readOnlyHint": true,
6902
+ "destructiveHint": false
6903
+ },
6904
+ "description": "Lists the repositories the Git installation can access, read live from the provider. Works\nfor github and gitlab installations. Use an active installation: a suspended or pending one\nis still queried and the call fails with whatever the provider answers. The list is cut at\nthe first 500 repositories in the order the provider returns them; when the account has\nmore, name the repository directly instead of searching this list.\n\n`owner`, `name` and a branch (`default_branch` or another one) go into `source_options` of\n`Start Node.js build` or into `Update Git auto-deployment settings`. Returns 404 when the\ninstallation does not belong to the customer. Limited to 10 calls per minute per API client\n(429 above that).",
6905
+ "method": "GET",
6906
+ "path": "/api/hosting/v1/git/installations/{uuid}/repositories",
6907
+ "inputSchema": {
6908
+ "type": "object",
6909
+ "properties": {
6910
+ "uuid": {
6911
+ "type": "string",
6912
+ "description": "Git installation UUID from the List Git installations endpoint"
6913
+ }
6914
+ },
6915
+ "required": [
6916
+ "uuid"
6917
+ ]
6918
+ },
6919
+ "security": [
6920
+ {
6921
+ "apiToken": []
6922
+ }
6923
+ ],
6924
+ "group": "hosting"
6925
+ },
6719
6926
  {
6720
6927
  "name": "hosting_listNodeJSBuildsV1",
6721
6928
  "title": "List NodeJS builds",
@@ -6781,7 +6988,7 @@ export default [
6781
6988
  "readOnlyHint": false,
6782
6989
  "destructiveHint": false
6783
6990
  },
6784
- "description": "Start a Node.js build process using files already present on the website's file storage.\n\nWARNING: on success this overwrites the website's existing contents and cannot be\nundone — verify this is intended before calling this endpoint.\n\nThe `source_type` must be `archive` and `source_options.archive_path` must point to an\nexisting archive file on the server (relative to the website document root).\nUse the `Generate Upload URL` endpoint to obtain credentials and upload the archive first.\n\nTo auto-detect build settings from an archive before starting, first call the\n`Get Node.js Build Settings from Archive` endpoint.\n\nThe returned build `uuid` can be used to poll progress and retrieve logs via\nthe `Get Node.js Build Logs` endpoint.",
6991
+ "description": "Start a Node.js build process using files already present on the website's file storage.\n\nWARNING: on success this overwrites the website's existing contents and cannot be\nundone — verify this is intended before calling this endpoint.\n\nWith `source_type` `archive`, `source_options.archive_path` must point to an existing\narchive file on the server (relative to the website document root). Use the\n`Generate Upload URL` endpoint to obtain credentials and upload the archive first. To\nauto-detect build settings from an archive before starting, first call the\n`Get Node.js Build Settings from Archive` endpoint.\n\nWith `source_type` `git`, `source_options` carries `owner`, `repository`, `branch` and\n`installation_uuid`. Take the installation from `List Git installations` and the owner and\nrepository from `List Git installation repositories`; the branch is cloned at its current\nhead. The installation must belong to the same customer as the website.\n\nThe returned build `uuid` can be used to poll progress and retrieve logs via\nthe `Get Node.js Build Logs` endpoint.",
6785
6992
  "method": "POST",
6786
6993
  "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds",
6787
6994
  "inputSchema": {
@@ -6857,18 +7064,35 @@ export default [
6857
7064
  },
6858
7065
  "source_type": {
6859
7066
  "type": "string",
6860
- "description": "The source type of the files",
7067
+ "description": "Where the files come from: `archive` (an uploaded archive on the website) or `git`\n(a branch of a repository reachable through a Git installation).",
6861
7068
  "enum": [
6862
- "archive"
7069
+ "archive",
7070
+ "git"
6863
7071
  ]
6864
7072
  },
6865
7073
  "source_options": {
6866
7074
  "type": "object",
6867
- "description": "Source-specific options",
7075
+ "description": "Source-specific options. For `archive` send `archive_path`. For `git` send `owner`,\n`repository`, `branch` and `installation_uuid`, taken from `List Git installations`\nand `List Git installation repositories`.",
6868
7076
  "properties": {
6869
7077
  "archive_path": {
6870
7078
  "type": "string",
6871
7079
  "description": "The path to the archive file relative to the document root of the vhost (required if source is \"archive\")"
7080
+ },
7081
+ "owner": {
7082
+ "type": "string",
7083
+ "description": "Repository owner login (required if source is \"git\"). GitLab group paths use\nslashes."
7084
+ },
7085
+ "repository": {
7086
+ "type": "string",
7087
+ "description": "Repository name without the .git suffix (required if source is \"git\")"
7088
+ },
7089
+ "branch": {
7090
+ "type": "string",
7091
+ "description": "Branch to build (required if source is \"git\")"
7092
+ },
7093
+ "installation_uuid": {
7094
+ "type": "string",
7095
+ "description": "Git installation used to access the repository (required if source is \"git\")"
6872
7096
  }
6873
7097
  }
6874
7098
  }