hostinger-api-mcp 3.10.1 → 3.10.2
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 +7 -0
- package/gemini-extension.json +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
- package/skills/headless/SKILL.md +11 -0
- package/skills/headless/steps/01-check-state/SKILL.md +2 -1
- package/skills/headless/steps/02-refine/SKILL.md +20 -11
- package/skills/headless/steps/04-content-model/SKILL.md +2 -1
- package/skills/headless/steps/05-design/SKILL.md +5 -2
- package/src/core/skills.js +15 -15
- package/src/core/skills.ts +15 -15
- 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,13 @@ 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.10.2 — 2026-10-26
|
|
8
|
+
|
|
9
|
+
### Also in this release
|
|
10
|
+
|
|
11
|
+
- Bundled agent skills: 5 files
|
|
12
|
+
- Other files: `src/core/skills.js`, `src/core/skills.ts`
|
|
13
|
+
|
|
7
14
|
## v3.10.1 — 2026-10-26
|
|
8
15
|
|
|
9
16
|
### Also in this release
|
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.10.
|
|
9
|
+
"version": "3.10.2",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "@hostinger/mcp",
|
|
14
|
-
"version": "3.10.
|
|
14
|
+
"version": "3.10.2",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|
package/skills/headless/SKILL.md
CHANGED
|
@@ -102,6 +102,17 @@ user is offered the choice to continue, switch domains, or start over — before
|
|
|
102
102
|
Refinement before provisioning, because the backend cannot be chosen until the brief exists.
|
|
103
103
|
Validation before deploy, always — nothing reaches the live domain unseen.
|
|
104
104
|
|
|
105
|
+
### When you ask the user
|
|
106
|
+
|
|
107
|
+
A question tool's result is the user's answer only when it carries their choice or their words. When
|
|
108
|
+
it comes back skipped, rejected, empty or as an error (a *skipped* result), nobody has answered yet:
|
|
109
|
+
Cursor's `AskQuestion`, for one, returns "Questions skipped by the user" when no one touched it. Ask
|
|
110
|
+
the same questions again as plain text in your reply, end your turn, and continue from what the user
|
|
111
|
+
types. One plain-text re-ask is enough: it can't come back skipped. Fill a question you asked with a
|
|
112
|
+
default only when the user says so in their own words ("you decide", "just build it", "skip that"),
|
|
113
|
+
or when they said up front that no one will be there to answer; then list those defaults under gaps
|
|
114
|
+
in the final report. Every step that asks the user something follows this.
|
|
115
|
+
|
|
105
116
|
### Background provision & the instance barrier
|
|
106
117
|
|
|
107
118
|
**Provision always runs — what it does depends on what the domain already has.** Often onboarding on
|
|
@@ -187,7 +187,8 @@ connect-only files are *not* something to resume.
|
|
|
187
187
|
- **Buy a domain** — they want a custom domain instead of the temporary one. Route to the domain
|
|
188
188
|
purchase / `connect-domain` flow, then continue with the chosen domain.
|
|
189
189
|
|
|
190
|
-
When the intent is ambiguous, **ask** — don't guess.
|
|
190
|
+
When the intent is ambiguous, **ask** — don't guess. A skipped tool result is ambiguous; see
|
|
191
|
+
*When you ask the user* in the top-level `SKILL.md`.
|
|
191
192
|
|
|
192
193
|
---
|
|
193
194
|
|
|
@@ -10,8 +10,10 @@ Find out what the user wants to build, guess which backend fits, and write it do
|
|
|
10
10
|
the site comes from talking to the user.
|
|
11
11
|
|
|
12
12
|
**Keep it short.** The only thing you must know is *what they are building* — enough to guess the
|
|
13
|
-
backend. Every other question is
|
|
14
|
-
hold the build hostage to refinement. Fill gaps with sensible defaults and say so in the brief.
|
|
13
|
+
backend. Every other question is optional: the more the user gives, the better the site, but never
|
|
14
|
+
hold the build hostage to refinement. Fill gaps with sensible defaults and say so in the brief. A
|
|
15
|
+
skipped question tool is not the user passing on a question; see *When you ask the user* in the
|
|
16
|
+
top-level `SKILL.md`.
|
|
15
17
|
|
|
16
18
|
> **Never ask the user to choose a backend or a technology.** Don't ask "WordPress or Ecommerce?",
|
|
17
19
|
> don't present WordPress/Ecommerce/WooCommerce/Webapp as options, and don't surface the backend in a
|
|
@@ -34,8 +36,9 @@ Read everything already in `~/.hostinger/<domain>/` (`state.json`, `connect.json
|
|
|
34
36
|
or files the user dropped there) — it all counts as input.
|
|
35
37
|
|
|
36
38
|
If `brief.md` already exists for this domain, **don't overwrite it**. Show the user a three-line
|
|
37
|
-
summary (what the site is, its pages, the suggested backend) and ask: *keep it, or change
|
|
38
|
-
Keep → go to Step 6. Change → edit only what they asked for, then re-confirm (Step 5).
|
|
39
|
+
summary (what the site is, its pages, the suggested backend) and ask: *keep it, or change
|
|
40
|
+
something?* Keep → go to Step 6. Change → edit only what they asked for, then re-confirm (Step 5). A
|
|
41
|
+
skipped tool result is not Keep; see *When you ask the user* in the top-level `SKILL.md`.
|
|
39
42
|
|
|
40
43
|
If the site is already provisioned (`site.json` exists), the backend is **fixed** — never change the
|
|
41
44
|
Suggested backend on a provisioned site. Explain that switching backends means a new domain.
|
|
@@ -75,9 +78,11 @@ sentence is enough. Links, screenshots or files help too. Skip anything you don'
|
|
|
75
78
|
Ask in **short rounds of 2–3 questions**, and adapt each round to the previous answers. If your tool
|
|
76
79
|
has a structured question UI (multiple choice with an "other" field), use it for the choice-shaped
|
|
77
80
|
follow-up questions (pages, selling yes/no, tone) — **never for the opening "what do you want to
|
|
78
|
-
build?" and never for the backend** (that's your decision, not theirs). **At most 3 rounds**, and
|
|
79
|
-
seems done — "just build it"
|
|
80
|
-
again*.
|
|
81
|
+
build?" and never for the backend** (that's your decision, not theirs). **At most 3 rounds**, and
|
|
82
|
+
stop early as soon as you can guess the backend and the user seems done — "just build it" or "you
|
|
83
|
+
decide" means *use defaults*, not *ask again*. A skipped tool result is not their answer: re-ask
|
|
84
|
+
that round in plain text, as *When you ask the user* in the top-level `SKILL.md` says. The re-ask
|
|
85
|
+
repeats the round; it doesn't count toward the 3.
|
|
81
86
|
|
|
82
87
|
**Round 1 — what it is (the only required round):**
|
|
83
88
|
|
|
@@ -85,7 +90,7 @@ again*.
|
|
|
85
90
|
2. **Will you sell anything on it?** Physical products, digital products, services with checkout —
|
|
86
91
|
or nothing. *This decides the backend.* Skip it only when the answer is already unmistakable
|
|
87
92
|
("an online shop for my candles", "my personal blog"); when in doubt, ask.
|
|
88
|
-
3. **Who is it for?** The audience, and how they'll find the site. *(
|
|
93
|
+
3. **Who is it for?** The audience, and how they'll find the site. *(optional)*
|
|
89
94
|
|
|
90
95
|
**Round 2 — what goes on it (optional, adapt to Round 1):**
|
|
91
96
|
|
|
@@ -133,6 +138,9 @@ the default from what you found:
|
|
|
133
138
|
— you design and code it." Today's flow: the design step proposes directions and the frontend step
|
|
134
139
|
scaffolds and implements them.
|
|
135
140
|
|
|
141
|
+
A skipped tool result is not a pick: re-ask in plain text, and use the seeded default only when the
|
|
142
|
+
user says so (see *When you ask the user* in the top-level `SKILL.md`).
|
|
143
|
+
|
|
136
144
|
Record the answer as the brief's **Build mode**. This is the one frontend/technology question you *do*
|
|
137
145
|
put to the user; everything else about the stack (framework, SSR/SSG) is still inferred. The deliverable
|
|
138
146
|
is the same either way — a working site on the backend; only *who drives the frontend* changes.
|
|
@@ -192,9 +200,10 @@ site, not the backend:
|
|
|
192
200
|
WordPress admin"), **not** as a choice you're asking them to make. Don't ask "is WordPress OK?" or
|
|
193
201
|
offer alternatives unless it was a genuine close call *and* the difference matters to the user.
|
|
194
202
|
|
|
195
|
-
End with *"Good to go, or anything to change?"* A yes (or
|
|
196
|
-
|
|
197
|
-
*volunteers* a different backend, use
|
|
203
|
+
End with *"Good to go, or anything to change?"* A yes (or "go") → write `brief.md`. A skipped tool
|
|
204
|
+
result is not a yes (see *When you ask the user* in the top-level `SKILL.md`). Changes → apply them
|
|
205
|
+
and write it; don't loop back into questions. If the user *volunteers* a different backend, use
|
|
206
|
+
theirs and note it in the brief.
|
|
198
207
|
|
|
199
208
|
## Step 6 — Write `brief.md` and hand off
|
|
200
209
|
|
|
@@ -90,7 +90,8 @@ Guidance:
|
|
|
90
90
|
|
|
91
91
|
Every article (and every product) needs an image. There are two sources, and **you MUST offer the user
|
|
92
92
|
both and let them choose — never pick silently.** State the default for this backend in one line, name
|
|
93
|
-
the other option, and proceed on their answer (
|
|
93
|
+
the other option, and proceed on their answer ("you decide" = use the default; a skipped tool result is
|
|
94
|
+
not an answer, see *When you ask the user* in the top-level `SKILL.md`):
|
|
94
95
|
|
|
95
96
|
| Option | Tool | Backends | Needs the live instance? |
|
|
96
97
|
|---|---|---|---|
|
|
@@ -76,7 +76,8 @@ Read `brief.md`, `state.json`, and `content-model.md` if it exists.
|
|
|
76
76
|
the final report. Files or exact colours and fonts the owner supplied win over anything you read.
|
|
77
77
|
2. **Confirm in one question.** Describe the kept look in two plain sentences and ask: *keep it, or
|
|
78
78
|
change something?* "Keep the look we have" still gets this question; skip it only when the brief
|
|
79
|
-
says to change nothing at all ("keep it exactly as it is").
|
|
79
|
+
says to change nothing at all ("keep it exactly as it is"). A skipped tool result is not Keep; see
|
|
80
|
+
*When you ask the user* in the top-level `SKILL.md`. Change →
|
|
80
81
|
apply only what they asked for; a request for a new logo runs Step 6 for the logo alone.
|
|
81
82
|
3. **Check it** as in Step 5. The kept colours are fixed like brand colours: a pair that fails gets a
|
|
82
83
|
shade of the same hue in that role only. Spacing moves to the nearest grid value, and a font
|
|
@@ -188,7 +189,9 @@ never suggest one or give an example: that idea would end up in the logo.
|
|
|
188
189
|
Then:
|
|
189
190
|
|
|
190
191
|
- **Pick** → use it as written, and confirm the look in one line.
|
|
191
|
-
- **"You decide"
|
|
192
|
+
- **"You decide"** → use A, and tell them in one line which look you went with.
|
|
193
|
+
- **Skipped tool result** → not an answer: write the three directions as plain lines
|
|
194
|
+
and wait for the reply (see *When you ask the user* in the top-level `SKILL.md`).
|
|
192
195
|
- **A mix** ("A's colours with C's fonts") → merge them. Don't ask again.
|
|
193
196
|
- **Something else** → build a direction from what they said, run Step 5, and use it. Don't send
|
|
194
197
|
three new options.
|