hostinger-api-mcp 0.2.2 → 0.2.4

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 (118 total)
52
+ - `hostinger-api-mcp` — unified server with every tool (127 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` — 13 tools for hosting
56
+ - `hostinger-hosting-mcp` — 22 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,33 @@ Retrieve logs for a specified JavaScript application deployment for debugging pu
593
593
  - **Method**: `custom`
594
594
  - **Path**: `custom`
595
595
 
596
+ #### hosting_listAccountDatabasesV1
597
+
598
+ Returns a paginated list of databases for the specified account.
599
+
600
+ Use the domain and is_assigned filters to find databases assigned to a specific domain.
601
+
602
+ - **Method**: `GET`
603
+ - **Path**: `/api/hosting/v1/accounts/{username}/databases`
604
+
605
+ #### hosting_createAccountDatabaseV1
606
+
607
+ Creates a database with a database user and password for the specified account.
608
+
609
+ The database name and user are automatically prefixed with the account username when needed.
610
+
611
+ - **Method**: `POST`
612
+ - **Path**: `/api/hosting/v1/accounts/{username}/databases`
613
+
614
+ #### hosting_deleteAccountDatabaseV1
615
+
616
+ Permanently deletes a database and its remote connections.
617
+
618
+ The database name must be the full name returned by the list databases endpoint.
619
+
620
+ - **Method**: `DELETE`
621
+ - **Path**: `/api/hosting/v1/accounts/{username}/databases/{name}`
622
+
596
623
  #### hosting_listAvailableDatacentersV1
597
624
 
598
625
  Retrieve a list of datacenters available for setting up hosting plans
@@ -612,6 +639,64 @@ and you can always connect a custom domain to your site later.
612
639
  - **Method**: `POST`
613
640
  - **Path**: `/api/hosting/v1/domains/free-subdomains`
614
641
 
642
+ #### hosting_listWebsiteParkedDomainsV1
643
+
644
+ Retrieve all parked or alias domains created under the selected website.
645
+
646
+ Use this endpoint to inspect parked domain configuration for a specific website,
647
+ including the parent domain and root directory assigned to each parked domain.
648
+
649
+ - **Method**: `GET`
650
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/parked-domains`
651
+
652
+ #### hosting_createWebsiteParkedDomainV1
653
+
654
+ Create a parked or alias domain for the selected website.
655
+
656
+ Provide a domain name or IP address to park on the website so it serves the same content
657
+ as the parent domain.
658
+
659
+ - **Method**: `POST`
660
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/parked-domains`
661
+
662
+ #### hosting_deleteWebsiteParkedDomainV1
663
+
664
+ Delete an existing parked or alias domain from the selected website.
665
+
666
+ Use this endpoint to remove parked domains that are no longer needed.
667
+
668
+ - **Method**: `DELETE`
669
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/parked-domains/{parkedDomain}`
670
+
671
+ #### hosting_listWebsiteSubdomainsV1
672
+
673
+ Retrieve all subdomains created under the selected website.
674
+
675
+ Use this endpoint to inspect subdomain configuration for a specific website,
676
+ including the parent domain and root directory assigned to each subdomain.
677
+
678
+ - **Method**: `GET`
679
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/subdomains`
680
+
681
+ #### hosting_createWebsiteSubdomainV1
682
+
683
+ Create a new subdomain for the selected website.
684
+
685
+ Provide a subdomain prefix and, optionally, a custom directory or the
686
+ website public directory to use as the subdomain root.
687
+
688
+ - **Method**: `POST`
689
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/subdomains`
690
+
691
+ #### hosting_deleteWebsiteSubdomainV1
692
+
693
+ Delete an existing subdomain from the selected website.
694
+
695
+ Use this endpoint to remove subdomains that are no longer needed.
696
+
697
+ - **Method**: `DELETE`
698
+ - **Path**: `/api/hosting/v1/accounts/{username}/websites/{domain}/subdomains/{subdomain}`
699
+
615
700
  #### hosting_verifyDomainOwnershipV1
616
701
 
617
702
  Verify ownership of a single domain and return the verification status.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
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.12.0
32
+ * Generated from OpenAPI spec version 0.16.1
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.12.0
50
+ * Generated from OpenAPI spec version 0.16.1
51
51
  */
52
52
  class MCPServer {
53
53
  private readonly name: string;
@@ -1287,6 +1287,123 @@ export default [
1287
1287
  ],
1288
1288
  "group": "domains"
1289
1289
  },
1290
+ {
1291
+ "name": "hosting_listAccountDatabasesV1",
1292
+ "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.",
1293
+ "method": "GET",
1294
+ "path": "/api/hosting/v1/accounts/{username}/databases",
1295
+ "inputSchema": {
1296
+ "type": "object",
1297
+ "properties": {
1298
+ "username": {
1299
+ "type": "string",
1300
+ "description": "username parameter"
1301
+ },
1302
+ "page": {
1303
+ "type": "integer",
1304
+ "description": "Page number"
1305
+ },
1306
+ "per_page": {
1307
+ "type": "integer",
1308
+ "description": "Number of items per page"
1309
+ },
1310
+ "domain": {
1311
+ "type": "string",
1312
+ "description": "Filter by domain name (exact match)"
1313
+ },
1314
+ "is_assigned": {
1315
+ "type": "boolean",
1316
+ "description": "When used with domain, return only databases assigned to that domain."
1317
+ },
1318
+ "search": {
1319
+ "type": "string",
1320
+ "description": "Search databases by name, user, or creation date."
1321
+ }
1322
+ },
1323
+ "required": [
1324
+ "username"
1325
+ ]
1326
+ },
1327
+ "security": [
1328
+ {
1329
+ "apiToken": []
1330
+ }
1331
+ ],
1332
+ "group": "hosting"
1333
+ },
1334
+ {
1335
+ "name": "hosting_createAccountDatabaseV1",
1336
+ "description": "Creates a database with a database user and password for the specified account.\n\nThe database name and user are automatically prefixed with the account username when needed.",
1337
+ "method": "POST",
1338
+ "path": "/api/hosting/v1/accounts/{username}/databases",
1339
+ "inputSchema": {
1340
+ "type": "object",
1341
+ "properties": {
1342
+ "username": {
1343
+ "type": "string",
1344
+ "description": "username parameter"
1345
+ },
1346
+ "name": {
1347
+ "type": "string",
1348
+ "description": "Database name. If the account username prefix is omitted, it is added automatically."
1349
+ },
1350
+ "user": {
1351
+ "type": "string",
1352
+ "description": "Database user. If the account username prefix is omitted, it is added automatically."
1353
+ },
1354
+ "password": {
1355
+ "type": "string",
1356
+ "description": "Database user password."
1357
+ },
1358
+ "website_domain": {
1359
+ "type": "string",
1360
+ "description": "Website domain assigned to the database."
1361
+ }
1362
+ },
1363
+ "required": [
1364
+ "username",
1365
+ "name",
1366
+ "user",
1367
+ "password",
1368
+ "website_domain"
1369
+ ]
1370
+ },
1371
+ "security": [
1372
+ {
1373
+ "apiToken": []
1374
+ }
1375
+ ],
1376
+ "group": "hosting"
1377
+ },
1378
+ {
1379
+ "name": "hosting_deleteAccountDatabaseV1",
1380
+ "description": "Permanently deletes a database and its remote connections.\n\nThe database name must be the full name returned by the list databases endpoint.",
1381
+ "method": "DELETE",
1382
+ "path": "/api/hosting/v1/accounts/{username}/databases/{name}",
1383
+ "inputSchema": {
1384
+ "type": "object",
1385
+ "properties": {
1386
+ "username": {
1387
+ "type": "string",
1388
+ "description": "username parameter"
1389
+ },
1390
+ "name": {
1391
+ "type": "string",
1392
+ "description": "Full database name as returned by the list databases endpoint."
1393
+ }
1394
+ },
1395
+ "required": [
1396
+ "username",
1397
+ "name"
1398
+ ]
1399
+ },
1400
+ "security": [
1401
+ {
1402
+ "apiToken": []
1403
+ }
1404
+ ],
1405
+ "group": "hosting"
1406
+ },
1290
1407
  {
1291
1408
  "name": "hosting_listAvailableDatacentersV1",
1292
1409
  "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.",
@@ -1328,6 +1445,208 @@ export default [
1328
1445
  ],
1329
1446
  "group": "hosting"
1330
1447
  },
1448
+ {
1449
+ "name": "hosting_listWebsiteParkedDomainsV1",
1450
+ "description": "Retrieve all parked or alias domains created under the selected website.\n\nUse this endpoint to inspect parked domain configuration for a specific website,\nincluding the parent domain and root directory assigned to each parked domain.",
1451
+ "method": "GET",
1452
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/parked-domains",
1453
+ "inputSchema": {
1454
+ "type": "object",
1455
+ "properties": {
1456
+ "username": {
1457
+ "type": "string",
1458
+ "description": "username parameter"
1459
+ },
1460
+ "domain": {
1461
+ "type": "string",
1462
+ "description": "Domain name"
1463
+ }
1464
+ },
1465
+ "required": [
1466
+ "username",
1467
+ "domain"
1468
+ ]
1469
+ },
1470
+ "security": [
1471
+ {
1472
+ "apiToken": []
1473
+ }
1474
+ ],
1475
+ "group": "hosting"
1476
+ },
1477
+ {
1478
+ "name": "hosting_createWebsiteParkedDomainV1",
1479
+ "description": "Create a parked or alias domain for the selected website.\n\nProvide a domain name or IP address to park on the website so it serves the same content\nas the parent domain.",
1480
+ "method": "POST",
1481
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/parked-domains",
1482
+ "inputSchema": {
1483
+ "type": "object",
1484
+ "properties": {
1485
+ "username": {
1486
+ "type": "string",
1487
+ "description": "username parameter"
1488
+ },
1489
+ "domain": {
1490
+ "type": "string",
1491
+ "description": "Domain name"
1492
+ },
1493
+ "parked_domain": {
1494
+ "type": "string",
1495
+ "description": "Domain name or IP address to park on the selected website"
1496
+ }
1497
+ },
1498
+ "required": [
1499
+ "username",
1500
+ "domain",
1501
+ "parked_domain"
1502
+ ]
1503
+ },
1504
+ "security": [
1505
+ {
1506
+ "apiToken": []
1507
+ }
1508
+ ],
1509
+ "group": "hosting"
1510
+ },
1511
+ {
1512
+ "name": "hosting_deleteWebsiteParkedDomainV1",
1513
+ "description": "Delete an existing parked or alias domain from the selected website.\n\nUse this endpoint to remove parked domains that are no longer needed.",
1514
+ "method": "DELETE",
1515
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/parked-domains/{parkedDomain}",
1516
+ "inputSchema": {
1517
+ "type": "object",
1518
+ "properties": {
1519
+ "username": {
1520
+ "type": "string",
1521
+ "description": "username parameter"
1522
+ },
1523
+ "domain": {
1524
+ "type": "string",
1525
+ "description": "Domain name"
1526
+ },
1527
+ "parkedDomain": {
1528
+ "type": "string",
1529
+ "description": "parkedDomain parameter"
1530
+ }
1531
+ },
1532
+ "required": [
1533
+ "username",
1534
+ "domain",
1535
+ "parkedDomain"
1536
+ ]
1537
+ },
1538
+ "security": [
1539
+ {
1540
+ "apiToken": []
1541
+ }
1542
+ ],
1543
+ "group": "hosting"
1544
+ },
1545
+ {
1546
+ "name": "hosting_listWebsiteSubdomainsV1",
1547
+ "description": "Retrieve all subdomains created under the selected website.\n\nUse this endpoint to inspect subdomain configuration for a specific website,\nincluding the parent domain and root directory assigned to each subdomain.",
1548
+ "method": "GET",
1549
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/subdomains",
1550
+ "inputSchema": {
1551
+ "type": "object",
1552
+ "properties": {
1553
+ "username": {
1554
+ "type": "string",
1555
+ "description": "username parameter"
1556
+ },
1557
+ "domain": {
1558
+ "type": "string",
1559
+ "description": "Domain name"
1560
+ }
1561
+ },
1562
+ "required": [
1563
+ "username",
1564
+ "domain"
1565
+ ]
1566
+ },
1567
+ "security": [
1568
+ {
1569
+ "apiToken": []
1570
+ }
1571
+ ],
1572
+ "group": "hosting"
1573
+ },
1574
+ {
1575
+ "name": "hosting_createWebsiteSubdomainV1",
1576
+ "description": "Create a new subdomain for the selected website.\n\nProvide a subdomain prefix and, optionally, a custom directory or the\nwebsite public directory to use as the subdomain root.",
1577
+ "method": "POST",
1578
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/subdomains",
1579
+ "inputSchema": {
1580
+ "type": "object",
1581
+ "properties": {
1582
+ "username": {
1583
+ "type": "string",
1584
+ "description": "username parameter"
1585
+ },
1586
+ "domain": {
1587
+ "type": "string",
1588
+ "description": "Domain name"
1589
+ },
1590
+ "subdomain": {
1591
+ "type": "string",
1592
+ "description": "Subdomain prefix to create under the selected website"
1593
+ },
1594
+ "directory": {
1595
+ "type": "string",
1596
+ "description": "Directory name for the subdomain relative to the website root"
1597
+ },
1598
+ "is_using_public_directory": {
1599
+ "type": "boolean",
1600
+ "description": "Use the website public directory as the subdomain root directory"
1601
+ }
1602
+ },
1603
+ "required": [
1604
+ "username",
1605
+ "domain",
1606
+ "subdomain"
1607
+ ]
1608
+ },
1609
+ "security": [
1610
+ {
1611
+ "apiToken": []
1612
+ }
1613
+ ],
1614
+ "group": "hosting"
1615
+ },
1616
+ {
1617
+ "name": "hosting_deleteWebsiteSubdomainV1",
1618
+ "description": "Delete an existing subdomain from the selected website.\n\nUse this endpoint to remove subdomains that are no longer needed.",
1619
+ "method": "DELETE",
1620
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/subdomains/{subdomain}",
1621
+ "inputSchema": {
1622
+ "type": "object",
1623
+ "properties": {
1624
+ "username": {
1625
+ "type": "string",
1626
+ "description": "username parameter"
1627
+ },
1628
+ "domain": {
1629
+ "type": "string",
1630
+ "description": "Domain name"
1631
+ },
1632
+ "subdomain": {
1633
+ "type": "string",
1634
+ "description": "subdomain parameter"
1635
+ }
1636
+ },
1637
+ "required": [
1638
+ "username",
1639
+ "domain",
1640
+ "subdomain"
1641
+ ]
1642
+ },
1643
+ "security": [
1644
+ {
1645
+ "apiToken": []
1646
+ }
1647
+ ],
1648
+ "group": "hosting"
1649
+ },
1331
1650
  {
1332
1651
  "name": "hosting_verifyDomainOwnershipV1",
1333
1652
  "description": "Verify ownership of a single domain and return the verification status.\n\nUse this endpoint to check if a domain is accessible for you before using it for new websites.\nIf the domain is accessible, the response will have `is_accessible: true`.\nIf not, add the given TXT record to your domain's DNS records and try verifying again.\nKeep in mind that it may take up to 10 minutes for new TXT DNS records to propagate.\n\nSkip this verification when using Hostinger's free subdomains (*.hostingersite.com).",