hostinger-api-mcp 0.2.5 → 0.2.6

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,11 +49,11 @@ 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 (129 total)
52
+ - `hostinger-api-mcp` — unified server with every tool (135 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
- - `hostinger-hosting-mcp` — 24 tools for hosting
56
+ - `hostinger-hosting-mcp` — 30 tools for hosting
57
57
  - `hostinger-reach-mcp` — 10 tools for reach
58
58
  - `hostinger-vps-mcp` — 62 tools for vps
59
59
 
@@ -593,6 +593,16 @@ Retrieve logs for a specified JavaScript application deployment for debugging pu
593
593
  - **Method**: `custom`
594
594
  - **Path**: `custom`
595
595
 
596
+ #### hosting_changeDatabasePasswordV1
597
+
598
+ Changes the password for the specified database user.
599
+
600
+ The database name must be the full name returned by the list databases endpoint.
601
+ The password must also be updated in any website configuration that uses this database.
602
+
603
+ - **Method**: `PATCH`
604
+ - **Path**: `/api/hosting/v1/accounts/{username}/databases/{name}/change-password`
605
+
596
606
  #### hosting_listAccountDatabasesV1
597
607
 
598
608
  Returns a paginated list of databases for the specified account.
@@ -620,6 +630,26 @@ The database name must be the full name returned by the list databases endpoint.
620
630
  - **Method**: `DELETE`
621
631
  - **Path**: `/api/hosting/v1/accounts/{username}/databases/{name}`
622
632
 
633
+ #### hosting_repairDatabaseV1
634
+
635
+ Repairs corrupted database tables asynchronously.
636
+
637
+ Use when database errors, crashes, or corruption are reported.
638
+ The database name must be the full name returned by the list databases endpoint.
639
+
640
+ - **Method**: `PATCH`
641
+ - **Path**: `/api/hosting/v1/accounts/{username}/databases/{name}/repair`
642
+
643
+ #### hosting_getPhpMyAdminLinkV1
644
+
645
+ Returns a direct sign-on link to phpMyAdmin for the specified database.
646
+
647
+ Use this when a visual database interface is needed for SQL queries, imports, exports, or table management.
648
+ The database name must be the full name returned by the list databases endpoint.
649
+
650
+ - **Method**: `GET`
651
+ - **Path**: `/api/hosting/v1/accounts/{username}/databases/{name}/phpmyadmin-link`
652
+
623
653
  #### hosting_listAvailableDatacentersV1
624
654
 
625
655
  Retrieve a list of datacenters available for setting up hosting plans
@@ -711,6 +741,55 @@ Skip this verification when using Hostinger's free subdomains (*.hostingersite.c
711
741
  - **Method**: `POST`
712
742
  - **Path**: `/api/hosting/v1/domains/verify-ownership`
713
743
 
744
+ #### hosting_listNode.jsBuildsV1
745
+
746
+ Retrieve a paginated list of Node.js build processes for a specific website.
747
+
748
+ Each build represents a single run of the Node.js build pipeline. Use the `states`
749
+ query parameter to filter results by build state (pending, running, completed, failed).
750
+ Use the `uuid` from a build to poll its output via the `Get Node.js Build Logs` endpoint.
751
+
752
+ - **Method**: `GET`
753
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds`
754
+
755
+ #### hosting_createNode.jsBuildFromArchiveV1
756
+
757
+ Upload a project archive, auto-detect build settings, and immediately start a Node.js build.
758
+
759
+ This is the recommended single-step approach for deploying a Node.js application.
760
+ The archive is uploaded to the website's file storage, build settings are auto-detected
761
+ from the package.json inside the archive, and the build process starts automatically.
762
+ Optional override fields take precedence over auto-detected values.
763
+ Maximum archive size is 50MB.
764
+
765
+ Before archiving, exclude `node_modules/` and any build output directories
766
+ (e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build
767
+ process runs the install step automatically, and including them unnecessarily
768
+ increases the archive size. This also helps keep the archive well under the 50MB limit.
769
+
770
+ Example (zip):
771
+ ```
772
+ zip -r archive.zip . --exclude "node_modules/*" --exclude "dist/*"
773
+ ```
774
+
775
+ The returned build `uuid` can be used to poll progress and retrieve logs via
776
+ the `Get Node.js Build Logs` endpoint.
777
+
778
+ - **Method**: `POST`
779
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/from-archive`
780
+
781
+ #### hosting_getNode.jsBuildLogsV1
782
+
783
+ Retrieve logs from a specific Node.js build process.
784
+
785
+ To stream live output while a build is running, poll this endpoint repeatedly
786
+ while the build state is `running`, passing the previously returned `lines` count
787
+ as `from_line` to fetch only new output since the last call.
788
+ Log content may contain ANSI escape sequences (color codes).
789
+
790
+ - **Method**: `GET`
791
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/{uuid}/logs`
792
+
714
793
  #### hosting_listOrdersV1
715
794
 
716
795
  Retrieve a paginated list of orders accessible to the authenticated client.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "description": "MCP server for Hostinger API",
5
5
  "repository": {
6
6
  "type": "git",
@@ -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.17.0
32
+ * Generated from OpenAPI spec version 0.18.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.17.0
50
+ * Generated from OpenAPI spec version 0.18.0
51
51
  */
52
52
  class MCPServer {
53
53
  private readonly name: string;
@@ -1287,6 +1287,40 @@ export default [
1287
1287
  ],
1288
1288
  "group": "domains"
1289
1289
  },
1290
+ {
1291
+ "name": "hosting_changeDatabasePasswordV1",
1292
+ "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.",
1293
+ "method": "PATCH",
1294
+ "path": "/api/hosting/v1/accounts/{username}/databases/{name}/change-password",
1295
+ "inputSchema": {
1296
+ "type": "object",
1297
+ "properties": {
1298
+ "username": {
1299
+ "type": "string",
1300
+ "description": "username parameter"
1301
+ },
1302
+ "name": {
1303
+ "type": "string",
1304
+ "description": "Full database name as returned by the list databases endpoint."
1305
+ },
1306
+ "password": {
1307
+ "type": "string",
1308
+ "description": "New database user password."
1309
+ }
1310
+ },
1311
+ "required": [
1312
+ "username",
1313
+ "name",
1314
+ "password"
1315
+ ]
1316
+ },
1317
+ "security": [
1318
+ {
1319
+ "apiToken": []
1320
+ }
1321
+ ],
1322
+ "group": "hosting"
1323
+ },
1290
1324
  {
1291
1325
  "name": "hosting_listAccountDatabasesV1",
1292
1326
  "description": "Returns a paginated list of databases for the specified account.\n\nUse the domain and is_assigned filters to find databases assigned to a specific domain.",
@@ -1404,6 +1438,64 @@ export default [
1404
1438
  ],
1405
1439
  "group": "hosting"
1406
1440
  },
1441
+ {
1442
+ "name": "hosting_repairDatabaseV1",
1443
+ "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.",
1444
+ "method": "PATCH",
1445
+ "path": "/api/hosting/v1/accounts/{username}/databases/{name}/repair",
1446
+ "inputSchema": {
1447
+ "type": "object",
1448
+ "properties": {
1449
+ "username": {
1450
+ "type": "string",
1451
+ "description": "username parameter"
1452
+ },
1453
+ "name": {
1454
+ "type": "string",
1455
+ "description": "Full database name as returned by the list databases endpoint."
1456
+ }
1457
+ },
1458
+ "required": [
1459
+ "username",
1460
+ "name"
1461
+ ]
1462
+ },
1463
+ "security": [
1464
+ {
1465
+ "apiToken": []
1466
+ }
1467
+ ],
1468
+ "group": "hosting"
1469
+ },
1470
+ {
1471
+ "name": "hosting_getPhpMyAdminLinkV1",
1472
+ "description": "Returns a direct sign-on link to phpMyAdmin for the specified database.\n\nUse this when a visual database interface is needed for SQL queries, imports, exports, or table management.\nThe database name must be the full name returned by the list databases endpoint.",
1473
+ "method": "GET",
1474
+ "path": "/api/hosting/v1/accounts/{username}/databases/{name}/phpmyadmin-link",
1475
+ "inputSchema": {
1476
+ "type": "object",
1477
+ "properties": {
1478
+ "username": {
1479
+ "type": "string",
1480
+ "description": "username parameter"
1481
+ },
1482
+ "name": {
1483
+ "type": "string",
1484
+ "description": "Full database name as returned by the list databases endpoint."
1485
+ }
1486
+ },
1487
+ "required": [
1488
+ "username",
1489
+ "name"
1490
+ ]
1491
+ },
1492
+ "security": [
1493
+ {
1494
+ "apiToken": []
1495
+ }
1496
+ ],
1497
+ "group": "hosting"
1498
+ },
1407
1499
  {
1408
1500
  "name": "hosting_listAvailableDatacentersV1",
1409
1501
  "description": "Retrieve a list of datacenters available for setting up hosting plans\nbased on available datacenter capacity and hosting plan of your order.\nThe first item in the list is the best match for your specific order\nrequirements.",
@@ -1671,6 +1763,179 @@ export default [
1671
1763
  ],
1672
1764
  "group": "hosting"
1673
1765
  },
1766
+ {
1767
+ "name": "hosting_listNode.jsBuildsV1",
1768
+ "description": "Retrieve a paginated list of Node.js build processes for a specific website.\n\nEach build represents a single run of the Node.js build pipeline. Use the `states`\nquery parameter to filter results by build state (pending, running, completed, failed).\nUse the `uuid` from a build to poll its output via the `Get Node.js Build Logs` endpoint.",
1769
+ "method": "GET",
1770
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds",
1771
+ "inputSchema": {
1772
+ "type": "object",
1773
+ "properties": {
1774
+ "username": {
1775
+ "type": "string",
1776
+ "description": "username parameter"
1777
+ },
1778
+ "domain": {
1779
+ "type": "string",
1780
+ "description": "Domain name"
1781
+ },
1782
+ "page": {
1783
+ "type": "integer",
1784
+ "description": "Page number"
1785
+ },
1786
+ "per_page": {
1787
+ "type": "integer",
1788
+ "description": "Number of items per page"
1789
+ },
1790
+ "states": {
1791
+ "type": "array",
1792
+ "description": "Build states to filter by",
1793
+ "items": {
1794
+ "type": "string",
1795
+ "description": "states parameter",
1796
+ "enum": [
1797
+ "pending",
1798
+ "running",
1799
+ "completed",
1800
+ "failed"
1801
+ ]
1802
+ }
1803
+ }
1804
+ },
1805
+ "required": [
1806
+ "username",
1807
+ "domain"
1808
+ ]
1809
+ },
1810
+ "security": [
1811
+ {
1812
+ "apiToken": []
1813
+ }
1814
+ ],
1815
+ "group": "hosting"
1816
+ },
1817
+ {
1818
+ "name": "hosting_createNode.jsBuildFromArchiveV1",
1819
+ "description": "Upload a project archive, auto-detect build settings, and immediately start a Node.js build.\n\nThis is the recommended single-step approach for deploying a Node.js application.\nThe archive is uploaded to the website's file storage, build settings are auto-detected\nfrom the package.json inside the archive, and the build process starts automatically.\nOptional override fields take precedence over auto-detected values.\nMaximum archive size is 50MB.\n\nBefore archiving, exclude `node_modules/` and any build output directories\n(e.g. `dist/`, `.next/`, `build/`) — they are not needed because the build\nprocess runs the install step automatically, and including them unnecessarily\nincreases the archive size. This also helps keep the archive well under the 50MB limit.\n\nExample (zip):\n```\nzip -r archive.zip . --exclude \"node_modules/*\" --exclude \"dist/*\"\n```\n\nThe returned build `uuid` can be used to poll progress and retrieve logs via\nthe `Get Node.js Build Logs` endpoint.",
1820
+ "method": "POST",
1821
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/from-archive",
1822
+ "inputSchema": {
1823
+ "type": "object",
1824
+ "properties": {
1825
+ "username": {
1826
+ "type": "string",
1827
+ "description": "username parameter"
1828
+ },
1829
+ "domain": {
1830
+ "type": "string",
1831
+ "description": "Domain name"
1832
+ },
1833
+ "archive": {
1834
+ "type": "string",
1835
+ "description": "Project archive file (.zip, .tar.gz, or .tgz), maximum 50MB"
1836
+ },
1837
+ "node_version": {
1838
+ "type": "integer",
1839
+ "description": "Node.js version override (auto-detected from package.json if omitted)",
1840
+ "enum": [
1841
+ 18,
1842
+ 20,
1843
+ 22,
1844
+ 24
1845
+ ]
1846
+ },
1847
+ "app_type": {
1848
+ "type": "string",
1849
+ "description": "Node.js application type override",
1850
+ "enum": [
1851
+ "create-react-app",
1852
+ "vite",
1853
+ "angular",
1854
+ "react",
1855
+ "vue",
1856
+ "parcel",
1857
+ "express",
1858
+ "fastify",
1859
+ "nest"
1860
+ ]
1861
+ },
1862
+ "root_directory": {
1863
+ "type": "string",
1864
+ "description": "Application root directory override (where package.json is located) relative to public_html"
1865
+ },
1866
+ "output_directory": {
1867
+ "type": "string",
1868
+ "description": "Build output directory override relative to the root directory"
1869
+ },
1870
+ "build_script": {
1871
+ "type": "string",
1872
+ "description": "Build script override"
1873
+ },
1874
+ "entry_file": {
1875
+ "type": "string",
1876
+ "description": "Main entry point file override"
1877
+ },
1878
+ "package_manager": {
1879
+ "type": "string",
1880
+ "description": "Package manager override",
1881
+ "enum": [
1882
+ "npm",
1883
+ "yarn",
1884
+ "pnpm"
1885
+ ]
1886
+ }
1887
+ },
1888
+ "required": [
1889
+ "username",
1890
+ "domain",
1891
+ "archive"
1892
+ ]
1893
+ },
1894
+ "security": [
1895
+ {
1896
+ "apiToken": []
1897
+ }
1898
+ ],
1899
+ "group": "hosting"
1900
+ },
1901
+ {
1902
+ "name": "hosting_getNode.jsBuildLogsV1",
1903
+ "description": "Retrieve logs from a specific Node.js build process.\n\nTo stream live output while a build is running, poll this endpoint repeatedly\nwhile the build state is `running`, passing the previously returned `lines` count\nas `from_line` to fetch only new output since the last call.\nLog content may contain ANSI escape sequences (color codes).",
1904
+ "method": "GET",
1905
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/nodejs/builds/{uuid}/logs",
1906
+ "inputSchema": {
1907
+ "type": "object",
1908
+ "properties": {
1909
+ "username": {
1910
+ "type": "string",
1911
+ "description": "username parameter"
1912
+ },
1913
+ "domain": {
1914
+ "type": "string",
1915
+ "description": "Domain name"
1916
+ },
1917
+ "uuid": {
1918
+ "type": "string",
1919
+ "description": "Build UUID"
1920
+ },
1921
+ "from_line": {
1922
+ "type": "integer",
1923
+ "description": "Line from which to start retrieving logs"
1924
+ }
1925
+ },
1926
+ "required": [
1927
+ "username",
1928
+ "domain",
1929
+ "uuid"
1930
+ ]
1931
+ },
1932
+ "security": [
1933
+ {
1934
+ "apiToken": []
1935
+ }
1936
+ ],
1937
+ "group": "hosting"
1938
+ },
1674
1939
  {
1675
1940
  "name": "hosting_listOrdersV1",
1676
1941
  "description": "Retrieve a paginated list of orders accessible to the authenticated client.\n\nThis endpoint returns orders of your hosting accounts as well as orders\nof other client hosting accounts that have shared access with you.\n\nUse the available query parameters to filter results by order statuses\nor specific order IDs for more targeted results.",