hostinger-api-mcp 0.0.2 → 0.0.3

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.
Files changed (2) hide show
  1. package/README.md +147 -213
  2. package/package.json +3 -3
package/README.md CHANGED
@@ -1,104 +1,42 @@
1
1
  # hostinger-api-mcp
2
2
 
3
- Model Context Protocol (MCP) server for Hostinger API API.
4
-
5
- ## Description
6
-
7
- > [!caution]
8
- > Currently, this API is in beta stage, meaning that breaking changes, while unlikely, might be introduced.
9
- > If you encounter any issues or have any feedback, please create an issue on the [Github Repository](https://github.com/hostinger/api/issues).
10
- # Overview
11
- The Hostinger API provides a comprehensive set of endpoints that allow developers to interact with Hostinger's services programmatically.
12
- This API enables you to manage various aspects of your Hostinger account.
13
-
14
- The Hostinger API is a (mostly) RESTful API that uses standard HTTP methods and status codes.
15
- # Authentication
16
- The Hostinger API uses tokens for authentication. To authenticate your requests, you need to include a valid bearer token in the Authorization header of your HTTP requests:
17
- ```yaml
18
- Authorization: Bearer YOUR_API_TOKEN
19
- ```
20
- API tokens for individual users can be created and managed from the [VPS page](https://hpanel.hostinger.com/vps) of the Hostinger Panel.
21
- Tokens will have same permissions as the owning user. Optionally, tokens can be set to expire after a certain period of time.
22
- # Rate Limiting
23
- To ensure fair usage and prevent abuse, the API enforces rate limits on the number of requests that can be made within a certain time period.
24
- If you exceed the rate limit, you will receive a 429 Too Many Requests response. Rate limit headers are included in the response to help you manage your requests.
25
- Your IP address might get temporarily blocked if you exceed the rate limit multiple times.
26
- # Parameters
27
- All requests sent to API must have the content type `application/json`. `POST`, `PUT`, `PATCH` methods may include a JSON object in the request body. Documentation provides required structure and examples of the object.
28
- Some endpoints require path parameters. These parameters are included in the URL path and are marked with curly braces.
29
- # Pagination
30
- Some endpoints return a large number of items. To make these responses more manageable, the API uses pagination.
31
- By default, the API returns50 items per page.
32
-
33
- The page number can be specified using the `page` query parameter, for example: `/api/vps/v1/public-keys?page=2`
34
- # Errors
35
- The Hostinger API uses standard HTTP status codes to indicate the success or failure of a request.
36
- In case of an error, the API will return a JSON response with an `error` field, containing a human-readable error message.
37
- Error responses also contain a `correlation_id` field which can be used to identify the request in case you need to contact support.
38
- # Change log
39
- For information on the latest changes to the API, please refer to the [change log](https://github.com/hostinger/api/blob/main/CHANGELOG.md).
40
- # Support
41
- If you have any questions, feedback or feature requests, please create an [issue](https://github.com/hostinger/api/issues) or [discussion](https://github.com/hostinger/api/discussions) on the repository.
42
-
43
- For any support take a look at our [Github Repository](https://github.com/hostinger/api/), dedicated to the Hostinger API.
3
+ Model Context Protocol (MCP) server for Hostinger API.
44
4
 
45
5
  ## Installation
46
6
 
47
- 1. Install dependencies:
48
-
49
- ```bash
50
- npm install
51
- ```
52
-
53
- 2. Create a `.env` file based on `.env.example`:
54
-
55
7
  ```bash
56
- cp .env.example .env
8
+ npm install hostinger-api-mcp -g
57
9
  ```
58
10
 
59
- 3. Edit the `.env` file to add your API configuration and authorization details.
60
-
61
11
  ## Configuration
62
12
 
63
- The following environment variables can be configured in the `.env` file:
64
-
65
- - `API_BASE_URL`: Base URL for the API (required)
66
- - `SERVER_NAME`: Name of the MCP server (default: "hostinger-api-mcp")
67
- - `SERVER_VERSION`: Version of the MCP server (default: "0.0.1")
13
+ The following environment variables can be configured when running the server:
68
14
  - `DEBUG`: Enable debug logging (true/false) (default: false)
69
15
 
70
16
 
71
- ### Authorization Configuration
72
-
73
- This server supports the following authorization schemes defined in the OpenAPI specification:
74
-
75
- - **apiToken (HTTP Bearer)**: Set environment variable `APITOKEN` with your Bearer token. The token will be sent in the `Authorization` header.
17
+ - `APITOKEN`: Your API token, which will be sent in the `Authorization` header.
76
18
 
77
19
 
78
20
 
79
21
  ## Usage
80
22
 
81
- ### Running the Server
82
-
83
- The server is provided as both JavaScript and TypeScript versions:
84
-
85
- ```bash
86
- # Run JavaScript version
87
- npm start
88
-
89
- # Or run TypeScript version (compiles on the fly)
90
- npm run start:ts
23
+ ### JSON configuration for Claude, Cursor, etc.
24
+
25
+ ```json
26
+ {
27
+ "mcpServers": {
28
+ "hostinger-api": {
29
+ "command": "hostinger-api-mcp",
30
+ "env": {
31
+ "DEBUG": "false",
32
+ "APITOKEN": "YOUR API TOKEN"
33
+ }
34
+ }
35
+ }
36
+ }
91
37
  ```
92
38
 
93
- ### Building the TypeScript Version
94
-
95
- ```bash
96
- npm run build
97
- cd dist
98
- node server.js
99
- ```
100
-
101
- ## Using as an MCP Tool Provider
39
+ ### Using as an MCP Tool Provider
102
40
 
103
41
  This server implements the Model Context Protocol (MCP) and can be used with any MCP-compatible consumer, like Claude.js client or other MCP consumers.
104
42
 
@@ -109,7 +47,7 @@ import { MCP } from "claude-js";
109
47
  import { createStdio } from "claude-js/mcp";
110
48
 
111
49
  // Create stdin/stdout transport
112
- const transport = createStdio({ command: "node path/to/server.js" });
50
+ const transport = createStdio({ command: "hostinger-api-mcp" });
113
51
 
114
52
  // Connect to the MCP server
115
53
  const mcp = new MCP({ transport });
@@ -133,24 +71,24 @@ This MCP server provides the following tools:
133
71
 
134
72
  ### billing_getCatalogItemListV1
135
73
 
136
- - **ID**: `undefined`
137
- - **Description**: This endpoint retrieves a list of catalog items available for order.
74
+ This endpoint retrieves a list of catalog items available for order.
138
75
 
139
76
  Prices in catalog items is displayed as cents (without floating point), e.g: float `17.99` is displayed as integer `1799`.
77
+
140
78
  - **Method**: `GET`
141
79
  - **Path**: `/api/billing/v1/catalog`
142
80
 
143
- No parameters required.
81
+
144
82
 
145
83
  ### billing_createNewServiceOrderV1
146
84
 
147
- - **ID**: `undefined`
148
- - **Description**: This endpoint creates a new service order.
85
+ This endpoint creates a new service order.
149
86
 
150
87
  To place order, you need to provide payment method ID and list of price items from the catalog endpoint together with quantity.
151
88
  Coupons also can be provided during order creation.
152
89
 
153
90
  Orders created using this endpoint will be set for automatically renewal.
91
+
154
92
  - **Method**: `POST`
155
93
  - **Path**: `/api/billing/v1/orders`
156
94
 
@@ -162,8 +100,8 @@ Orders created using this endpoint will be set for automatically renewal.
162
100
 
163
101
  ### billing_setDefaultPaymentMethodV1
164
102
 
165
- - **ID**: `undefined`
166
- - **Description**: This endpoint sets default payment method for your account.
103
+ This endpoint sets default payment method for your account.
104
+
167
105
  - **Method**: `POST`
168
106
  - **Path**: `/api/billing/v1/payment-methods/{paymentMethodId}`
169
107
 
@@ -173,8 +111,8 @@ Orders created using this endpoint will be set for automatically renewal.
173
111
 
174
112
  ### billing_deletePaymentMethodV1
175
113
 
176
- - **ID**: `undefined`
177
- - **Description**: This endpoint deletes a payment method from your account.
114
+ This endpoint deletes a payment method from your account.
115
+
178
116
  - **Method**: `DELETE`
179
117
  - **Path**: `/api/billing/v1/payment-methods/{paymentMethodId}`
180
118
 
@@ -184,19 +122,19 @@ Orders created using this endpoint will be set for automatically renewal.
184
122
 
185
123
  ### billing_getPaymentMethodListV1
186
124
 
187
- - **ID**: `undefined`
188
- - **Description**: This endpoint retrieves a list of available payment methods that can be used for placing new orders.
125
+ This endpoint retrieves a list of available payment methods that can be used for placing new orders.
189
126
 
190
127
  If you want to add new payment method, please use [hPanel](https://hpanel.hostinger.com/billing/payment-methods).
128
+
191
129
  - **Method**: `GET`
192
130
  - **Path**: `/api/billing/v1/payment-methods`
193
131
 
194
- No parameters required.
132
+
195
133
 
196
134
  ### billing_cancelSubscriptionV1
197
135
 
198
- - **ID**: `undefined`
199
- - **Description**: This endpoint cancels a subscription and stops any further billing.
136
+ This endpoint cancels a subscription and stops any further billing.
137
+
200
138
  - **Method**: `DELETE`
201
139
  - **Path**: `/api/billing/v1/subscriptions/{subscriptionId}`
202
140
 
@@ -206,37 +144,37 @@ No parameters required.
206
144
 
207
145
  ### billing_getSubscriptionListV1
208
146
 
209
- - **ID**: `undefined`
210
- - **Description**: This endpoint retrieves a list of all subscriptions associated with your account.
147
+ This endpoint retrieves a list of all subscriptions associated with your account.
148
+
211
149
  - **Method**: `GET`
212
150
  - **Path**: `/api/billing/v1/subscriptions`
213
151
 
214
- No parameters required.
152
+
215
153
 
216
154
  ### domains_getDomainListV1
217
155
 
218
- - **ID**: `undefined`
219
- - **Description**: This endpoint retrieves a list of all domains associated with your account.
156
+ This endpoint retrieves a list of all domains associated with your account.
157
+
220
158
  - **Method**: `GET`
221
159
  - **Path**: `/api/domains/v1/portfolio`
222
160
 
223
- No parameters required.
161
+
224
162
 
225
163
  ### VPS_getDataCentersListV1
226
164
 
227
- - **ID**: `undefined`
228
- - **Description**: This endpoint retrieves a list of all data centers available.
165
+ This endpoint retrieves a list of all data centers available.
166
+
229
167
  - **Method**: `GET`
230
168
  - **Path**: `/api/vps/v1/data-centers`
231
169
 
232
- No parameters required.
170
+
233
171
 
234
172
  ### VPS_activateFirewallV1
235
173
 
236
- - **ID**: `undefined`
237
- - **Description**: This endpoint activates a firewall for a specified virtual machine.
174
+ This endpoint activates a firewall for a specified virtual machine.
238
175
 
239
176
  Only one firewall can be active for a virtual machine at a time.
177
+
240
178
  - **Method**: `POST`
241
179
  - **Path**: `/api/vps/v1/firewall/{firewallId}/activate/{virtualMachineId}`
242
180
 
@@ -247,8 +185,8 @@ Only one firewall can be active for a virtual machine at a time.
247
185
 
248
186
  ### VPS_deactivateFirewallV1
249
187
 
250
- - **ID**: `undefined`
251
- - **Description**: This endpoint deactivates a firewall for a specified virtual machine.
188
+ This endpoint deactivates a firewall for a specified virtual machine.
189
+
252
190
  - **Method**: `POST`
253
191
  - **Path**: `/api/vps/v1/firewall/{firewallId}/deactivate/{virtualMachineId}`
254
192
 
@@ -259,8 +197,8 @@ Only one firewall can be active for a virtual machine at a time.
259
197
 
260
198
  ### VPS_getFirewallV1
261
199
 
262
- - **ID**: `undefined`
263
- - **Description**: This endpoint retrieves firewall by its ID and rules associated with it.
200
+ This endpoint retrieves firewall by its ID and rules associated with it.
201
+
264
202
  - **Method**: `GET`
265
203
  - **Path**: `/api/vps/v1/firewall/{firewallId}`
266
204
 
@@ -270,10 +208,10 @@ Only one firewall can be active for a virtual machine at a time.
270
208
 
271
209
  ### VPS_deleteFirewallV1
272
210
 
273
- - **ID**: `undefined`
274
- - **Description**: This endpoint deletes a specified firewall.
211
+ This endpoint deletes a specified firewall.
275
212
 
276
213
  Any virtual machine that has this firewall activated will automatically have it deactivated.
214
+
277
215
  - **Method**: `DELETE`
278
216
  - **Path**: `/api/vps/v1/firewall/{firewallId}`
279
217
 
@@ -283,8 +221,8 @@ Any virtual machine that has this firewall activated will automatically have it
283
221
 
284
222
  ### VPS_getFirewallListV1
285
223
 
286
- - **ID**: `undefined`
287
- - **Description**: This endpoint retrieves a list of all firewalls available.
224
+ This endpoint retrieves a list of all firewalls available.
225
+
288
226
  - **Method**: `GET`
289
227
  - **Path**: `/api/vps/v1/firewall`
290
228
 
@@ -294,8 +232,8 @@ Any virtual machine that has this firewall activated will automatically have it
294
232
 
295
233
  ### VPS_createNewFirewallV1
296
234
 
297
- - **ID**: `undefined`
298
- - **Description**: This endpoint creates a new firewall.
235
+ This endpoint creates a new firewall.
236
+
299
237
  - **Method**: `POST`
300
238
  - **Path**: `/api/vps/v1/firewall`
301
239
 
@@ -305,10 +243,10 @@ Any virtual machine that has this firewall activated will automatically have it
305
243
 
306
244
  ### VPS_updateFirewallRuleV1
307
245
 
308
- - **ID**: `undefined`
309
- - **Description**: This endpoint updates a specific firewall rule from a specified firewall.
246
+ This endpoint updates a specific firewall rule from a specified firewall.
310
247
 
311
248
  Any virtual machine that has this firewall activated will loose sync with the firewall and will have to be synced again manually.
249
+
312
250
  - **Method**: `PUT`
313
251
  - **Path**: `/api/vps/v1/firewall/{firewallId}/rules/{ruleId}`
314
252
 
@@ -323,10 +261,10 @@ Any virtual machine that has this firewall activated will loose sync with the fi
323
261
 
324
262
  ### VPS_deleteFirewallRuleV1
325
263
 
326
- - **ID**: `undefined`
327
- - **Description**: This endpoint deletes a specific firewall rule from a specified firewall.
264
+ This endpoint deletes a specific firewall rule from a specified firewall.
328
265
 
329
266
  Any virtual machine that has this firewall activated will loose sync with the firewall and will have to be synced again manually.
267
+
330
268
  - **Method**: `DELETE`
331
269
  - **Path**: `/api/vps/v1/firewall/{firewallId}/rules/{ruleId}`
332
270
 
@@ -337,11 +275,11 @@ Any virtual machine that has this firewall activated will loose sync with the fi
337
275
 
338
276
  ### VPS_createFirewallRuleV1
339
277
 
340
- - **ID**: `undefined`
341
- - **Description**: This endpoint creates new firewall rule from a specified firewall.
278
+ This endpoint creates new firewall rule from a specified firewall.
342
279
  By default, the firewall drops all incoming traffic, which means you must add accept rules for all ports you want to use.
343
280
 
344
281
  Any virtual machine that has this firewall activated will loose sync with the firewall and will have to be synced again manually.
282
+
345
283
  - **Method**: `POST`
346
284
  - **Path**: `/api/vps/v1/firewall/{firewallId}/rules`
347
285
 
@@ -355,10 +293,10 @@ Any virtual machine that has this firewall activated will loose sync with the fi
355
293
 
356
294
  ### VPS_syncFirewallV1
357
295
 
358
- - **ID**: `undefined`
359
- - **Description**: This endpoint syncs a firewall for a specified virtual machine.
296
+ This endpoint syncs a firewall for a specified virtual machine.
360
297
 
361
298
  Firewall can loose sync with virtual machine if the firewall has new rules added, removed or updated.
299
+
362
300
  - **Method**: `POST`
363
301
  - **Path**: `/api/vps/v1/firewall/{firewallId}/sync/{virtualMachineId}`
364
302
 
@@ -369,8 +307,8 @@ Firewall can loose sync with virtual machine if the firewall has new rules added
369
307
 
370
308
  ### VPS_getPostInstallScriptV1
371
309
 
372
- - **ID**: `undefined`
373
- - **Description**: This endpoint retrieves post-install script by its ID.
310
+ This endpoint retrieves post-install script by its ID.
311
+
374
312
  - **Method**: `GET`
375
313
  - **Path**: `/api/vps/v1/post-install-scripts/{postInstallScriptId}`
376
314
 
@@ -380,8 +318,8 @@ Firewall can loose sync with virtual machine if the firewall has new rules added
380
318
 
381
319
  ### VPS_updatePostInstallScriptV1
382
320
 
383
- - **ID**: `undefined`
384
- - **Description**: This endpoint updates a specific post-install script.
321
+ This endpoint updates a specific post-install script.
322
+
385
323
  - **Method**: `PUT`
386
324
  - **Path**: `/api/vps/v1/post-install-scripts/{postInstallScriptId}`
387
325
 
@@ -393,8 +331,8 @@ Firewall can loose sync with virtual machine if the firewall has new rules added
393
331
 
394
332
  ### VPS_deleteAPostInstallScriptV1
395
333
 
396
- - **ID**: `undefined`
397
- - **Description**: This endpoint deletes a post-install script from your account.
334
+ This endpoint deletes a post-install script from your account.
335
+
398
336
  - **Method**: `DELETE`
399
337
  - **Path**: `/api/vps/v1/post-install-scripts/{postInstallScriptId}`
400
338
 
@@ -404,8 +342,8 @@ Firewall can loose sync with virtual machine if the firewall has new rules added
404
342
 
405
343
  ### VPS_getPostInstallScriptListV1
406
344
 
407
- - **ID**: `undefined`
408
- - **Description**: This endpoint retrieves a list of post-install scripts associated with your account.
345
+ This endpoint retrieves a list of post-install scripts associated with your account.
346
+
409
347
  - **Method**: `GET`
410
348
  - **Path**: `/api/vps/v1/post-install-scripts`
411
349
 
@@ -415,12 +353,12 @@ Firewall can loose sync with virtual machine if the firewall has new rules added
415
353
 
416
354
  ### VPS_createPostInstallScriptV1
417
355
 
418
- - **ID**: `undefined`
419
- - **Description**: This endpoint allows you to add a new post-install script to your account,
356
+ This endpoint allows you to add a new post-install script to your account,
420
357
  which can then be used run after the installation of a virtual machine instance.
421
358
 
422
359
  The script contents will be saved to the file `/post_install` with executable attribute set and will be executed once virtual machine is installed.
423
360
  The output of the script will be redirected to `/post_install.log`. Maximum script size is 48KB.
361
+
424
362
  - **Method**: `POST`
425
363
  - **Path**: `/api/vps/v1/post-install-scripts`
426
364
 
@@ -431,10 +369,10 @@ The output of the script will be redirected to `/post_install.log`. Maximum scri
431
369
 
432
370
  ### VPS_attachPublicKeyV1
433
371
 
434
- - **ID**: `undefined`
435
- - **Description**: This endpoint attaches an existing public keys from your account to a specified virtual machine.
372
+ This endpoint attaches an existing public keys from your account to a specified virtual machine.
436
373
 
437
374
  Multiple keys can be attached to a single virtual machine.
375
+
438
376
  - **Method**: `POST`
439
377
  - **Path**: `/api/vps/v1/public-keys/attach/{virtualMachineId}`
440
378
 
@@ -445,10 +383,10 @@ Multiple keys can be attached to a single virtual machine.
445
383
 
446
384
  ### VPS_deleteAPublicKeyV1
447
385
 
448
- - **ID**: `undefined`
449
- - **Description**: This endpoint deletes a public key from your account.
386
+ This endpoint deletes a public key from your account.
450
387
 
451
388
  **Deleting public key from account does not remove it from virtual machine**
389
+
452
390
  - **Method**: `DELETE`
453
391
  - **Path**: `/api/vps/v1/public-keys/{publicKeyId}`
454
392
 
@@ -458,8 +396,8 @@ Multiple keys can be attached to a single virtual machine.
458
396
 
459
397
  ### VPS_getPublicKeyListV1
460
398
 
461
- - **ID**: `undefined`
462
- - **Description**: This endpoint retrieves a list of public keys associated with your account.
399
+ This endpoint retrieves a list of public keys associated with your account.
400
+
463
401
  - **Method**: `GET`
464
402
  - **Path**: `/api/vps/v1/public-keys`
465
403
 
@@ -469,9 +407,9 @@ Multiple keys can be attached to a single virtual machine.
469
407
 
470
408
  ### VPS_createNewPublicKeyV1
471
409
 
472
- - **ID**: `undefined`
473
- - **Description**: This endpoint allows you to add a new public key to your account,
410
+ This endpoint allows you to add a new public key to your account,
474
411
  which can then be attached to virtual machine instances for secure access.
412
+
475
413
  - **Method**: `POST`
476
414
  - **Path**: `/api/vps/v1/public-keys`
477
415
 
@@ -482,8 +420,8 @@ which can then be attached to virtual machine instances for secure access.
482
420
 
483
421
  ### VPS_getTemplateV1
484
422
 
485
- - **ID**: `undefined`
486
- - **Description**: This endpoint retrieves details of a specific OS template for virtual machines.
423
+ This endpoint retrieves details of a specific OS template for virtual machines.
424
+
487
425
  - **Method**: `GET`
488
426
  - **Path**: `/api/vps/v1/templates/{templateId}`
489
427
 
@@ -493,19 +431,19 @@ which can then be attached to virtual machine instances for secure access.
493
431
 
494
432
  ### VPS_getTemplateListV1
495
433
 
496
- - **ID**: `undefined`
497
- - **Description**: This endpoint retrieves a list of available OS templates for virtual machines.
434
+ This endpoint retrieves a list of available OS templates for virtual machines.
435
+
498
436
  - **Method**: `GET`
499
437
  - **Path**: `/api/vps/v1/templates`
500
438
 
501
- No parameters required.
439
+
502
440
 
503
441
  ### VPS_getActionV1
504
442
 
505
- - **ID**: `undefined`
506
- - **Description**: This endpoint retrieves details of a specific action performed on a specified virtual machine.
443
+ This endpoint retrieves details of a specific action performed on a specified virtual machine.
507
444
 
508
445
  This endpoint allows you to view detailed information about a particular action, including the action name, timestamp, and status.
446
+
509
447
  - **Method**: `GET`
510
448
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/actions/{actionId}`
511
449
 
@@ -516,12 +454,12 @@ This endpoint allows you to view detailed information about a particular action,
516
454
 
517
455
  ### VPS_getActionListV1
518
456
 
519
- - **ID**: `undefined`
520
- - **Description**: This endpoint retrieves a list of actions performed on a specified virtual machine.
457
+ This endpoint retrieves a list of actions performed on a specified virtual machine.
521
458
 
522
459
  Actions are operations or events that have been executed on the virtual machine, such as starting, stopping, or modifying
523
460
  the machine. This endpoint allows you to view the history of these actions, providing details about each action,
524
461
  such as the action name, timestamp, and status.
462
+
525
463
  - **Method**: `GET`
526
464
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/actions`
527
465
 
@@ -532,8 +470,8 @@ such as the action name, timestamp, and status.
532
470
 
533
471
  ### VPS_getAttachedPublicKeysV1
534
472
 
535
- - **ID**: `undefined`
536
- - **Description**: This endpoint retrieves a list of public keys attached to a specified virtual machine.
473
+ This endpoint retrieves a list of public keys attached to a specified virtual machine.
474
+
537
475
  - **Method**: `GET`
538
476
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/public-keys`
539
477
 
@@ -544,8 +482,8 @@ such as the action name, timestamp, and status.
544
482
 
545
483
  ### VPS_deleteBackupV1
546
484
 
547
- - **ID**: `undefined`
548
- - **Description**: This endpoint deletes a specified backup for a virtual machine.
485
+ This endpoint deletes a specified backup for a virtual machine.
486
+
549
487
  - **Method**: `DELETE`
550
488
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/backups/{backupId}`
551
489
 
@@ -556,8 +494,8 @@ such as the action name, timestamp, and status.
556
494
 
557
495
  ### VPS_getBackupListV1
558
496
 
559
- - **ID**: `undefined`
560
- - **Description**: This endpoint retrieves a list of backups for a specified virtual machine.
497
+ This endpoint retrieves a list of backups for a specified virtual machine.
498
+
561
499
  - **Method**: `GET`
562
500
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/backups`
563
501
 
@@ -568,12 +506,12 @@ such as the action name, timestamp, and status.
568
506
 
569
507
  ### VPS_restoreBackupV1
570
508
 
571
- - **ID**: `undefined`
572
- - **Description**: This endpoint restores a backup for a specified virtual machine.
509
+ This endpoint restores a backup for a specified virtual machine.
573
510
 
574
511
  The system will then initiate the restore process, which may take some time depending on the size of the backup.
575
512
 
576
513
  **All data on the virtual machine will be overwritten with the data from the backup.**
514
+
577
515
  - **Method**: `POST`
578
516
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/backups/{backupId}/restore`
579
517
 
@@ -584,11 +522,11 @@ The system will then initiate the restore process, which may take some time depe
584
522
 
585
523
  ### VPS_setHostnameV1
586
524
 
587
- - **ID**: `undefined`
588
- - **Description**: This endpoint sets the hostname for a specified virtual machine.
525
+ This endpoint sets the hostname for a specified virtual machine.
589
526
  Changing hostname does not update PTR record automatically.
590
527
  If you want your virtual machine to be reachable by a hostname,
591
528
  you need to point your domain A/AAAA records to virtual machine IP as well.
529
+
592
530
  - **Method**: `PUT`
593
531
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/hostname`
594
532
 
@@ -599,8 +537,8 @@ you need to point your domain A/AAAA records to virtual machine IP as well.
599
537
 
600
538
  ### VPS_resetHostnameV1
601
539
 
602
- - **ID**: `undefined`
603
- - **Description**: This endpoint resets the hostname and PTR record of a specified virtual machine to the default value.
540
+ This endpoint resets the hostname and PTR record of a specified virtual machine to the default value.
541
+
604
542
  - **Method**: `DELETE`
605
543
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/hostname`
606
544
 
@@ -610,8 +548,8 @@ you need to point your domain A/AAAA records to virtual machine IP as well.
610
548
 
611
549
  ### VPS_getVirtualMachineV1
612
550
 
613
- - **ID**: `undefined`
614
- - **Description**: This endpoint retrieves detailed information about a specified virtual machine.
551
+ This endpoint retrieves detailed information about a specified virtual machine.
552
+
615
553
  - **Method**: `GET`
616
554
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}`
617
555
 
@@ -621,20 +559,20 @@ you need to point your domain A/AAAA records to virtual machine IP as well.
621
559
 
622
560
  ### VPS_getVirtualMachineListV1
623
561
 
624
- - **ID**: `undefined`
625
- - **Description**: This endpoint retrieves a list of all available virtual machines.
562
+ This endpoint retrieves a list of all available virtual machines.
563
+
626
564
  - **Method**: `GET`
627
565
  - **Path**: `/api/vps/v1/virtual-machines`
628
566
 
629
- No parameters required.
567
+
630
568
 
631
569
  ### VPS_getScanMetricsV1
632
570
 
633
- - **ID**: `undefined`
634
- - **Description**: This endpoint retrieves the scan metrics for the [Monarx](https://www.monarx.com/) malware scanner installed on a specified virtual machine.
571
+ This endpoint retrieves the scan metrics for the [Monarx](https://www.monarx.com/) malware scanner installed on a specified virtual machine.
635
572
  The scan metrics provide detailed information about the malware scans performed by Monarx, including the number of scans,
636
573
  detected threats, and other relevant statistics. This information is useful for monitoring the security status of the
637
574
  virtual machine and assessing the effectiveness of the malware scanner.
575
+
638
576
  - **Method**: `GET`
639
577
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/monarx`
640
578
 
@@ -644,11 +582,11 @@ virtual machine and assessing the effectiveness of the malware scanner.
644
582
 
645
583
  ### VPS_installMonarxV1
646
584
 
647
- - **ID**: `undefined`
648
- - **Description**: This endpoint installs the Monarx malware scanner on a specified virtual machine.
585
+ This endpoint installs the Monarx malware scanner on a specified virtual machine.
649
586
 
650
587
  [Monarx](https://www.monarx.com/) is a security tool designed to detect and prevent malware infections on virtual machines.
651
588
  By installing Monarx, users can enhance the security of their virtual machines, ensuring that they are protected against malicious software.
589
+
652
590
  - **Method**: `POST`
653
591
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/monarx`
654
592
 
@@ -658,9 +596,9 @@ By installing Monarx, users can enhance the security of their virtual machines,
658
596
 
659
597
  ### VPS_uninstallMonarxV1
660
598
 
661
- - **ID**: `undefined`
662
- - **Description**: This endpoint uninstalls the Monarx malware scanner on a specified virtual machine.
599
+ This endpoint uninstalls the Monarx malware scanner on a specified virtual machine.
663
600
  If Monarx is not installed, the request will still be processed without any effect.
601
+
664
602
  - **Method**: `DELETE`
665
603
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/monarx`
666
604
 
@@ -670,14 +608,14 @@ If Monarx is not installed, the request will still be processed without any effe
670
608
 
671
609
  ### VPS_getMetricsV1
672
610
 
673
- - **ID**: `undefined`
674
- - **Description**: This endpoint retrieves the historical metrics for a specified virtual machine.
611
+ This endpoint retrieves the historical metrics for a specified virtual machine.
675
612
  It includes the following metrics:
676
613
  - CPU usage
677
614
  - Memory usage
678
615
  - Disk usage
679
616
  - Network usage
680
617
  - Uptime
618
+
681
619
  - **Method**: `GET`
682
620
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/metrics`
683
621
 
@@ -689,9 +627,9 @@ It includes the following metrics:
689
627
 
690
628
  ### VPS_setNameserversV1
691
629
 
692
- - **ID**: `undefined`
693
- - **Description**: This endpoint sets the nameservers for a specified virtual machine.
630
+ This endpoint sets the nameservers for a specified virtual machine.
694
631
  Be aware, that improper nameserver configuration can lead to the virtual machine being unable to resolve domain names.
632
+
695
633
  - **Method**: `PUT`
696
634
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/nameservers`
697
635
 
@@ -703,8 +641,8 @@ Be aware, that improper nameserver configuration can lead to the virtual machine
703
641
 
704
642
  ### VPS_createPTRRecordV1
705
643
 
706
- - **ID**: `undefined`
707
- - **Description**: This endpoint creates or updates a PTR (Pointer) record for a specified virtual machine.
644
+ This endpoint creates or updates a PTR (Pointer) record for a specified virtual machine.
645
+
708
646
  - **Method**: `POST`
709
647
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/ptr`
710
648
 
@@ -714,10 +652,10 @@ Be aware, that improper nameserver configuration can lead to the virtual machine
714
652
 
715
653
  ### VPS_deletePTRRecordV1
716
654
 
717
- - **ID**: `undefined`
718
- - **Description**: This endpoint deletes a PTR (Pointer) record for a specified virtual machine.
655
+ This endpoint deletes a PTR (Pointer) record for a specified virtual machine.
719
656
 
720
657
  Once deleted, reverse DNS lookups to the virtual machine's IP address will no longer return the previously configured hostname.
658
+
721
659
  - **Method**: `DELETE`
722
660
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/ptr`
723
661
 
@@ -727,10 +665,10 @@ Once deleted, reverse DNS lookups to the virtual machine's IP address will no lo
727
665
 
728
666
  ### VPS_setPanelPasswordV1
729
667
 
730
- - **ID**: `undefined`
731
- - **Description**: This endpoint sets the panel password for a specified virtual machine.
668
+ This endpoint sets the panel password for a specified virtual machine.
732
669
  If virtual machine does not use panel OS, the request will still be processed without any effect.
733
670
  Requirements for the password is the same as in the [recreate virtual machine endpoint](/#tag/vps-virtual-machine/POST/api/vps/v1/virtual-machines/{virtualMachineId}/recreate).
671
+
734
672
  - **Method**: `PUT`
735
673
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/panel-password`
736
674
 
@@ -741,13 +679,13 @@ Requirements for the password is the same as in the [recreate virtual machine en
741
679
 
742
680
  ### VPS_startRecoveryModeV1
743
681
 
744
- - **ID**: `undefined`
745
- - **Description**: This endpoint initiates the recovery mode for a specified virtual machine.
682
+ This endpoint initiates the recovery mode for a specified virtual machine.
746
683
  Recovery mode is a special state that allows users to perform system rescue operations,
747
684
  such as repairing file systems, recovering data, or troubleshooting issues that prevent the virtual machine
748
685
  from booting normally.
749
686
 
750
687
  Virtual machine will boot recovery disk image and original disk image will be mounted in `/mnt` directory.
688
+
751
689
  - **Method**: `POST`
752
690
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/recovery`
753
691
 
@@ -758,9 +696,9 @@ Virtual machine will boot recovery disk image and original disk image will be mo
758
696
 
759
697
  ### VPS_stopRecoveryModeV1
760
698
 
761
- - **ID**: `undefined`
762
- - **Description**: This endpoint stops the recovery mode for a specified virtual machine.
699
+ This endpoint stops the recovery mode for a specified virtual machine.
763
700
  If virtual machine is not in recovery mode, this operation will fail.
701
+
764
702
  - **Method**: `DELETE`
765
703
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/recovery`
766
704
 
@@ -770,8 +708,7 @@ If virtual machine is not in recovery mode, this operation will fail.
770
708
 
771
709
  ### VPS_recreateVirtualMachineV1
772
710
 
773
- - **ID**: `undefined`
774
- - **Description**: This endpoint will recreate a virtual machine from scratch.
711
+ This endpoint will recreate a virtual machine from scratch.
775
712
  The recreation process involves reinstalling the operating system and resetting the virtual machine to its initial state.
776
713
  Snapshots, if there are any, will be deleted.
777
714
 
@@ -785,6 +722,7 @@ Requirements for the password are:
785
722
  - Is not leaked publicly
786
723
 
787
724
  **This operation is irreversible and will result in the loss of all data stored on the virtual machine!**
725
+
788
726
  - **Method**: `POST`
789
727
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/recreate`
790
728
 
@@ -797,9 +735,9 @@ Requirements for the password are:
797
735
 
798
736
  ### VPS_restartVirtualMachineV1
799
737
 
800
- - **ID**: `undefined`
801
- - **Description**: This endpoint restarts a specified virtual machine. This is equivalent to fully stopping and starting the virtual machine.
738
+ This endpoint restarts a specified virtual machine. This is equivalent to fully stopping and starting the virtual machine.
802
739
  If the virtual machine was stopped, it will be started.
740
+
803
741
  - **Method**: `POST`
804
742
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/restart`
805
743
 
@@ -809,9 +747,9 @@ If the virtual machine was stopped, it will be started.
809
747
 
810
748
  ### VPS_setRootPasswordV1
811
749
 
812
- - **ID**: `undefined`
813
- - **Description**: This endpoint sets the root password for a specified virtual machine.
750
+ This endpoint sets the root password for a specified virtual machine.
814
751
  Requirements for the password is the same as in the [recreate virtual machine endpoint](/#tag/vps-virtual-machine/POST/api/vps/v1/virtual-machines/{virtualMachineId}/recreate).
752
+
815
753
  - **Method**: `PUT`
816
754
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/root-password`
817
755
 
@@ -822,9 +760,9 @@ Requirements for the password is the same as in the [recreate virtual machine en
822
760
 
823
761
  ### VPS_setupNewVirtualMachineV1
824
762
 
825
- - **ID**: `undefined`
826
- - **Description**: This endpoint will setup newly purchased virtual machine. Such virtual machines has `initial` state.
763
+ This endpoint will setup newly purchased virtual machine. Such virtual machines has `initial` state.
827
764
  New virtual machine can be purchased using [`/api/billing/v1/orders`](/#tag/billing-orders/POST/api/billing/v1/orders) endpoint.
765
+
828
766
  - **Method**: `POST`
829
767
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/setup`
830
768
 
@@ -844,8 +782,8 @@ New virtual machine can be purchased using [`/api/billing/v1/orders`](/#tag/bill
844
782
 
845
783
  ### VPS_getSnapshotV1
846
784
 
847
- - **ID**: `undefined`
848
- - **Description**: This endpoint retrieves a snapshot for a specified virtual machine.
785
+ This endpoint retrieves a snapshot for a specified virtual machine.
786
+
849
787
  - **Method**: `GET`
850
788
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/snapshot`
851
789
 
@@ -855,14 +793,14 @@ New virtual machine can be purchased using [`/api/billing/v1/orders`](/#tag/bill
855
793
 
856
794
  ### VPS_createSnapshotV1
857
795
 
858
- - **ID**: `undefined`
859
- - **Description**: This endpoint creates a snapshot of a specified virtual machine.
796
+ This endpoint creates a snapshot of a specified virtual machine.
860
797
  A snapshot captures the state and data of the virtual machine at a specific point in time,
861
798
  allowing users to restore the virtual machine to that state if needed.
862
799
  This operation is useful for backup purposes, system recovery,
863
800
  and testing changes without affecting the current state of the virtual machine.
864
801
 
865
802
  **Creating new snapshot will overwrite the existing snapshot!**
803
+
866
804
  - **Method**: `POST`
867
805
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/snapshot`
868
806
 
@@ -872,8 +810,8 @@ and testing changes without affecting the current state of the virtual machine.
872
810
 
873
811
  ### VPS_deleteSnapshotV1
874
812
 
875
- - **ID**: `undefined`
876
- - **Description**: This endpoint deletes a snapshot of a specified virtual machine.
813
+ This endpoint deletes a snapshot of a specified virtual machine.
814
+
877
815
  - **Method**: `DELETE`
878
816
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/snapshot`
879
817
 
@@ -883,9 +821,9 @@ and testing changes without affecting the current state of the virtual machine.
883
821
 
884
822
  ### VPS_restoreSnapshotV1
885
823
 
886
- - **ID**: `undefined`
887
- - **Description**: This endpoint restores a specified virtual machine to a previous state using a snapshot.
824
+ This endpoint restores a specified virtual machine to a previous state using a snapshot.
888
825
  Restoring from a snapshot allows users to revert the virtual machine to that state, which is useful for system recovery, undoing changes, or testing.
826
+
889
827
  - **Method**: `POST`
890
828
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/snapshot/restore`
891
829
 
@@ -895,9 +833,9 @@ Restoring from a snapshot allows users to revert the virtual machine to that sta
895
833
 
896
834
  ### VPS_startVirtualMachineV1
897
835
 
898
- - **ID**: `undefined`
899
- - **Description**: This endpoint starts a specified virtual machine.
836
+ This endpoint starts a specified virtual machine.
900
837
  If the virtual machine is already running, the request will still be processed without any effect.
838
+
901
839
  - **Method**: `POST`
902
840
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/start`
903
841
 
@@ -907,16 +845,12 @@ If the virtual machine is already running, the request will still be processed w
907
845
 
908
846
  ### VPS_stopVirtualMachineV1
909
847
 
910
- - **ID**: `undefined`
911
- - **Description**: This endpoint stops a specified virtual machine.
848
+ This endpoint stops a specified virtual machine.
912
849
  If the virtual machine is already stopped, the request will still be processed without any effect.
850
+
913
851
  - **Method**: `POST`
914
852
  - **Path**: `/api/vps/v1/virtual-machines/{virtualMachineId}/stop`
915
853
 
916
854
  **Parameters**:
917
855
 
918
856
  - `virtualMachineId`: Virtual Machine ID (required)
919
-
920
- ## License
921
-
922
- MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "MCP server for Hostinger API",
5
5
  "repository": {
6
6
  "type": "git",
@@ -13,11 +13,11 @@
13
13
  "rest",
14
14
  "api"
15
15
  ],
16
+ "type": "module",
17
+ "main": "server.js",
16
18
  "bin": {
17
19
  "hostinger-api-mcp": "./server.js"
18
20
  },
19
- "type": "module",
20
- "main": "server.js",
21
21
  "scripts": {
22
22
  "start": "node server.js",
23
23
  "build": "node build.js",