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.
@@ -267,6 +267,123 @@ const tools: OpenApiTool[] = [
267
267
  "handlerMethod": "handleShowJsDeploymentLogs",
268
268
  "group": "hosting"
269
269
  },
270
+ {
271
+ "name": "hosting_listAccountDatabasesV1",
272
+ "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.",
273
+ "method": "GET",
274
+ "path": "/api/hosting/v1/accounts/{username}/databases",
275
+ "inputSchema": {
276
+ "type": "object",
277
+ "properties": {
278
+ "username": {
279
+ "type": "string",
280
+ "description": "username parameter"
281
+ },
282
+ "page": {
283
+ "type": "integer",
284
+ "description": "Page number"
285
+ },
286
+ "per_page": {
287
+ "type": "integer",
288
+ "description": "Number of items per page"
289
+ },
290
+ "domain": {
291
+ "type": "string",
292
+ "description": "Filter by domain name (exact match)"
293
+ },
294
+ "is_assigned": {
295
+ "type": "boolean",
296
+ "description": "When used with domain, return only databases assigned to that domain."
297
+ },
298
+ "search": {
299
+ "type": "string",
300
+ "description": "Search databases by name, user, or creation date."
301
+ }
302
+ },
303
+ "required": [
304
+ "username"
305
+ ]
306
+ },
307
+ "security": [
308
+ {
309
+ "apiToken": []
310
+ }
311
+ ],
312
+ "group": "hosting"
313
+ },
314
+ {
315
+ "name": "hosting_createAccountDatabaseV1",
316
+ "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.",
317
+ "method": "POST",
318
+ "path": "/api/hosting/v1/accounts/{username}/databases",
319
+ "inputSchema": {
320
+ "type": "object",
321
+ "properties": {
322
+ "username": {
323
+ "type": "string",
324
+ "description": "username parameter"
325
+ },
326
+ "name": {
327
+ "type": "string",
328
+ "description": "Database name. If the account username prefix is omitted, it is added automatically."
329
+ },
330
+ "user": {
331
+ "type": "string",
332
+ "description": "Database user. If the account username prefix is omitted, it is added automatically."
333
+ },
334
+ "password": {
335
+ "type": "string",
336
+ "description": "Database user password."
337
+ },
338
+ "website_domain": {
339
+ "type": "string",
340
+ "description": "Website domain assigned to the database."
341
+ }
342
+ },
343
+ "required": [
344
+ "username",
345
+ "name",
346
+ "user",
347
+ "password",
348
+ "website_domain"
349
+ ]
350
+ },
351
+ "security": [
352
+ {
353
+ "apiToken": []
354
+ }
355
+ ],
356
+ "group": "hosting"
357
+ },
358
+ {
359
+ "name": "hosting_deleteAccountDatabaseV1",
360
+ "description": "Permanently deletes a database and its remote connections.\n\nThe database name must be the full name returned by the list databases endpoint.",
361
+ "method": "DELETE",
362
+ "path": "/api/hosting/v1/accounts/{username}/databases/{name}",
363
+ "inputSchema": {
364
+ "type": "object",
365
+ "properties": {
366
+ "username": {
367
+ "type": "string",
368
+ "description": "username parameter"
369
+ },
370
+ "name": {
371
+ "type": "string",
372
+ "description": "Full database name as returned by the list databases endpoint."
373
+ }
374
+ },
375
+ "required": [
376
+ "username",
377
+ "name"
378
+ ]
379
+ },
380
+ "security": [
381
+ {
382
+ "apiToken": []
383
+ }
384
+ ],
385
+ "group": "hosting"
386
+ },
270
387
  {
271
388
  "name": "hosting_listAvailableDatacentersV1",
272
389
  "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.",
@@ -308,6 +425,103 @@ const tools: OpenApiTool[] = [
308
425
  ],
309
426
  "group": "hosting"
310
427
  },
