hostinger-api-mcp 3.22.3 → 3.22.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/CHANGELOG.md +8 -0
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/skills/headless/steps/02-refine/SKILL.md +38 -22
- package/skills/headless/steps/03-provision/wordpress/SKILL.md +1 -1
- package/skills/headless/steps/05-design/SKILL.md +4 -3
- package/src/core/skills.js +9 -9
- package/src/core/skills.ts +9 -9
- package/src/servers/agency-hosting.js +1 -1
- package/src/servers/agency-hosting.ts +1 -1
- package/src/servers/agent-readiness.js +1 -1
- package/src/servers/agent-readiness.ts +1 -1
- package/src/servers/all.js +1 -1
- package/src/servers/all.ts +1 -1
- package/src/servers/billing.js +1 -1
- package/src/servers/billing.ts +1 -1
- package/src/servers/dns.js +1 -1
- package/src/servers/dns.ts +1 -1
- package/src/servers/domains.js +1 -1
- package/src/servers/domains.ts +1 -1
- package/src/servers/ecommerce.js +1 -1
- package/src/servers/ecommerce.ts +1 -1
- package/src/servers/horizons.js +1 -1
- package/src/servers/horizons.ts +1 -1
- package/src/servers/hosting.js +1 -1
- package/src/servers/hosting.ts +1 -1
- package/src/servers/mail.js +1 -1
- package/src/servers/mail.ts +1 -1
- package/src/servers/reach.js +1 -1
- package/src/servers/reach.ts +1 -1
- package/src/servers/vps.js +1 -1
- package/src/servers/vps.ts +1 -1
- package/src/servers/wordpress.js +1 -1
- package/src/servers/wordpress.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,14 @@ 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
|
+
## v3.22.4 — 2026-10-30
|
|
8
|
+
|
|
9
|
+
### Also in this release
|
|
10
|
+
|
|
11
|
+
- Dependencies: `package-lock.json`
|
|
12
|
+
- Bundled agent skills: `skills/headless/steps/02-refine/SKILL.md`, `skills/headless/steps/03-provision/wordpress/SKILL.md`, `skills/headless/steps/05-design/SKILL.md`
|
|
13
|
+
- Other files: `src/core/skills.js`, `src/core/skills.ts`
|
|
14
|
+
|
|
7
15
|
## v3.22.3 — 2026-10-29
|
|
8
16
|
|
|
9
17
|
No changes to the published artifact.
|
package/gemini-extension.json
CHANGED
package/package.json
CHANGED
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": "3.22.
|
|
9
|
+
"version": "3.22.4",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@hostinger/mcp",
|
|
14
|
-
"version": "3.22.
|
|
14
|
+
"version": "3.22.4",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: headless-step-refine
|
|
3
|
-
description: "Step 2 (refine) of the Hostinger Headless flow. Turns the user's seed — often just a domain — into a brief through conversation: asks what they want to build (purpose, audience, tone, pages, products, must-haves; images, local files, links all welcome), then *infers* the backend that fits (WordPress, Ecommerce, WordPress + Ecommerce, WordPress + WooCommerce for a one-site content+store, or Webapp for a custom app/SPA) — it never asks the user to pick a backend or a technology; the user confirms the plan in plain language,
|
|
3
|
+
description: "Step 2 (refine) of the Hostinger Headless flow. Turns the user's seed — often just a domain — into a brief through conversation: asks what they want to build (purpose, audience, tone, pages, products, must-haves; images, local files, links all welcome), then *infers* the backend that fits (WordPress, Ecommerce, WordPress + Ecommerce, WordPress + WooCommerce for a one-site content+store, or Webapp for a custom app/SPA) — it never asks the user to pick a backend or a technology; it asks for the site name (suggesting a few when the user has none), the user confirms the plan in plain language, and only after their yes it writes brief.md. Hostinger Ecommerce stays the default for selling; WooCommerce is chosen only when the user explicitly asks for it or wants content and a store on one WordPress site."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# headless-step-refine
|
|
@@ -9,12 +9,13 @@ Find out what the user wants to build, guess which backend fits, and write it do
|
|
|
9
9
|
**conversation, not a form**: the pasted prompt names a domain and nothing else, so everything about
|
|
10
10
|
the site comes from talking to the user.
|
|
11
11
|
|
|
12
|
-
**Keep it short.** You must know what they are building, whether they sell and whether they'll
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
top-level
|
|
12
|
+
**Keep it short.** You must know what they are building, whether they sell and whether they'll publish
|
|
13
|
+
content over time — enough to guess the backend — plus the **site name** the user gave or picked and,
|
|
14
|
+
when Step 2 found a project in the folder, the **Existing project** confirms. Every other question is
|
|
15
|
+
optional: the more the user gives, the better the site, but never hold the build hostage to
|
|
16
|
+
refinement. Fill gaps with sensible defaults (never the site name) and say so in the brief. A skipped
|
|
17
|
+
question tool is not the user passing on a question; see *When you ask the user* in the top-level
|
|
18
|
+
`SKILL.md`.
|
|
18
19
|
|
|
19
20
|
> **Never ask the user to choose a backend or a technology.** Don't ask "WordPress or Ecommerce?",
|
|
20
21
|
> don't present WordPress/Ecommerce/WooCommerce/Webapp as options, and don't surface the backend in a
|
|
@@ -37,9 +38,10 @@ Read everything already in `~/.hostinger/<domain>/` (`state.json`, `connect.json
|
|
|
37
38
|
or files the user dropped there) — it all counts as input.
|
|
38
39
|
|
|
39
40
|
If `brief.md` already exists for this domain, **don't overwrite it**. Show the user a three-line
|
|
40
|
-
summary (what the site is, its pages, the suggested backend) and ask: *keep it, or change
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
summary (what the site is, its pages, the suggested backend) and ask: *keep it, or change something?*
|
|
42
|
+
Keep → go to Step 6, unless the brief has no **Site name** section: then ask Round 1 question 4 first
|
|
43
|
+
and add it. Change → edit only what they asked for, then re-confirm (Step 5). A skipped tool result is
|
|
44
|
+
not Keep; see *When you ask the user* in the top-level `SKILL.md`.
|
|
43
45
|
|
|
44
46
|
If the site is already provisioned (`site.json` exists), the backend is **fixed** — never change the
|
|
45
47
|
Suggested backend on a provisioned site. Explain that switching backends means a new domain.
|
|
@@ -68,7 +70,7 @@ below in your first message, after Round 1 when Round 1 still needs asking; they
|
|
|
68
70
|
the 3 rounds, and code that answers Round 1 never skips them. Otherwise don't ask Build mode: it
|
|
69
71
|
defaults (see *Build mode* below).
|
|
70
72
|
|
|
71
|
-
If Step 2 already answers the
|
|
73
|
+
If Step 2 already answers the Round 1 questions, skip the Round 1–3 questions below. Otherwise
|
|
72
74
|
open with one line and **wait for the user's answer**: *"Tell me what you want to build — a
|
|
73
75
|
sentence is enough. Links, screenshots or files help too. Skip anything you don't want to answer."*
|
|
74
76
|
|
|
@@ -82,13 +84,13 @@ sentence is enough. Links, screenshots or files help too. Skip anything you don'
|
|
|
82
84
|
Ask in **short rounds of 2–3 questions**, and adapt each round to the previous answers. If your tool
|
|
83
85
|
has a structured question UI (multiple choice with an "other" field), use it for the choice-shaped
|
|
84
86
|
follow-up questions (pages, selling yes/no, tone) — **never for the opening "what do you want to
|
|
85
|
-
build?" and never for the backend** (that's your decision, not theirs). **At most 3 rounds**, and
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
that round in plain text, as *When you ask the user* in the
|
|
89
|
-
repeats the round; it doesn't count toward the 3.
|
|
87
|
+
build?" and never for the backend** (that's your decision, not theirs). **At most 3 rounds**, and stop
|
|
88
|
+
early as soon as you can guess the backend and the user seems done — "just build it" or "you decide"
|
|
89
|
+
means *use defaults*, not *ask again*, except for the site name and the Step 5 confirm. A skipped tool
|
|
90
|
+
result is not their answer: re-ask that round in plain text, as *When you ask the user* in the
|
|
91
|
+
top-level `SKILL.md` says. The re-ask repeats the round; it doesn't count toward the 3.
|
|
90
92
|
|
|
91
|
-
**Round 1 — what it is (required;
|
|
93
|
+
**Round 1 — what it is (required; the first three decide the backend):**
|
|
92
94
|
|
|
93
95
|
1. **What are you building?** The business or project, and what the site is for.
|
|
94
96
|
2. **Will you sell anything on it?** Physical products, digital products, services with checkout —
|
|
@@ -97,6 +99,12 @@ repeats the round; it doesn't count toward the 3.
|
|
|
97
99
|
3. **Will you publish content over time?** Blog posts, articles, news, recipes, portfolio pieces,
|
|
98
100
|
case studies, and how often — or a handful of pages that rarely change. Skip it only when the
|
|
99
101
|
answer is already unmistakable ("my personal blog", an app the user is deploying).
|
|
102
|
+
4. **What's the site called?** The business or brand name the site and logo will carry. Skip it when
|
|
103
|
+
the user already named the business anywhere ("I run Paper Moon"), and use that name as given, even
|
|
104
|
+
when it differs from the domain: asking again tells them you weren't listening. With no name, or
|
|
105
|
+
"you decide", suggest 2–3 names that fit the business plus one taken from the domain
|
|
106
|
+
(`kowalski-plumbing.co.uk` → "Kowalski Plumbing"), and wait for their pick: "you decide" means
|
|
107
|
+
*pick from your suggestions*, because a name they never saw ends up on their logo and every page.
|
|
100
108
|
|
|
101
109
|
**Round 2 — what goes on it (optional, adapt to Round 1):**
|
|
102
110
|
|
|
@@ -217,9 +225,11 @@ client-only app) — it deploys as a Node.js app either way. When unsure, defaul
|
|
|
217
225
|
|
|
218
226
|
## Step 5 — Confirm the plan in one message
|
|
219
227
|
|
|
220
|
-
|
|
221
|
-
|
|
228
|
+
This confirm always happens, even after "you decide" or "just build it": an owner who said "go" early
|
|
229
|
+
hasn't seen the name or the plan yet. Send **one** message, on its own, that confirms **what you'll
|
|
230
|
+
build** — the plan, not the plumbing. Lead with the site, not the backend:
|
|
222
231
|
|
|
232
|
+
- **The name** — the site name from Round 1, as it will appear on the logo and pages.
|
|
223
233
|
- **The plan** — what it is, audience, pages, products (if any), tone. Mark anything you defaulted
|
|
224
234
|
(*"assumed: warm, minimal look"*) so the user sees what they skipped.
|
|
225
235
|
- **Your app** *(when Step 2 found a project in the folder)* — one line: keeps its look or gets a new
|
|
@@ -229,10 +239,12 @@ site, not the backend:
|
|
|
229
239
|
WordPress admin"), **not** as a choice you're asking them to make. Don't ask "is WordPress OK?" or
|
|
230
240
|
offer alternatives unless it was a genuine close call *and* the difference matters to the user.
|
|
231
241
|
|
|
232
|
-
End with *"Good to go, or anything to change?"*
|
|
242
|
+
End with *"Good to go, or anything to change?"* and end your turn there: nothing after refine
|
|
243
|
+
(provision, content, design, logo) starts until the user replies (see *When you ask the user* in the
|
|
244
|
+
top-level `SKILL.md` for a run no one will answer). A yes (or "go") → write `brief.md`. A skipped tool
|
|
233
245
|
result is not a yes (see *When you ask the user* in the top-level `SKILL.md`). Changes → apply them
|
|
234
|
-
and write it; don't loop back into questions. If the user *volunteers* a different backend, use
|
|
235
|
-
|
|
246
|
+
and write it; don't loop back into questions. If the user *volunteers* a different backend, use theirs
|
|
247
|
+
and note it in the brief.
|
|
236
248
|
|
|
237
249
|
## Step 6 — Write `brief.md` and hand off
|
|
238
250
|
|
|
@@ -255,6 +267,10 @@ routes it to the `wordpress` subfolder with the store enabled (it is **not** a s
|
|
|
255
267
|
|
|
256
268
|
> Brief agreed with the user on <today>.
|
|
257
269
|
|
|
270
|
+
## Site name
|
|
271
|
+
**<site name>** — <"Given by the user." | "Picked by the user from: <the suggestions>." | "Taken from
|
|
272
|
+
the domain; no one was there to answer.">
|
|
273
|
+
|
|
258
274
|
## Purpose
|
|
259
275
|
<what the site is, who runs it, what it's for — 2–3 sentences>
|
|
260
276
|
|
|
@@ -79,7 +79,7 @@ install WordPress straight into its `/cms` directory. This is the onboarding han
|
|
|
79
79
|
```json
|
|
80
80
|
{ "operation": "wordpress_installations_install",
|
|
81
81
|
"params": { "username": "<username>", "domain": "<domain>", "type": "headless",
|
|
82
|
-
"site_title": "<
|
|
82
|
+
"site_title": "<the brief's Site name>",
|
|
83
83
|
"credentials": { "login": "<admin login>", "email": "<account email>",
|
|
84
84
|
"password": "<strong generated password>" } } }
|
|
85
85
|
```
|
|
@@ -327,9 +327,10 @@ can't build it that way.
|
|
|
327
327
|
**The user supplied a logo** → copy it into `brand/` unchanged, note it in the **Logo** section, and
|
|
328
328
|
skip the rest of this step. Never redraw or recolour it.
|
|
329
329
|
|
|
330
|
-
Otherwise, turn the name into a **designed** logo:
|
|
331
|
-
the display font with an emoji or symbol next to it
|
|
332
|
-
idea** (as replaced by any logo wish, Step 4) with
|
|
330
|
+
Otherwise, turn the brief's **Site name**, spelled as the user confirmed it, into a **designed** logo:
|
|
331
|
+
shaped, coloured and composed. Typing the name in the display font with an emoji or symbol next to it
|
|
332
|
+
doesn't count. Build the chosen direction's **logo idea** (as replaced by any logo wish, Step 4) with
|
|
333
|
+
one or two of these moves:
|
|
333
334
|
|
|
334
335
|
| Move | What it is | Suits |
|
|
335
336
|
|---|---|---|
|