hostinger-api-mcp 0.3.2 → 1.1.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 CHANGED
@@ -49,15 +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 (153 total)
52
+ - `hostinger-api-mcp` — unified server with every tool (170 total)
53
53
  - `hostinger-billing-mcp` — 7 tools for billing
54
54
  - `hostinger-dns-mcp` — 8 tools for dns
55
55
  - `hostinger-domains-mcp` — 18 tools for domains
56
56
  - `hostinger-ecommerce-mcp` — 7 tools for ecommerce
57
57
  - `hostinger-horizons-mcp` — 2 tools for horizons
58
- - `hostinger-hosting-mcp` — 37 tools for hosting
58
+ - `hostinger-hosting-mcp` — 35 tools for hosting
59
59
  - `hostinger-reach-mcp` — 12 tools for reach
60
60
  - `hostinger-vps-mcp` — 62 tools for vps
61
+ - `hostinger-wordpress-mcp` — 19 tools for wordpress
61
62
 
62
63
  Pick the binary that matches your agent's scope. `hostinger-api-mcp` remains the backwards-compatible default.
63
64
 
@@ -1008,43 +1009,6 @@ websites list endpoint to see when your new website becomes available.
1008
1009
  - **Method**: `POST`
1009
1010
  - **Path**: `/api/hosting/v1/websites`
1010
1011
 
