hostinger-api-mcp 0.2.3 → 0.2.5

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.
@@ -257,6 +257,123 @@ export default [
257
257
  "handlerMethod": "handleShowJsDeploymentLogs",
258
258
  "group": "hosting"
259
259
  },
260
+ {
261
+ "name": "hosting_listAccountDatabasesV1",
262
+ "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.",
263
+ "method": "GET",
264
+ "path": "/api/hosting/v1/accounts/{username}/databases",
265
+ "inputSchema": {
266
+ "type": "object",
267
+ "properties": {
268
+ "username": {
269
+ "type": "string",
270
+ "description": "username parameter"
271
+ },
272
+ "page": {
273
+ "type": "integer",
274
+ "description": "Page number"
275
+ },
276
+ "per_page": {
277
+ "type": "integer",
278
+ "description": "Number of items per page"
279
+ },
280
+ "domain": {
281
+ "type": "string",
282
+ "description": "Filter by domain name (exact match)"
283
+ },
284
+ "is_assigned": {
285
+ "type": "boolean",
286
+ "description": "When used with domain, return only databases assigned to that domain."
287
+ },
288
+ "search": {
289
+ "type": "string",
290
+ "description": "Search databases by name, user, or creation date."
291
+ }
292
+ },
293
+ "required": [
294
+ "username"
295
+ ]
296
+ },
297
+ "security": [
298
+ {
299
+ "apiToken": []
300
+ }
301
+ ],
302
+ "group": "hosting"
303
+ },
304
+ {
305
+ "name": "hosting_createAccountDatabaseV1",
306
+ "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.",
307
+ "method": "POST",
308
+ "path": "/api/hosting/v1/accounts/{username}/databases",
309
+ "inputSchema": {
310
+ "type": "object",
311
+ "properties": {
312
+ "username": {
313
+ "type": "string",
314
+ "description": "username parameter"
315
+ },
316
+ "name": {
317
+ "type": "string",
318
+ "description": "Database name. If the account username prefix is omitted, it is added automatically."
319
+ },
320
+ "user": {
321
+ "type": "string",
322
+ "description": "Database user. If the account username prefix is omitted, it is added automatically."
323
+ },
324
+ "password": {
325
+ "type": "string",
326
+ "description": "Database user password."
327
+ },
328
+ "website_domain": {
329
+ "type": "string",
330
+ "description": "Website domain assigned to the database."
331
+ }
332
+ },
333
+ "required": [
334
+ "username",
335
+ "name",
336
+ "user",
337
+ "password",
338
+ "website_domain"
339
+ ]
340
+ },
341
+ "security": [
342
+ {
343
+ "apiToken": []
344
+ }
345
+ ],
346
+ "group": "hosting"
347
+ },
348
+ {
349
+ "name": "hosting_deleteAccountDatabaseV1",
350
+ "description": "Permanently deletes a database and its remote connections.\n\nThe database name must be the full name returned by the list databases endpoint.",
351
+ "method": "DELETE",
352
+ "path": "/api/hosting/v1/accounts/{username}/databases/{name}",
353
+ "inputSchema": {
354
+ "type": "object",
355
+ "properties": {
356
+ "username": {
357
+ "type": "string",
358
+ "description": "username parameter"
359
+ },
360
+ "name": {
361
+ "type": "string",
362
+ "description": "Full database name as returned by the list databases endpoint."
363
+ }
364
+ },
365
+ "required": [
366
+ "username",
367
+ "name"
368
+ ]
369
+ },
370
+ "security": [
371
+ {
372
+ "apiToken": []
373
+ }
374
+ ],
375
+ "group": "hosting"
376
+ },
260
377
  {
261
378
  "name": "hosting_listAvailableDatacentersV1",
262
379
  "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.",
@@ -298,6 +415,103 @@ export default [
298
415
  ],
299
416
  "group": "hosting"
300
417
  },