428
+ {
429
+ "name": "hosting_listWebsiteParkedDomainsV1",
430
+ "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.",
431
+ "method": "GET",
432
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/parked-domains",
433
+ "inputSchema": {
434
+ "type": "object",
435
+ "properties": {
436
+ "username": {
437
+ "type": "string",
438
+ "description": "username parameter"
439
+ },
440
+ "domain": {
441
+ "type": "string",
442
+ "description": "Domain name"
443
+ }
444
+ },
445
+ "required": [
446
+ "username",
447
+ "domain"
448
+ ]
449
+ },
450
+ "security": [
451
+ {
452
+ "apiToken": []
453
+ }
454
+ ],
455
+ "group": "hosting"
456
+ },
457
+ {
458
+ "name": "hosting_createWebsiteParkedDomainV1",
459
+ "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.",
460
+ "method": "POST",
461
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/parked-domains",
462
+ "inputSchema": {
463
+ "type": "object",
464
+ "properties": {
465
+ "username": {
466
+ "type": "string",
467
+ "description": "username parameter"
468
+ },
469
+ "domain": {
470
+ "type": "string",
471
+ "description": "Domain name"
472
+ },
473
+ "parked_domain": {
474
+ "type": "string",
475
+ "description": "Domain name or IP address to park on the selected website"
476
+ }
477
+ },
478
+ "required": [
479
+ "username",
480
+ "domain",
481
+ "parked_domain"
482
+ ]
483
+ },
484
+ "security": [
485
+ {
486
+ "apiToken": []
487
+ }
488
+ ],
489
+ "group": "hosting"
490
+ },
491
+ {
492
+ "name": "hosting_deleteWebsiteParkedDomainV1",
493
+ "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.",
494
+ "method": "DELETE",
495
+ "path": "/api/hosting/v1/accounts/{username}/websites/{domain}/parked-domains/{parkedDomain}",
496
+ "inputSchema": {
497
+ "type": "object",
498
+ "properties": {
499
+ "username": {
500
+ "type": "string",
501
+ "description": "username parameter"
502
+ },
503
+ "domain": {
504
+ "type": "string",
505
+ "description": "Domain name"
506
+ },
507
+ "parkedDomain": {
508
+ "type": "string",
509
+ "description": "parkedDomain parameter"
510
+ }
511
+ },
512
+ "required": [
513
+ "username",
514
+ "domain",
515
+ "parkedDomain"
516
+ ]
517
+ },
518
+ "security": [
519
+ {
520
+ "apiToken": []
521
+ }
522
+ ],
523
+ "group": "hosting"
524
+ },
311
525
  {
312
526
  "name": "hosting_listWebsiteSubdomainsV1",
313
527
  "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.",
@@ -559,6 +773,138 @@ const tools: OpenApiTool[] = [
559
773
  }
560
774
  ],
561
775
  "group": "hosting"
776
+ },
777
+ {
778
+ "name": "hosting_installWordPressV1",
779
+ "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.",
780
+ "method": "POST",
781
+ "path": "/api/hosting/v1/accounts/{username}/wordpress/installations",
782
+ "inputSchema": {
783
+ "type": "object",
784
+ "properties": {
785
+ "username": {
786
+ "type": "string",
787
+ "description": "username parameter"
788
+ },
789
+ "domain": {
790
+ "type": "string",
791
+ "description": "Domain of the existing website where WordPress will be installed"
792
+ },
793
+ "site_title": {
794
+ "type": "string",
795
+ "description": "Title of the WordPress site"
796
+ },
797
+ "language": {
798
+ "type": "string",
799
+ "description": "WordPress locale. Defaults to en_US when omitted."
800
+ },
801
+ "directory": {
802
+ "type": "string",
803
+ "description": "Relative directory to install WordPress into. Defaults to the website root when omitted."
804
+ },
805
+ "overwrite": {
806
+ "type": "boolean",
807
+ "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."
808
+ },
809
+ "auto_updates": {
810
+ "type": "string",
811
+ "description": "WordPress core auto-update policy",
812
+ "enum": [
813
+ "all",
814
+ "none",
815
+ "minor"
816
+ ]
817
+ },
818
+ "version": {
819
+ "type": "string",
820
+ "description": "WordPress core version to install. If omitted, the latest core version compatible with the account vhost PHP version is selected."
821
+ },
822
+ "credentials": {
823
+ "type": "object",
824
+ "description": "WordPress admin credentials",
825
+ "properties": {
826
+ "email": {
827
+ "type": "string",
828
+ "description": "email parameter"
829
+ },
830
+ "login": {
831
+ "type": "string",
832
+ "description": "WordPress admin username"
833
+ },
834
+ "password": {
835
+ "type": "string",
836
+ "description": "password parameter"
837
+ }
838
+ },
839
+ "required": [
840
+ "email",
841
+ "login",
842
+ "password"
843
+ ]
844
+ },
845
+ "database": {
846
+ "type": "object",
847
+ "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.",
848
+ "properties": {
849
+ "name": {
850
+ "type": "string",
851
+ "description": "Database name (username prefix added if missing)"
852
+ },
853
+ "password": {
854
+ "type": "string",
855
+ "description": "password parameter"
856
+ }
857
+ }
858
+ }
859
+ },
860
+ "required": [
861
+ "username",
862
+ "domain",
863
+ "site_title",
864
+ "credentials"
865
+ ]
866
+ },
867
+ "security": [
868
+ {
869
+ "apiToken": []
870
+ }
871
+ ],
872
+ "group": "hosting"
873
+ },
874
+ {
875
+ "name": "hosting_listWordPressInstallationsV1",
876
+ "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.",
877
+ "method": "GET",
878
+ "path": "/api/hosting/v1/wordpress/installations",
879
+ "inputSchema": {
880
+ "type": "object",
881
+ "properties": {
882
+ "username": {
883
+ "type": "string",
884
+ "description": "Filter by specific username"
885
+ },
886
+ "domain": {
887
+ "type": "string",
888
+ "description": "Filter by domain name (exact match)"
889
+ },
890
+ "ownership": {
891
+ "type": "string",
892
+ "description": "Filter by ownership type. Defaults to \"owned\". Use \"all\" to include both owned and managed installations.",
893
+ "enum": [
894
+ "owned",
895
+ "managed",
896
+ "all"
897
+ ]
898
+ }
899
+ },
900
+ "required": []
901
+ },
902
+ "security": [
903
+ {
904
+ "apiToken": []
905
+ }
906
+ ],
907
+ "group": "hosting"
562
908
  }