1011
- #### hosting_installWordPressV1
1012
-
1013
- Install WordPress on an existing website.
1014
-
1015
- The website must already exist before calling this endpoint. To create a new
1016
- website first, use POST /api/hosting/v1/websites and poll
1017
- GET /api/hosting/v1/websites until it appears.
1018
-
1019
- Call GET /api/hosting/v1/wordpress/installations filtered by username and
1020
- domain before proceeding to check whether WordPress is already installed on
1021
- the target domain/path. If WordPress already exists and `overwrite` is false
1022
- (the default), the async job will fail.
1023
-
1024
- This operation is asynchronous: a successful response only means the install
1025
- job has been queued, not that WordPress is ready. Installation typically
1026
- takes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations filtered
1027
- by username and domain to track progress. When the installation appears in
1028
- that list, WordPress is ready.
1029
-
1030
- - **Method**: `POST`
1031
- - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/installations`
1032
-
1033
- #### hosting_listWordPressInstallationsV1
1034
-
1035
- List WordPress installations accessible to the authenticated client.
1036
-
1037
- Use this endpoint to discover existing WordPress installations and to poll
1038
- for installation status after calling the install endpoint. When a newly
1039
- requested installation appears in this list, WordPress is ready. Filter by
1040
- username and domain to narrow results to a specific website.
1041
-
1042
- Each installation includes a `valid` flag and, when invalid, a
1043
- `validationError` describing why.
1044
-
1045
- - **Method**: `GET`
1046
- - **Path**: `/api/hosting/v1/wordpress/installations`
1047
-
1048
1012
  ### `hostinger-reach-mcp`
1049
1013
 
1050
1014
  #### reach_deleteAContactV1
@@ -1876,3 +1840,253 @@ Use this endpoint to power off running VPS instances.
1876
1840
 
1877
1841
  - **Method**: `POST`
1878
1842
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/stop`
1843
+
1844
+ ### `hostinger-wordpress-mcp`
1845
+
1846
+ #### hosting_installWordPressV1
1847
+
1848
+ Install WordPress on an existing website.
1849
+
1850
+ The website must already exist before calling this endpoint. To create a new
1851
+ website first, use POST /api/hosting/v1/websites and poll
1852
+ GET /api/hosting/v1/websites until it appears.
1853
+
1854
+ Call GET /api/hosting/v1/wordpress/installations filtered by username and
1855
+ domain before proceeding to check whether WordPress is already installed on
1856
+ the target domain/path. If WordPress already exists and `overwrite` is false
1857
+ (the default), the async job will fail.
1858
+
1859
+ This operation is asynchronous: a successful response only means the install
1860
+ job has been queued, not that WordPress is ready. Installation typically
1861
+ takes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations filtered
1862
+ by username and domain to track progress. When the installation appears in
1863
+ that list, WordPress is ready.
1864
+
1865
+ - **Method**: `POST`
1866
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/installations`
1867
+
1868
+ #### hosting_listWordPressInstallationsV1
1869
+
1870
+ List WordPress installations accessible to the authenticated client.
1871
+
1872
+ Use this endpoint to discover existing WordPress installations and to poll
1873
+ for installation status after calling the install endpoint. When a newly
1874
+ requested installation appears in this list, WordPress is ready. Filter by
1875
+ username and domain to narrow results to a specific website.
1876
+
1877
+ Each installation includes a `valid` flag and, when invalid, a
1878
+ `validationError` describing why.
1879
+
1880
+ - **Method**: `GET`
1881
+ - **Path**: `/api/hosting/v1/wordpress/installations`
1882
+
1883
+ #### hosting_activateWordPressPluginV1
1884
+
1885
+ Activate an installed plugin on a WordPress installation.
1886
+
1887
+ Provide the WordPress installation (software) identifier in the path. It can
1888
+ be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
1889
+
1890
+ This operation is asynchronous: a successful response only means the activation
1891
+ job has been queued.
1892
+
1893
+ - **Method**: `POST`
1894
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/activate`
1895
+
1896
+ #### hosting_deactivateWordPressPluginV1
1897
+
1898
+ Deactivate an installed plugin on a WordPress installation.
1899
+
1900
+ Provide the WordPress installation (software) identifier in the path. It can
1901
+ be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
1902
+
1903
+ This operation is asynchronous: a successful response only means the
1904
+ deactivation job has been queued.
1905
+
1906
+ - **Method**: `POST`
1907
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/deactivate`
1908
+
1909
+ #### hosting_installWordPressPluginsV1
1910
+
1911
+ Install one or more plugins on an existing WordPress installation.
1912
+
1913
+ Provide the WordPress installation (software) identifier in the path. It can
1914
+ be obtained from GET /api/hosting/v1/wordpress/installations (the `id`
1915
+ field). Use GET /api/hosting/v1/wordpress/plugins to discover the plugin
1916
+ slugs available for installation.
1917
+
1918
+ This operation is asynchronous: a successful response only means the install
1919
+ job has been queued, not that the plugins are ready.
1920
+
1921
+ - **Method**: `POST`
1922
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/install`
1923
+
1924
+ #### hosting_listAvailableWordPressPluginsV1
1925
+
1926
+ List plugins recommended for installation on a WordPress installation that are
1927
+ not yet installed.
1928
+
1929
+ Provide the WordPress installation (software) identifier in the path. It can
1930
+ be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
1931
+
1932
+ - **Method**: `GET`
1933
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/available`
1934
+
1935
+ #### hosting_listInstalledWordPressPluginsV1
1936
+
1937
+ List plugins installed on a WordPress installation, including their status,
1938
+ available updates and known vulnerabilities.
1939
+
1940
+ Provide the WordPress installation (software) identifier in the path. It can
1941
+ be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
1942
+
1943
+ - **Method**: `GET`
1944
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/plugins`
1945
+
1946
+ #### hosting_searchWordPressPluginsV1
1947
+
1948
+ Search the WordPress.org plugin directory for plugins available to install.
1949
+
1950
+ Use the returned `slug` values with
1951
+ POST /api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/install.
1952
+
1953
+ - **Method**: `GET`
1954
+ - **Path**: `/api/hosting/v1/wordpress/plugins`
1955
+
1956
+ #### hosting_listSuggestedWordPressPluginsV1
1957
+
1958
+ List curated plugin suggestions grouped by website type.
1959
+
1960
+ Use the returned `slug` values with
1961
+ POST /api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/install.
1962
+
1963
+ - **Method**: `GET`
1964
+ - **Path**: `/api/hosting/v1/wordpress/plugins/suggested`
1965
+
1966
+ #### hosting_checkIfWooCommerceIsInstalledV1
1967
+
1968
+ Check whether WooCommerce is installed on any WordPress installation of a
1969
+ domain. Optionally filter by domain to scope the check.
1970
+
1971
+ - **Method**: `GET`
1972
+ - **Path**: `/api/hosting/v1/wordpress/plugins/is-woocommerce-installed`
1973
+
1974
+ #### hosting_uninstallWordPressPluginsV1
1975
+
1976
+ Uninstall one or more plugins from a WordPress installation.
1977
+
1978
+ Provide the WordPress installation (software) identifier in the path. It can
1979
+ be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
1980
+
1981
+ This operation is asynchronous: a successful response only means the uninstall
1982
+ job has been queued.
1983
+
1984
+ - **Method**: `POST`
1985
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/uninstall`
1986
+
1987
+ #### hosting_updateHostingerWordPressPluginV1
1988
+
1989
+ Update a Hostinger plugin to its latest version on a WordPress installation.
1990
+
1991
+ Provide the WordPress installation (software) identifier in the path. It can
1992
+ be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
1993
+
1994
+ This operation is asynchronous: a successful response only means the update job
1995
+ has been queued.
1996
+
1997
+ - **Method**: `POST`
1998
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/hostinger/update`
1999
+
2000
+ #### hosting_updateWordPressPluginsV1
2001
+
2002
+ Update one or more installed plugins to their latest version on a WordPress
2003
+ installation.
2004
+
2005
+ Provide the WordPress installation (software) identifier in the path. It can
2006
+ be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
2007
+
2008
+ This operation is asynchronous: a successful response only means the update job
2009
+ has been queued.
2010
+
2011
+ - **Method**: `POST`
2012
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/plugins/update`
2013
+
2014
+ #### hosting_activateWordPressThemeV1
2015
+
2016
+ Activate an installed theme on a WordPress installation.
2017
+
2018
+ Provide the WordPress installation (software) identifier in the path. It can
2019
+ be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
2020
+
2021
+ This operation is asynchronous: a successful response only means the activation
2022
+ job has been queued.
2023
+
2024
+ - **Method**: `POST`
2025
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/themes/activate`
2026
+
2027
+ #### hosting_installWordPressThemeV1
2028
+
2029
+ Install a theme on an existing WordPress installation.
2030
+
2031
+ Provide the WordPress installation (software) identifier in the path. It can
2032
+ be obtained from GET /api/hosting/v1/wordpress/installations (the `id`
2033
+ field).
2034
+
2035
+ When the theme is one of the Hostinger themes (hostinger-blog,
2036
+ hostinger-affiliate-theme, hostinger-ai-theme), the optional `palette`,
2037
+ `layout`, and `font` fields are forwarded to the custom installer (defaults:
2038
+ palette1, layout1, default). For any other theme they are ignored.
2039
+
2040
+ This operation is asynchronous: a successful response only means the install
2041
+ job has been queued, not that the theme is ready.
2042
+
2043
+ - **Method**: `POST`
2044
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/themes/install`
2045
+
2046
+ #### hosting_listInstalledWordPressThemesV1
2047
+
2048
+ List themes installed on a WordPress installation, including their status,
2049
+ available updates and known vulnerabilities.
2050
+
2051
+ Provide the WordPress installation (software) identifier in the path. It can
2052
+ be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
2053
+
2054
+ - **Method**: `GET`
2055
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/themes`
2056
+
2057
+ #### hosting_listWordPressThemesV1
2058
+
2059
+ List WordPress themes available to install.
2060
+
2061
+ Use the returned `slug` values with
2062
+ POST /api/hosting/v1/accounts/{username}/wordpress/{software}/themes/install.
2063
+
2064
+ - **Method**: `GET`
2065
+ - **Path**: `/api/hosting/v1/wordpress/themes`
2066
+
2067
+ #### hosting_uninstallWordPressThemesV1
2068
+
2069
+ Uninstall one or more themes from a WordPress installation.
2070
+
2071
+ Provide the WordPress installation (software) identifier in the path. It can
2072
+ be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
2073
+
2074
+ This operation is asynchronous: a successful response only means the uninstall
2075
+ job has been queued.
2076
+
2077
+ - **Method**: `POST`
2078
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/themes/uninstall`
2079
+
2080
+ #### hosting_updateWordPressThemesV1
2081
+
2082
+ Update one or more installed themes to their latest version on a WordPress
2083
+ installation.
2084
+
2085
+ Provide the WordPress installation (software) identifier in the path. It can
2086
+ be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
2087
+
2088
+ This operation is asynchronous: a successful response only means the update job
2089
+ has been queued.
2090
+
2091
+ - **Method**: `POST`
2092
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/themes/update`
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "0.3.2",
3
+ "version": "1.1.0",
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": "0.3.2",
3
+ "version": "1.1.0",
4
4
  "mcpName": "io.github.hostinger/hostinger-api-mcp",