418
+ {
419
+ "name": "hosting_listWebsiteParkedDomainsV1",
420
+ "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.",
421
+ "method": "GET",
422
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/parked-domains",
423
+ "inputSchema": {
424
+ "type": "object",
425
+ "properties": {
426
+ "username": {
427
+ "type": "string",
428
+ "description": "username parameter"
429
+ },
430
+ "domain": {
431
+ "type": "string",
432
+ "description": "Domain name"
433
+ }
434
+ },
435
+ "required": [
436
+ "username",
437
+ "domain"
438
+ ]
439
+ },
440
+ "security": [
441
+ {
442
+ "apiToken": []
443
+ }
444
+ ],
445
+ "group": "hosting"
446
+ },
447
+ {
448
+ "name": "hosting_createWebsiteParkedDomainV1",
449
+ "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.",
450
+ "method": "POST",
451
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/parked-domains",
452
+ "inputSchema": {
453
+ "type": "object",
454
+ "properties": {
455
+ "username": {
456
+ "type": "string",
457
+ "description": "username parameter"
458
+ },
459
+ "domain": {
460
+ "type": "string",
461
+ "description": "Domain name"
462
+ },
463
+ "parked_domain": {
464
+ "type": "string",
465
+ "description": "Domain name or IP address to park on the selected website"
466
+ }
467
+ },
468
+ "required": [
469
+ "username",
470
+ "domain",
471
+ "parked_domain"
472
+ ]
473
+ },
474
+ "security": [
475
+ {
476
+ "apiToken": []
477
+ }
478
+ ],
479
+ "group": "hosting"
480
+ },
481
+ {
482
+ "name": "hosting_deleteWebsiteParkedDomainV1",
483
+ "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.",
484
+ "method": "DELETE",
485
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/parked-domains/{parkedDomain}",
486
+ "inputSchema": {
487
+ "type": "object",
488
+ "properties": {
489
+ "username": {
490
+ "type": "string",
491
+ "description": "username parameter"
492
+ },
493
+ "domain": {
494
+ "type": "string",
495
+ "description": "Domain name"
496
+ },
497
+ "parkedDomain": {
498
+ "type": "string",
499
+ "description": "parkedDomain parameter"
500
+ }
501
+ },
502
+ "required": [
503
+ "username",
504
+ "domain",
505
+ "parkedDomain"
506
+ ]
507
+ },
508
+ "security": [
509
+ {
510
+ "apiToken": []
511
+ }
512
+ ],
513
+ "group": "hosting"
514
+ },
301
515
  {
302
516
  "name": "hosting_listWebsiteSubdomainsV1",
303
517
  "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.",
@@ -549,5 +763,137 @@ export default [
549
763
  }
550
764
  ],
551
765
  "group": "hosting"
