@hostinger/mcp 2.13.1 → 2.15.0

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/CHANGELOG.md CHANGED
@@ -4,6 +4,30 @@ Generated at release time from the diff between the previous and current
4
4
  build. Tool changes are listed individually; everything else is summarised
5
5
  by area.
6
6
 
7
+ ## v2.15.0 — 2026-10-14
8
+
9
+ ### Operations
10
+
11
+ - Added `hosting_headless_submit-build-report` — Submit headless build report
12
+
13
+ ### Also in this release
14
+
15
+ - Documentation: `README.md`
16
+ - Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
17
+ - Build and packaging: `types.d.ts`
18
+
19
+ ## v2.14.0 — 2026-10-14
20
+
21
+ ### Operations
22
+
23
+ - Added `wordpress_ai-content_generate-images` — Generate images
24
+
25
+ ### Also in this release
26
+
27
+ - Documentation: `README.md`
28
+ - Request handling and authentication: `src/core/runtime.js`, `src/core/runtime.ts`
29
+ - Build and packaging: `types.d.ts`
30
+
7
31
  ## v2.13.1 — 2026-10-14
8
32
 
9
33
  ### Operations
package/README.md CHANGED
@@ -69,18 +69,18 @@ pnpm update -g @hostinger/mcp
69
69
 
70
70
  This package installs the following MCP server commands:
71
71
 
72
- - `hostinger-api-mcp` — unified server over every operation (415 total)
72
+ - `hostinger-api-mcp` — unified server over every operation (417 total)
73
73
  - `hostinger-agency-hosting-mcp` — 42 operations for agency-hosting
74
74
  - `hostinger-billing-mcp` — 9 operations for billing
75
75
  - `hostinger-dns-mcp` — 8 operations for dns
76
76
  - `hostinger-domains-mcp` — 42 operations for domains
77
77
  - `hostinger-ecommerce-mcp` — 29 operations for ecommerce
78
78
  - `hostinger-horizons-mcp` — 6 operations for horizons
79
- - `hostinger-hosting-mcp` — 80 operations for hosting
79
+ - `hostinger-hosting-mcp` — 81 operations for hosting
80
80
  - `hostinger-mail-mcp` — 38 operations for mail
81
81
  - `hostinger-reach-mcp` — 56 operations for reach
82
82
  - `hostinger-vps-mcp` — 67 operations for vps
83
- - `hostinger-wordpress-mcp` — 38 operations for wordpress
83
+ - `hostinger-wordpress-mcp` — 39 operations for wordpress
84
84
 
85
85
  Every binary exposes the same three tools; a scoped binary only searches and executes its own group's operations. `hostinger-api-mcp` remains the backwards-compatible default.
86
86
 
@@ -2282,6 +2282,19 @@ key to a private repository as a deploy key before deploying it.
2282
2282
  - **Method**: `POST`
2283
2283
  - **Path**: `/api/hosting/v1/accounts/{username}/git/ssh-key`
2284
2284
 
2285
+ #### hosting_headless_submit-build-report
2286
+
2287
+ Submits the build report the headless skill writes at the end of a run (including early
2288
+ stops), so Hostinger can learn where builds get stuck. Send one report per call, with the
2289
+ report JSON as the request body, unchanged. Only send a report when the user agreed to it.
2290
+
2291
+ The report must match report.schema.json v1; an invalid report returns 422 and is not
2292
+ stored. The report is linked to the authenticated account, so do not add account details
2293
+ to it.
2294
+
2295
+ - **Method**: `POST`
2296
+ - **Path**: `/api/hosting/v1/headless/agent-reports`
2297
+
2285
2298
  #### hosting_nodejs_list-builds
2286
2299
 
2287
2300
  Retrieve a paginated list of Node.js build processes for a specific website.
@@ -4586,6 +4599,22 @@ Use this endpoint to power off running VPS instances.
4586
4599
 
4587
4600
  ### `hostinger-wordpress-mcp`
4588
4601
 
