@awesomate/hosting-mcp 0.15.0 → 0.16.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/dist/index.js
CHANGED
|
@@ -40031,7 +40031,7 @@ server.registerTool(
|
|
|
40031
40031
|
server.registerTool(
|
|
40032
40032
|
"awesomate_get_context",
|
|
40033
40033
|
{
|
|
40034
|
-
description: "Call this FIRST each session. Returns the connected Awesomate account: plan, capabilities (shell access), plan limits, scopes this token can exercise, token expiry (warn the user if within 7 days), cPanel routing when provisioned, and skill.updateAvailable \u2014 if true, the local
|
|
40034
|
+
description: "Call this FIRST each session. Returns the connected Awesomate account: plan, capabilities (shell access), plan limits, scopes this token can exercise, token expiry (warn the user if within 7 days), cPanel routing when provisioned, and skill.updateAvailable \u2014 if true, the local Awesomate skill files are older than this server; run awesomate_skill_update to refresh them in place (new content loads next session \u2014 mention once, finish the current task first). If the token is also near expiry, re-running Connect Claude Code from hub.awesomate.ai/sites refreshes skills AND renews the token in one go.",
|
|
40035
40035
|
inputSchema: {}
|
|
40036
40036
|
},
|
|
40037
40037
|
async () => {
|
|
@@ -40285,10 +40285,10 @@ server.registerTool(
|
|
|
40285
40285
|
server.registerTool(
|
|
40286
40286
|
"awesomate_support",
|
|
40287
40287
|
{
|
|
40288
|
-
description: "Help the user with the service itself \u2014 questions, being stuck, or reaching a human. action 'faq' {q} searches the published help library (answer FROM the results; never invent policy or pricing). action 'create_ticket' {subject, message} opens a support ticket \u2014 draft it in the user's words, SHOW it, and get an explicit yes before sending; it emails the Awesomate team and returns a portal URL. action 'list_tickets' shows their tickets and status. Use the awesomate-support skill for the full flow. Not for building \u2014 route n8n work to awesomate-n8n and hosting to awesomate-hosting.",
|
|
40288
|
+
description: "Help the user with the service itself \u2014 questions, being stuck, or reaching a human. action 'faq' {q} searches the published help library (answer FROM the results; never invent policy or pricing). action 'help_docs' {q} searches the full Help Centre articles live \u2014 use when the FAQ has no good answer, and cite the returned article URLs. action 'create_ticket' {subject, message} opens a support ticket \u2014 draft it in the user's words, SHOW it, and get an explicit yes before sending; it emails the Awesomate team and returns a portal URL. action 'list_tickets' shows their tickets and status. Use the awesomate-support skill for the full flow. Not for building \u2014 route n8n work to awesomate-n8n and hosting to awesomate-hosting.",
|
|
40289
40289
|
inputSchema: {
|
|
40290
|
-
action: external_exports.enum(["faq", "create_ticket", "list_tickets"]),
|
|
40291
|
-
q: external_exports.string().optional().describe("faq
|
|
40290
|
+
action: external_exports.enum(["faq", "help_docs", "create_ticket", "list_tickets"]),
|
|
40291
|
+
q: external_exports.string().optional().describe("faq and help_docs: the question or topic"),
|
|
40292
40292
|
subject: external_exports.string().optional().describe("create_ticket only"),
|
|
40293
40293
|
message: external_exports.string().optional().describe("create_ticket only: the body, in the user's words")
|
|
40294
40294
|
}
|
|
@@ -40299,6 +40299,10 @@ server.registerTool(
|
|
|
40299
40299
|
if (action === "faq") {
|
|
40300
40300
|
return textResult(await hubGet(cfg, `/api/help/faq${q ? `?q=${encodeURIComponent(q)}` : ""}`));
|
|
40301
40301
|
}
|
|
40302
|
+
if (action === "help_docs") {
|
|
40303
|
+
if (!q) return errorResult(new Error("help_docs needs q"));
|
|
40304
|
+
return textResult(await hubGet(cfg, `/api/help/docs?q=${encodeURIComponent(q)}`));
|
|
40305
|
+
}
|
|
40302
40306
|
if (action === "list_tickets") {
|
|
40303
40307
|
return textResult(await hubGet(cfg, "/api/support/tickets"));
|
|
40304
40308
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@awesomate/hosting-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "Awesomate MCP server \u2014 lets Claude manage your Awesomate WordPress hosting, plan, limits, n8n automations, and build Node/static apps + databases",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
@@ -37,8 +37,9 @@ once (plus `awesomate_get_limits` before any create/change) and cache:
|
|
|
37
37
|
- **`patExpiresAt`** — within ~7 days, or any 401: re-run the setup prompt at
|
|
38
38
|
**hub.awesomate.ai/sites → Connect Claude Code** to refresh the token.
|
|
39
39
|
- **`skill.updateAvailable`** — this skill's local files are older than the MCP
|
|
40
|
-
server. Mention once (don't nag);
|
|
41
|
-
|
|
40
|
+
server. Mention once (don't nag); run `awesomate_skill_update` to refresh in
|
|
41
|
+
place (new content loads next session). If the token is also near expiry, the
|
|
42
|
+
Connect re-run above does both. Not urgent — finish the user's request first.
|
|
42
43
|
- **`cpanel`** routing (host/user), present once hosting is provisioned.
|
|
43
44
|
|
|
44
45
|
If `awesomate_get_context` fails with a connectivity error, it's the user's
|
|
@@ -20,18 +20,22 @@ also carries the plan). Describe what a plan or upgrade INCLUDES from
|
|
|
20
20
|
balance without spending anything. Never quote a plan, price, or balance
|
|
21
21
|
from memory.
|
|
22
22
|
|
|
23
|
-
## 1. FAQ first
|
|
23
|
+
## 1. FAQ first, then help docs
|
|
24
24
|
|
|
25
25
|
For any "how do I", "why does", "what is" question about the service:
|
|
26
26
|
|
|
27
27
|
1. Call `awesomate_support {action:'faq', q:'<their question>'}`.
|
|
28
28
|
2. Answer FROM the returned entries, in your own plain words. Cite nothing
|
|
29
29
|
the FAQ and tools didn't say — no invented policy, no guessed pricing.
|
|
30
|
-
3. If the FAQ
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
3. If the FAQ misses or only partially answers, call
|
|
31
|
+
`awesomate_support {action:'help_docs', q:'<topic>'}` — a live search of
|
|
32
|
+
the full Help Centre articles. Answer from the excerpts and give the
|
|
33
|
+
article's URL so the user can read the full steps.
|
|
34
|
+
4. If neither answers it: "I don't have a confirmed answer for that. Want
|
|
33
35
|
me to ask the Awesomate team? I'll draft a support ticket for you to
|
|
34
|
-
approve first." Then go to §2 if they say yes.
|
|
36
|
+
approve first." Then go to §2 if they say yes. (An empty help_docs
|
|
37
|
+
result can also mean the search is temporarily down — the response's
|
|
38
|
+
help_centre_url is always safe to offer for browsing.)
|
|
35
39
|
|
|
36
40
|
## 2. Ticket flow — talking to a human
|
|
37
41
|
|