766
+ },
767
+ {
768
+ "name": "hosting_installWordPressV1",
769
+ "description": "Install WordPress on an existing website.\n\nThe website must already exist before calling this endpoint. To create a new\nwebsite first, use POST /api/hosting/v1/websites and poll\nGET /api/hosting/v1/websites until it appears.\n\nCall GET /api/hosting/v1/wordpress/installations filtered by username and\ndomain before proceeding to check whether WordPress is already installed on\nthe target domain/path. If WordPress already exists and `overwrite` is false\n(the default), the async job will fail.\n\nThis operation is asynchronous: a successful response only means the install\njob has been queued, not that WordPress is ready. Installation typically\ntakes 1-2 minutes. Poll GET /api/hosting/v1/wordpress/installations filtered\nby username and domain to track progress. When the installation appears in\nthat list, WordPress is ready.",
770
+ "method": "POST",
771
+ "path": "/api/hosting/v1/accounts/{username}/wordpress/installations",
772
+ "inputSchema": {
773
+ "type": "object",
774
+ "properties": {
775
+ "username": {
776
+ "type": "string",
777
+ "description": "username parameter"
778
+ },
779
+ "domain": {
780
+ "type": "string",
781
+ "description": "Domain of the existing website where WordPress will be installed"
782
+ },
783
+ "site_title": {
784
+ "type": "string",
785
+ "description": "Title of the WordPress site"
786
+ },
787
+ "language": {
788
+ "type": "string",
789
+ "description": "WordPress locale. Defaults to en_US when omitted."
790
+ },
791
+ "directory": {
792
+ "type": "string",
793
+ "description": "Relative directory to install WordPress into. Defaults to the website root when omitted."
794
+ },
795
+ "overwrite": {
796
+ "type": "boolean",
797
+ "description": "When false (default), does not replace an existing installation. If WordPress is already installed on the domain/path, the async install job fails unless true."
798
+ },
799
+ "auto_updates": {
800
+ "type": "string",
801
+ "description": "WordPress core auto-update policy",
802
+ "enum": [
803
+ "all",
804
+ "none",
805
+ "minor"
806
+ ]
807
+ },
808
+ "version": {
809
+ "type": "string",
810
+ "description": "WordPress core version to install. If omitted, the latest core version compatible with the account vhost PHP version is selected."
811
+ },
812
+ "credentials": {
813
+ "type": "object",
814
+ "description": "WordPress admin credentials",
815
+ "properties": {
816
+ "email": {
817
+ "type": "string",
818
+ "description": "email parameter"
819
+ },
820
+ "login": {
821
+ "type": "string",
822
+ "description": "WordPress admin username"
823
+ },
824
+ "password": {
825
+ "type": "string",
826
+ "description": "password parameter"
827
+ }
828
+ },
829
+ "required": [
830
+ "email",
831
+ "login",
832
+ "password"
833
+ ]
834
+ },
835
+ "database": {
836
+ "type": "object",
837
+ "description": "Optional. If the named database already exists, it will be used for this WordPress install. Otherwise a new database is created with a generated name and random credentials.",
838
+ "properties": {
839
+ "name": {
840
+ "type": "string",
841
+ "description": "Database name (username prefix added if missing)"
842
+ },
843
+ "password": {
844
+ "type": "string",
845
+ "description": "password parameter"
846
+ }
847
+ }
848
+ }
849
+ },
850
+ "required": [
851
+ "username",
852
+ "domain",
853
+ "site_title",
854
+ "credentials"
855
+ ]
856
+ },
857
+ "security": [
858
+ {
859
+ "apiToken": []
860
+ }
861
+ ],
862
+ "group": "hosting"
863
+ },
864
+ {
865
+ "name": "hosting_listWordPressInstallationsV1",
866
+ "description": "List WordPress installations accessible to the authenticated client.\n\nUse this endpoint to discover existing WordPress installations and to poll\nfor installation status after calling the install endpoint. When a newly\nrequested installation appears in this list, WordPress is ready. Filter by\nusername and domain to narrow results to a specific website.\n\nEach installation includes a `valid` flag and, when invalid, a\n`validationError` describing why.",
867
+ "method": "GET",
868
+ "path": "/api/hosting/v1/wordpress/installations",
869
+ "inputSchema": {
870
+ "type": "object",
871
+ "properties": {
872
+ "username": {
873
+ "type": "string",
874
+ "description": "Filter by specific username"
875
+ },
876
+ "domain": {
877
+ "type": "string",
878
+ "description": "Filter by domain name (exact match)"
879
+ },
880
+ "ownership": {
881
+ "type": "string",
882
+ "description": "Filter by ownership type. Defaults to \"owned\". Use \"all\" to include both owned and managed installations.",
883
+ "enum": [
884
+ "owned",
885
+ "managed",
886
+ "all"
887
+ ]
888
+ }
889
+ },
890
+ "required": []
891
+ },
892
+ "security": [
893
+ {
894
+ "apiToken": []
895
+ }
896
+ ],
897
+ "group": "hosting"
552
898
  }
553
899
  ];