563
909
  ];
564
910
  export default tools;
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/all.js';
5
5
 
6
- startServer({ name: 'hostinger-api-mcp', version: '0.2.3', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '0.2.5', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/all.js';
5
5
 
6
- startServer({ name: 'hostinger-api-mcp', version: '0.2.3', tools });
6
+ startServer({ name: 'hostinger-api-mcp', version: '0.2.5', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/billing.js';
5
5
 
6
- startServer({ name: 'hostinger-billing-mcp', version: '0.2.3', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '0.2.5', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/billing.js';
5
5
 
6
- startServer({ name: 'hostinger-billing-mcp', version: '0.2.3', tools });
6
+ startServer({ name: 'hostinger-billing-mcp', version: '0.2.5', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/dns.js';
5
5
 
6
- startServer({ name: 'hostinger-dns-mcp', version: '0.2.3', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '0.2.5', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/dns.js';
5
5
 
6
- startServer({ name: 'hostinger-dns-mcp', version: '0.2.3', tools });
6
+ startServer({ name: 'hostinger-dns-mcp', version: '0.2.5', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/domains.js';
5
5
 
6
- startServer({ name: 'hostinger-domains-mcp', version: '0.2.3', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '0.2.5', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/domains.js';
5
5
 
6
- startServer({ name: 'hostinger-domains-mcp', version: '0.2.3', tools });
6
+ startServer({ name: 'hostinger-domains-mcp', version: '0.2.5', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-hosting-mcp', version: '0.2.3', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '0.2.5', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/hosting.js';
5
5
 
6
- startServer({ name: 'hostinger-hosting-mcp', version: '0.2.3', tools });
6
+ startServer({ name: 'hostinger-hosting-mcp', version: '0.2.5', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/reach.js';
5
5
 
6
- startServer({ name: 'hostinger-reach-mcp', version: '0.2.3', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '0.2.5', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/reach.js';
5
5
 
6
- startServer({ name: 'hostinger-reach-mcp', version: '0.2.3', tools });
6
+ startServer({ name: 'hostinger-reach-mcp', version: '0.2.5', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/vps.js';
5
5
 
6
- startServer({ name: 'hostinger-vps-mcp', version: '0.2.3', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '0.2.5', tools });
@@ -3,4 +3,4 @@
3
3
  import { startServer } from '../core/runtime.js';
4
4
  import tools from '../core/tools/vps.js';
5
5
 
6
- startServer({ name: 'hostinger-vps-mcp', version: '0.2.3', tools });
6
+ startServer({ name: 'hostinger-vps-mcp', version: '0.2.5', tools });