4602
+ #### wordpress_ai-content_generate-images
4603
+
4604
+ Generate one or more images from a prompt and an image type for the specified
4605
+ WordPress installation. Images are returned inline as base64-encoded PNGs. They match
4606
+ the requested aspect ratio and are never smaller than the requested size; logos are
4607
+ transparent PNGs cropped to the mark.
4608
+
4609
+ Generation is synchronous and can take up to a minute. The endpoint is limited to
4610
+ 10 requests per minute.
4611
+
4612
+ Provide the WordPress installation (software) identifier in the path. It can
4613
+ be obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).
4614
+
4615
+ - **Method**: `POST`
4616
+ - **Path**: `/api/hosting/v1/accounts/{username}/wordpress/{software}/content/images/generate`
4617
+
4589
4618
  #### wordpress_ai-tools_show-option-status
4590
4619
 
4591
4620
  Show the current AI option status for the Hostinger Tools plugin on the
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hostinger-api-mcp",
3
- "version": "2.13.1",
3
+ "version": "2.15.0",
4
4
  "description": "Hostinger API — manage domains, DNS, hosting, VPS, billing and more from Gemini CLI.",
5
5
  "mcpServers": {
6
6
  "hostinger": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hostinger/mcp",
3
- "version": "2.13.1",
3
+ "version": "2.15.0",
4
4
  "mcpName": "io.github.hostinger/hostinger-api-mcp",
5
5
  "description": "MCP server for Hostinger API",
6
6
  "repository": {
package/server.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/hostinger/api-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "2.13.1",
9
+ "version": "2.15.0",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "@hostinger/mcp",
14
- "version": "2.13.1",
14
+ "version": "2.15.0",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },
@@ -64,7 +64,7 @@ const GetSkillRequestSchema = z.object({
64
64
 
65
65
  /**
66
66
  * MCP Server for Hostinger API
67
- * Generated from OpenAPI spec version 1.64.1
67
+ * Generated from OpenAPI spec version 1.66.0
68
68
  */
69
69
  class MCPServer {
70
70
  constructor({ name, version, tools, instructions, skills = [] }) {
@@ -94,7 +94,7 @@ interface Skill { uri: string; frontmatter: Record<string, unknown>; resources:
94
94
 
95
95
  /**
96
96
  * MCP Server for Hostinger API
97
- * Generated from OpenAPI spec version 1.64.1
97
+ * Generated from OpenAPI spec version 1.66.0
98
98
  */
99
99
  class MCPServer {
100
100
  private readonly name: string;
@@ -7317,6 +7317,229 @@ export default [
7317
7317
  ],
7318
7318
  "group": "hosting"
7319
7319
  },
7320
+ {
7321
+ "name": "hosting_headless_submit-build-report",
7322
+ "title": "Submit headless build report",
7323
+ "annotations": {
7324
+ "title": "Submit headless build report",
7325
+ "readOnlyHint": false,
7326
+ "destructiveHint": false
7327
+ },
7328
+ "description": "Submits the build report the headless skill writes at the end of a run (including early\nstops), so Hostinger can learn where builds get stuck. Send one report per call, with the\nreport JSON as the request body, unchanged. Only send a report when the user agreed to it.\n\nThe report must match report.schema.json v1; an invalid report returns 422 and is not\nstored. The report is linked to the authenticated account, so do not add account details\nto it.",
7329
+ "method": "POST",
7330
+ "path": "/api/hosting/v1/headless/agent-reports",
7331
+ "inputSchema": {
7332
+ "type": "object",
7333
+ "properties": {
7334
+ "schema_version": {
7335
+ "type": "string",
7336
+ "description": "Report schema version",
7337
+ "enum": [
7338
+ "1"
7339
+ ]
7340
+ },
7341
+ "generated_at": {
7342
+ "type": "string",
7343
+ "description": "When the report was written"
7344
+ },
7345
+ "consent": {
7346
+ "type": "object",
7347
+ "description": "Upload status of the report, as written by the headless skill",
7348
+ "properties": {
7349
+ "sent": {
7350
+ "type": "boolean",
7351
+ "description": "sent parameter"
7352
+ },
7353
+ "note": {
7354
+ "type": "string",
7355
+ "description": "note parameter"
7356
+ }
7357
+ },
7358
+ "required": [
7359
+ "sent"
7360
+ ]
7361
+ },
7362
+ "run": {
7363
+ "type": "object",
7364
+ "description": "The run the report is for",
7365
+ "properties": {
7366
+ "id": {
7367
+ "type": "string",
7368
+ "description": "id parameter"
7369
+ },
7370
+ "kind": {
7371
+ "type": "string",
7372
+ "description": "kind parameter",
7373
+ "enum": [
7374
+ "build",
7375
+ "resume",
7376
+ "redesign",
7377
+ "iterate"
7378
+ ]
7379
+ },
7380
+ "skill": {
7381
+ "type": "string",
7382
+ "description": "skill parameter"
7383
+ },
7384
+ "follow_ups": {
7385
+ "type": "array",
7386
+ "description": "follow_ups parameter",
7387
+ "items": {
7388
+ "type": "object",
7389
+ "description": "follow_ups parameter",
7390
+ "properties": {}
7391
+ }
7392
+ }
7393
+ },
7394
+ "required": [
7395
+ "id",
7396
+ "kind"
7397
+ ]
7398
+ },
7399
+ "info": {
7400
+ "type": "object",
7401
+ "description": "Website, tool and outcome of the run",
7402
+ "properties": {
7403
+ "domain": {
7404
+ "type": "string",
7405
+ "description": "domain parameter"
7406
+ },
7407
+ "tool": {
7408
+ "type": "string",
7409
+ "description": "tool parameter"
7410
+ },
7411
+ "outcome": {
7412
+ "type": "string",
7413
+ "description": "outcome parameter",
7414
+ "enum": [
7415
+ "live",
7416
+ "stopped",
7417
+ "failed",
7418
+ "abandoned"
7419
+ ]
7420
+ }
7421
+ },
7422
+ "required": [
7423
+ "domain",
7424
+ "tool",
7425
+ "outcome"
7426
+ ]
7427
+ },
7428
+ "timing": {
7429
+ "type": "object",
7430
+ "description": "Run start and end times and per-stage timings",
7431
+ "properties": {
7432
+ "started_at": {
7433
+ "type": "string",
7434
+ "description": "started_at parameter"
7435
+ },
7436
+ "ended_at": {
7437
+ "type": "string",
7438
+ "description": "ended_at parameter"
7439
+ },
7440
+ "minutes_total": {
7441
+ "type": "number",
7442
+ "description": "minutes_total parameter"
7443
+ },
7444
+ "stages": {
7445
+ "type": "array",
7446
+ "description": "stages parameter",
7447
+ "items": {
7448
+ "type": "object",
7449
+ "description": "stages parameter",
7450
+ "properties": {}
7451
+ }
7452
+ }
7453
+ },
7454
+ "required": [
7455
+ "started_at",
7456
+ "ended_at",
7457
+ "minutes_total",
7458
+ "stages"
7459
+ ]
7460
+ },
7461
+ "tokens": {
7462
+ "type": "object",
7463
+ "description": "Token usage, only when the tool reports its own usage",
7464
+ "properties": {}
7465
+ },
7466
+ "issues": {
7467
+ "type": "array",
7468
+ "description": "Problems hit during the run",
7469
+ "items": {
7470
+ "type": "object",
7471
+ "description": "issues parameter",
7472
+ "properties": {}
7473
+ }
7474
+ },
7475
+ "user_feedback": {
7476
+ "type": "array",
7477
+ "description": "Feedback the user gave during the run",
7478
+ "items": {
7479
+ "type": "object",
7480
+ "description": "user_feedback parameter",
7481
+ "properties": {}
7482
+ }
7483
+ },
7484
+ "skill_gaps": {
7485
+ "type": "array",
7486
+ "description": "Places where the skill instructions were missing or wrong",
7487
+ "items": {
7488
+ "type": "object",
7489
+ "description": "skill_gaps parameter",
7490
+ "properties": {}
7491
+ }
7492
+ },
7493
+ "what_went_well": {
7494
+ "type": "array",
7495
+ "description": "Things that worked well during the run",
7496
+ "items": {
7497
+ "type": "object",
7498
+ "description": "what_went_well parameter",
7499
+ "properties": {}
7500
+ }
7501
+ },
7502
+ "logging_gaps": {
7503
+ "type": "array",
7504
+ "description": "Where the run log is missing or unsure",
7505
+ "items": {
7506
+ "type": "object",
7507
+ "description": "logging_gaps parameter",
7508
+ "properties": {}
7509
+ }
7510
+ },
7511
+ "previous_runs": {
7512
+ "type": "array",
7513
+ "description": "Earlier runs for the same website",
7514
+ "items": {
7515
+ "type": "object",
7516
+ "description": "previous_runs parameter",
7517
+ "properties": {}
7518
+ }
7519
+ }
7520
+ },
7521
+ "required": [
7522
+ "schema_version",
7523
+ "generated_at",
7524
+ "consent",
7525
+ "run",
7526
+ "info",
7527
+ "timing",
7528
+ "tokens",
7529
+ "issues",
7530
+ "user_feedback",
7531
+ "skill_gaps",
7532
+ "what_went_well",
7533
+ "previous_runs"
7534
+ ]
7535
+ },
7536
+ "security": [
7537
+ {
7538
+ "apiToken": []
7539
+ }
7540
+ ],
7541
+ "group": "hosting"
7542
+ },
7320
7543
  {
7321
7544
  "name": "hosting_nodejs_list-builds",
7322
7545
  "title": "List NodeJS builds",
@@ -15645,6 +15868,79 @@ export default [
15645
15868
  ],
15646
15869
  "group": "vps"
15647
15870
  },
15871
+ {
15872
+ "name": "wordpress_ai-content_generate-images",
15873
+ "title": "Generate images",
15874
+ "annotations": {
15875
+ "title": "Generate images",
15876
+ "readOnlyHint": false,
15877
+ "destructiveHint": false
15878
+ },
15879
+ "description": "Generate one or more images from a prompt and an image type for the specified\nWordPress installation. Images are returned inline as base64-encoded PNGs. They match\nthe requested aspect ratio and are never smaller than the requested size; logos are\ntransparent PNGs cropped to the mark.\n\nGeneration is synchronous and can take up to a minute. The endpoint is limited to\n10 requests per minute.\n\nProvide the WordPress installation (software) identifier in the path. It can\nbe obtained from GET /api/hosting/v1/wordpress/installations (the `id` field).",
15880
+ "method": "POST",
15881
+ "path": "/api/hosting/v1/accounts/{username}/wordpress/{software}/content/images/generate",
15882
+ "inputSchema": {
15883
+ "type": "object",
15884
+ "properties": {
15885
+ "username": {
15886
+ "type": "string",
15887
+ "description": "username parameter"
15888
+ },
15889
+ "software": {
15890
+ "type": "string",
15891
+ "description": "WordPress installation (software) identifier"
15892
+ },
15893
+ "prompt": {
15894
+ "type": "string",
15895
+ "description": "What the image should show. For the logo type, the wordmark and mark to render."
15896
+ },
15897
+ "image_type": {
15898
+ "type": "string",
15899
+ "description": "Kind of image to generate. It sets the default size and cropping.",
15900
+ "enum": [
15901
+ "hero",
15902
+ "background",
15903
+ "inline",
15904
+ "gallery",
15905
+ "product",
15906
+ "logo"
15907
+ ]
15908
+ },
15909
+ "num_of_images": {
15910
+ "type": "integer",
15911
+ "description": "How many images to generate"
15912
+ },
15913
+ "width": {
15914
+ "type": "integer",
15915
+ "description": "Output width in pixels. Defaults per image type and is ignored for the logo type."
15916
+ },
15917
+ "height": {
15918
+ "type": "integer",
15919
+ "description": "Output height in pixels. Defaults per image type and is ignored for the logo type."
15920
+ },
15921
+ "style": {
15922
+ "type": "string",
15923
+ "description": "Style tokens appended to photographic prompts. Ignored for the logo type."
15924
+ },
15925
+ "color_guidance": {
15926
+ "type": "string",
15927
+ "description": "Colour direction for the logo type only. It is not rendered as text."
15928
+ }
15929
+ },
15930
+ "required": [
15931
+ "username",
15932
+ "software",
15933
+ "prompt",
15934
+ "image_type"
15935
+ ]
15936
+ },
15937
+ "security": [
15938
+ {
15939
+ "apiToken": []
15940
+ }
15941
+ ],
15942
+ "group": "wordpress"
15943
+ },
15648
15944
  {
15649
15945
  "name": "wordpress_ai-tools_show-option-status",
15650
15946
  "title": "Show AI option status",