5
5
  "description": "MCP server for Hostinger API",
6
6
  "repository": {
@@ -26,7 +26,8 @@
26
26
  "hostinger-horizons-mcp": "./src/servers/horizons.js",
27
27
  "hostinger-hosting-mcp": "./src/servers/hosting.js",
28
28
  "hostinger-reach-mcp": "./src/servers/reach.js",
29
- "hostinger-vps-mcp": "./src/servers/vps.js"
29
+ "hostinger-vps-mcp": "./src/servers/vps.js",
30
+ "hostinger-wordpress-mcp": "./src/servers/wordpress.js"
30
31
  },
31
32
  "scripts": {
32
33
  "start": "node src/servers/all.js",
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": "0.3.2",
9
+ "version": "1.1.0",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "hostinger-api-mcp",
14
- "version": "0.3.2",
14
+ "version": "1.1.0",
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 0.22.1
32
+ * Generated from OpenAPI spec version 1.1.0
33
33
  */
34
34
  class MCPServer {
35
35
  constructor({ name, version, tools }) {
@@ -47,7 +47,7 @@ const SECURITY_SCHEMES: Record<string, SecurityScheme> = {
47
47
 
48
48
  /**
49
49
  * MCP Server for Hostinger API
50
- * Generated from OpenAPI spec version 0.22.1
50
+ * Generated from OpenAPI spec version 1.1.0
51
51
  */
52
52
  class MCPServer {
53
53
  private readonly name: string;