hostinger-api-mcp 0.2.18 → 0.2.20

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,13 +49,13 @@ 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 (146 total)
52
+ - `hostinger-api-mcp` — unified server with every tool (153 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` — 30 tools for hosting
58
+ - `hostinger-hosting-mcp` — 37 tools for hosting
59
59
  - `hostinger-reach-mcp` — 12 tools for reach
60
60
  - `hostinger-vps-mcp` — 62 tools for vps
61
61
 
@@ -702,6 +702,40 @@ Retrieve logs for a specified JavaScript application deployment for debugging pu
702
702
  - **Method**: `custom`
703
703
  - **Path**: `custom`
704
704
 
705
+ #### hosting_listAccountCronJobsV1
706
+
707
+ Returns the list of cron jobs configured for the specified account, including their schedule and command.
708
+
709
+ - **Method**: `GET`
710
+ - **Path**: `/api/hosting/v1/accounts/{username}/cron-jobs`
711
+
712
+ #### hosting_createAccountCronJobV1
713
+
714
+ Creates a cron job for the specified account from a schedule expression and a command.
715
+
716
+ Returns the created cron job, including its uid, which is required to delete the cron job or fetch its output.
717
+
718
+ - **Method**: `POST`
719
+ - **Path**: `/api/hosting/v1/accounts/{username}/cron-jobs`
720
+
721
+ #### hosting_deleteAccountCronJobV1
722
+
723
+ Permanently deletes the cron job identified by its uid.
724
+
725
+ The uid is returned by the list cron jobs endpoint.
726
+
727
+ - **Method**: `DELETE`
728
+ - **Path**: `/api/hosting/v1/accounts/{username}/cron-jobs/{uid}`
729
+
730
+ #### hosting_getCronJobOutputV1
731
+
732
+ Returns the output captured from the last execution of the cron job identified by its uid.
733
+
734
+ The uid is returned by the list cron jobs endpoint.
735
+
736
+ - **Method**: `GET`
737
+ - **Path**: `/api/hosting/v1/accounts/{username}/cron-jobs/{uid}/output`
738
+
705
739
  #### hosting_changeDatabasePasswordV1
706
740
 
707
741
  Changes the password for the specified database user.
@@ -739,6 +773,37 @@ The database name must be the full name returned by the list databases endpoint.
739
773
  - **Method**: `DELETE`
740
774
  - **Path**: `/api/hosting/v1/accounts/{username}/databases/{name}`
741
775
 
776
+ #### hosting_createAccountDatabaseRemoteConnectionV1
777
+
778
+ Allows a remote host to connect to the specified database.
779
+
780
+ Provide an IPv4/IPv6 address, or "%" to allow any host. The database name must be
781
+ the full name returned by the list databases endpoint.
782
+
783
+ - **Method**: `POST`
784
+ - **Path**: `/api/hosting/v1/accounts/{username}/databases/{name}/remote-connections`
785
+
786
+ #### hosting_deleteAccountDatabaseRemoteConnectionV1
787
+
788
+ Permanently removes a remote-access rule, revoking the given host's remote access to the database.
789
+
790
+ Identify the rule with the required ip query parameter (the IPv4/IPv6 address, or "%",
791
+ exactly as returned by the list remote connections endpoint). The database name must be
792
+ the full name returned by the list databases endpoint.
793
+
794
+ - **Method**: `DELETE`
795
+ - **Path**: `/api/hosting/v1/accounts/{username}/databases/{name}/remote-connections`
796
+
797
+ #### hosting_listAccountDatabaseRemoteConnectionsV1
798
+
799
+ Returns the remote-access rules for the specified account: the remote hosts
800
+ (IPv4/IPv6 addresses, or "%" for any host) allowed to connect to the account databases.
801
+
802
+ Use the domain filter to only return rules for databases assigned to a specific domain.
803
+
804
+ - **Method**: `GET`
805
+ - **Path**: `/api/hosting/v1/accounts/{username}/databases/remote-connections`
806
+
742
807
  #### hosting_repairDatabaseV1
743
808
 
744
809
  Repairs corrupted database tables asynchronously.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "0.2.18",
3
+ "version": "0.2.20",
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": "0.2.18",
9
+ "version": "0.2.20",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "hostinger-api-mcp",
14
- "version": "0.2.18",
14
+ "version": "0.2.20",
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.19.4
32
+ * Generated from OpenAPI spec version 0.21.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.19.4
50
+ * Generated from OpenAPI spec version 0.21.0
51
51
  */
52
52
  class MCPServer {
53
53
  private readonly name: string;
@@ -1602,6 +1602,122 @@ export default [
1602
1602
  ],
1603
1603
  "group": "horizons"
1604
1604
  },
1605
+ {
1606
+ "name": "hosting_listAccountCronJobsV1",
1607
+ "description": "Returns the list of cron jobs configured for the specified account, including their schedule and command.",
1608
+ "method": "GET",
1609
+ "path": "/api/hosting/v1/accounts/{username}/cron-jobs",
1610
+ "inputSchema": {
1611
+ "type": "object",
1612
+ "properties": {
1613
+ "username": {
1614
+ "type": "string",
1615
+ "description": "username parameter"
1616
+ }
1617
+ },
1618
+ "required": [
1619
+ "username"
1620
+ ]
1621
+ },
1622
+ "security": [
1623
+ {
1624
+ "apiToken": []
1625
+ }
1626
+ ],
1627
+ "group": "hosting"
1628
+ },
1629
+ {
1630
+ "name": "hosting_createAccountCronJobV1",
1631
+ "description": "Creates a cron job for the specified account from a schedule expression and a command.\n\nReturns the created cron job, including its uid, which is required to delete the cron job or fetch its output.",
1632
+ "method": "POST",
1633
+ "path": "/api/hosting/v1/accounts/{username}/cron-jobs",
1634
+ "inputSchema": {
1635
+ "type": "object",
1636
+ "properties": {
1637
+ "username": {
1638
+ "type": "string",
1639
+ "description": "username parameter"
1640
+ },
1641
+ "time": {
1642
+ "type": "string",
1643
+ "description": "Cron schedule expression (for example \"0 2 * * *\" runs daily at 02:00)."
1644
+ },
1645
+ "command": {
1646
+ "type": "string",
1647
+ "description": "Command to execute on the schedule."
1648
+ }
1649
+ },
1650
+ "required": [
1651
+ "username",
1652
+ "time",
1653
+ "command"
1654
+ ]
1655
+ },
1656
+ "security": [
1657
+ {
1658
+ "apiToken": []
1659
+ }
1660
+ ],
1661
+ "group": "hosting"
1662
+ },
1663
+ {
1664
+ "name": "hosting_deleteAccountCronJobV1",
1665
+ "description": "Permanently deletes the cron job identified by its uid.\n\nThe uid is returned by the list cron jobs endpoint.",
1666
+ "method": "DELETE",
1667
+ "path": "/api/hosting/v1/accounts/{username}/cron-jobs/{uid}",
1668
+ "inputSchema": {
1669
+ "type": "object",
1670
+ "properties": {
1671
+ "username": {
1672
+ "type": "string",
1673
+ "description": "username parameter"
1674
+ },
1675
+ "uid": {
1676
+ "type": "string",
1677
+ "description": "Unique identifier of the cron job as returned by the list cron jobs endpoint."
1678
+ }
1679
+ },
1680
+ "required": [
1681
+ "username",
1682
+ "uid"
1683
+ ]
1684
+ },
1685
+ "security": [
1686
+ {
1687
+ "apiToken": []
1688
+ }
1689
+ ],
1690
+ "group": "hosting"
1691
+ },
1692
+ {
1693
+ "name": "hosting_getCronJobOutputV1",
1694
+ "description": "Returns the output captured from the last execution of the cron job identified by its uid.\n\nThe uid is returned by the list cron jobs endpoint.",
1695
+ "method": "GET",
1696
+ "path": "/api/hosting/v1/accounts/{username}/cron-jobs/{uid}/output",
1697
+ "inputSchema": {
1698
+ "type": "object",
1699
+ "properties": {
1700
+ "username": {
1701
+ "type": "string",
1702
+ "description": "username parameter"
1703
+ },
1704
+ "uid": {
1705
+ "type": "string",
1706
+ "description": "Unique identifier of the cron job as returned by the list cron jobs endpoint."
1707
+ }
1708
+ },
1709
+ "required": [
1710
+ "username",
1711
+ "uid"
1712
+ ]
1713
+ },
1714
+ "security": [
1715
+ {
1716
+ "apiToken": []
1717
+ }
1718
+ ],
1719
+ "group": "hosting"
1720
+ },
1605
1721
  {
1606
1722
  "name": "hosting_changeDatabasePasswordV1",
1607
1723
  "description": "Changes the password for the specified database user.\n\nThe database name must be the full name returned by the list databases endpoint.\nThe password must also be updated in any website configuration that uses this database.",
@@ -1753,6 +1869,102 @@ export default [
1753
1869
  ],
1754
1870
  "group": "hosting"
1755
1871
  },
1872
+ {
1873
+ "name": "hosting_createAccountDatabaseRemoteConnectionV1",
1874
+ "description": "Allows a remote host to connect to the specified database.\n\nProvide an IPv4/IPv6 address, or \"%\" to allow any host. The database name must be\nthe full name returned by the list databases endpoint.",
1875
+ "method": "POST",
1876
+ "path": "/api/hosting/v1/accounts/{username}/databases/{name}/remote-connections",
1877
+ "inputSchema": {
1878
+ "type": "object",
1879
+ "properties": {
1880
+ "username": {
1881
+ "type": "string",
1882
+ "description": "username parameter"
1883
+ },
1884
+ "name": {
1885
+ "type": "string",
1886
+ "description": "Full database name as returned by the list databases endpoint."
1887
+ },
1888
+ "ip": {
1889
+ "type": "string",
1890
+ "description": "Remote host to allow: an IPv4/IPv6 address, or \"%\" for any host."
1891
+ }
1892
+ },
1893
+ "required": [
1894
+ "username",
1895
+ "name",
1896
+ "ip"
1897
+ ]
1898
+ },
1899
+ "security": [
1900
+ {
1901
+ "apiToken": []
1902
+ }
1903
+ ],
1904
+ "group": "hosting"
1905
+ },
1906
+ {
1907
+ "name": "hosting_deleteAccountDatabaseRemoteConnectionV1",
1908
+ "description": "Permanently removes a remote-access rule, revoking the given host's remote access to the database.\n\nIdentify the rule with the required ip query parameter (the IPv4/IPv6 address, or \"%\",\nexactly as returned by the list remote connections endpoint). The database name must be\nthe full name returned by the list databases endpoint.",
1909
+ "method": "DELETE",
1910
+ "path": "/api/hosting/v1/accounts/{username}/databases/{name}/remote-connections",
1911
+ "inputSchema": {
1912
+ "type": "object",
1913
+ "properties": {
1914
+ "username": {
1915
+ "type": "string",
1916
+ "description": "username parameter"
1917
+ },
1918
+ "name": {
1919
+ "type": "string",
1920
+ "description": "Full database name as returned by the list databases endpoint."
1921
+ },
1922
+ "ip": {
1923
+ "type": "string",
1924
+ "description": "Remote host to revoke: the IPv4/IPv6 address, or \"%\",\nexactly as returned by the list remote connections endpoint."
1925
+ }
1926
+ },
1927
+ "required": [
1928
+ "username",
1929
+ "name",
1930
+ "ip"
1931
+ ]
1932
+ },
1933
+ "security": [
1934
+ {
1935
+ "apiToken": []
1936
+ }
1937
+ ],
1938
+ "group": "hosting"
1939
+ },
1940
+ {
1941
+ "name": "hosting_listAccountDatabaseRemoteConnectionsV1",
1942
+ "description": "Returns the remote-access rules for the specified account: the remote hosts\n(IPv4/IPv6 addresses, or \"%\" for any host) allowed to connect to the account databases.\n\nUse the domain filter to only return rules for databases assigned to a specific domain.",
1943
+ "method": "GET",
1944
+ "path": "/api/hosting/v1/accounts/{username}/databases/remote-connections",
1945
+ "inputSchema": {
1946
+ "type": "object",
1947
+ "properties": {
1948
+ "username": {
1949
+ "type": "string",
1950
+ "description": "username parameter"
1951
+ },
1952
+ "domain": {
1953
+ "type": "string",
1954
+ "description": "Filter remote connections by the domain the database is assigned to.\nRules for databases not assigned to any domain are always included."
1955
+ }
1956
+ },
1957
+ "required": [
1958
+ "username"
1959
+ ]
1960
+ },
1961
+ "security": [
1962
+ {
1963
+ "apiToken": []
1964
+ }
1965
+ ],
1966
+ "group": "hosting"
1967
+ },
1756
1968
  {
1757
1969
  "name": "hosting_repairDatabaseV1",
1758
1970
  "description": "Repairs corrupted database tables asynchronously.\n\nUse when database errors, crashes, or corruption are reported.\nThe database name must be the full name returned by the list databases endpoint.",
@@ -1612,6 +1612,122 @@ const tools: OpenApiTool[] = [
1612
1612
  ],
1613
1613
  "group": "horizons"
1614
1614
  },
1615
+ {
1616
+ "name": "hosting_listAccountCronJobsV1",
1617
+ "description": "Returns the list of cron jobs configured for the specified account, including their schedule and command.",
1618
+ "method": "GET",
1619
+ "path": "/api/hosting/v1/accounts/{username}/cron-jobs",
1620
+ "inputSchema": {
1621
+ "type": "object",
1622
+ "properties": {
1623
+ "username": {
1624
+ "type": "string",
1625
+ "description": "username parameter"
1626
+ }
1627
+ },
1628
+ "required": [
1629
+ "username"
1630
+ ]
1631
+ },
1632
+ "security": [
1633
+ {
1634
+ "apiToken": []
1635
+ }
1636
+ ],
1637
+ "group": "hosting"
1638
+ },
1639
+ {
1640
+ "name": "hosting_createAccountCronJobV1",
1641
+ "description": "Creates a cron job for the specified account from a schedule expression and a command.\n\nReturns the created cron job, including its uid, which is required to delete the cron job or fetch its output.",
1642
+ "method": "POST",
1643
+ "path": "/api/hosting/v1/accounts/{username}/cron-jobs",
1644
+ "inputSchema": {
1645
+ "type": "object",
1646
+ "properties": {
1647
+ "username": {
1648
+ "type": "string",
1649
+ "description": "username parameter"
1650
+ },
1651
+ "time": {
1652
+ "type": "string",
1653
+ "description": "Cron schedule expression (for example \"0 2 * * *\" runs daily at 02:00)."
1654
+ },
1655
+ "command": {
1656
+ "type": "string",
1657
+ "description": "Command to execute on the schedule."
1658
+ }
1659
+ },
1660
+ "required": [
1661
+ "username",
1662
+ "time",
1663
+ "command"
1664
+ ]
1665
+ },
1666
+ "security": [
1667
+ {
1668
+ "apiToken": []
1669
+ }
1670
+ ],
1671
+ "group": "hosting"
1672
+ },
1673
+ {
1674
+ "name": "hosting_deleteAccountCronJobV1",
1675
+ "description": "Permanently deletes the cron job identified by its uid.\n\nThe uid is returned by the list cron jobs endpoint.",
1676
+ "method": "DELETE",
1677
+ "path": "/api/hosting/v1/accounts/{username}/cron-jobs/{uid}",
1678
+ "inputSchema": {
1679
+ "type": "object",
1680
+ "properties": {
1681
+ "username": {
1682
+ "type": "string",
1683
+ "description": "username parameter"
1684
+ },
1685
+ "uid": {
1686
+ "type": "string",
1687
+ "description": "Unique identifier of the cron job as returned by the list cron jobs endpoint."
1688
+ }
1689
+ },
1690
+ "required": [
1691
+ "username",
1692
+ "uid"
1693
+ ]
1694
+ },
1695
+ "security": [
1696
+ {
1697
+ "apiToken": []
1698
+ }
1699
+ ],
1700
+ "group": "hosting"
1701
+ },
1702
+ {
1703
+ "name": "hosting_getCronJobOutputV1",
1704
+ "description": "Returns the output captured from the last execution of the cron job identified by its uid.\n\nThe uid is returned by the list cron jobs endpoint.",
1705
+ "method": "GET",
1706
+ "path": "/api/hosting/v1/accounts/{username}/cron-jobs/{uid}/output",
1707
+ "inputSchema": {
1708
+ "type": "object",
1709
+ "properties": {
1710
+ "username": {
1711
+ "type": "string",
1712
+ "description": "username parameter"
1713
+ },
1714
+ "uid": {
1715
+ "type": "string",
1716
+ "description": "Unique identifier of the cron job as returned by the list cron jobs endpoint."
1717
+ }
1718
+ },
1719
+ "required": [
1720
+ "username",
1721
+ "uid"
1722
+ ]
1723
+ },
1724
+ "security": [
1725
+ {
1726
+ "apiToken": []
1727
+ }
1728
+ ],
1729
+ "group": "hosting"
1730
+ },
1615
1731
  {
1616
1732
  "name": "hosting_changeDatabasePasswordV1",
1617
1733
  "description": "Changes the password for the specified database user.\n\nThe database name must be the full name returned by the list databases endpoint.\nThe password must also be updated in any website configuration that uses this database.",
@@ -1763,6 +1879,102 @@ const tools: OpenApiTool[] = [
1763
1879
  ],
1764
1880
  "group": "hosting"
1765
1881
  },
1882
+ {
1883
+ "name": "hosting_createAccountDatabaseRemoteConnectionV1",
1884
+ "description": "Allows a remote host to connect to the specified database.\n\nProvide an IPv4/IPv6 address, or \"%\" to allow any host. The database name must be\nthe full name returned by the list databases endpoint.",
1885
+ "method": "POST",
1886
+ "path": "/api/hosting/v1/accounts/{username}/databases/{name}/remote-connections",
1887
+ "inputSchema": {
1888
+ "type": "object",
1889
+ "properties": {
1890
+ "username": {
1891
+ "type": "string",
1892
+ "description": "username parameter"
1893
+ },
1894
+ "name": {
1895
+ "type": "string",
1896
+ "description": "Full database name as returned by the list databases endpoint."
1897
+ },
1898
+ "ip": {
1899
+ "type": "string",
1900
+ "description": "Remote host to allow: an IPv4/IPv6 address, or \"%\" for any host."
1901
+ }
1902
+ },
1903
+ "required": [
1904
+ "username",
1905
+ "name",
1906
+ "ip"
1907
+ ]
1908
+ },
1909
+ "security": [
1910
+ {
1911
+ "apiToken": []
1912
+ }
1913
+ ],
1914
+ "group": "hosting"
1915
+ },
1916
+ {
1917
+ "name": "hosting_deleteAccountDatabaseRemoteConnectionV1",
1918
+ "description": "Permanently removes a remote-access rule, revoking the given host's remote access to the database.\n\nIdentify the rule with the required ip query parameter (the IPv4/IPv6 address, or \"%\",\nexactly as returned by the list remote connections endpoint). The database name must be\nthe full name returned by the list databases endpoint.",
1919
+ "method": "DELETE",
1920
+ "path": "/api/hosting/v1/accounts/{username}/databases/{name}/remote-connections",
1921
+ "inputSchema": {
1922
+ "type": "object",
1923
+ "properties": {
1924
+ "username": {
1925
+ "type": "string",
1926
+ "description": "username parameter"
1927
+ },
1928
+ "name": {
1929
+ "type": "string",
1930
+ "description": "Full database name as returned by the list databases endpoint."
1931
+ },
1932
+ "ip": {
1933
+ "type": "string",
1934
+ "description": "Remote host to revoke: the IPv4/IPv6 address, or \"%\",\nexactly as returned by the list remote connections endpoint."
1935
+ }
1936
+ },
1937
+ "required": [
1938
+ "username",
1939
+ "name",
1940
+ "ip"
1941
+ ]
1942
+ },
1943
+ "security": [
1944
+ {
1945
+ "apiToken": []
1946
+ }
1947
+ ],
1948
+ "group": "hosting"
1949
+ },
1950
+ {
1951
+ "name": "hosting_listAccountDatabaseRemoteConnectionsV1",
1952
+ "description": "Returns the remote-access rules for the specified account: the remote hosts\n(IPv4/IPv6 addresses, or \"%\" for any host) allowed to connect to the account databases.\n\nUse the domain filter to only return rules for databases assigned to a specific domain.",
1953
+ "method": "GET",
1954
+ "path": "/api/hosting/v1/accounts/{username}/databases/remote-connections",
1955
+ "inputSchema": {
1956
+ "type": "object",
1957
+ "properties": {
1958
+ "username": {
1959
+ "type": "string",
1960
+ "description": "username parameter"
1961
+ },
1962
+ "domain": {
1963
+ "type": "string",
1964
+ "description": "Filter remote connections by the domain the database is assigned to.\nRules for databases not assigned to any domain are always included."
1965
+ }
1966
+ },
1967
+ "required": [
1968
+ "username"
1969
+ ]
1970
+ },
1971
+ "security": [
1972
+ {
1973
+ "apiToken": []
1974
+ }
1975
+ ],
1976
+ "group": "hosting"
1977
+ },
1766
1978
  {
1767
1979
  "name": "hosting_repairDatabaseV1",
1768
1980
  "description": "Repairs corrupted database tables asynchronously.\n\nUse when database errors, crashes, or corruption are reported.\nThe database name must be the full name returned by the list databases endpoint.",