@awesomate/hosting-mcp 0.32.0 → 0.33.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 +39 -0
- package/package.json +1 -1
- package/skill/CHANGELOG.json +8 -0
- package/skill/awesomate-n8n/SKILL.md +12 -2
package/dist/index.js
CHANGED
|
@@ -40993,6 +40993,7 @@ var TITLES = {
|
|
|
40993
40993
|
awesomate_n8n_node_docs: "Get n8n node docs",
|
|
40994
40994
|
awesomate_n8n_deploy: "Deploy n8n workflow",
|
|
40995
40995
|
awesomate_n8n_library: "Install Awesomate templates",
|
|
40996
|
+
awesomate_book_session: "Book a session with Awesomate",
|
|
40996
40997
|
awesomate_n8n_test: "Test-fire n8n workflow",
|
|
40997
40998
|
awesomate_n8n_datatable_write: "Write to n8n data table",
|
|
40998
40999
|
awesomate_n8n_attach_to_app: "Attach n8n to app",
|
|
@@ -41163,6 +41164,44 @@ server.registerTool(
|
|
|
41163
41164
|
}
|
|
41164
41165
|
}
|
|
41165
41166
|
);
|
|
41167
|
+
server.registerTool(
|
|
41168
|
+
"awesomate_book_session",
|
|
41169
|
+
{
|
|
41170
|
+
annotations: annotate("awesomate_book_session", MUTATING),
|
|
41171
|
+
description: "Book a session with the Awesomate team on the client's behalf, from their credits. Use it when a template needs a credential or setup the client would rather not do alone (the install_plan help card names it), or when three test-and-fix rounds have failed. Actions: 'session_types' (what can be booked, credit cost, whether bookable on their plan, and the intake questions each asks; call FIRST), 'slots' (session_type, optional from/to ISO dates: open times with host_team_member_id), 'book' (session_type, starts_at ISO, host_team_member_id, client_name, optional timezone and intake answers; spends the credits shown; get an explicit yes first and tell them the time in THEIR timezone), 'mine' (their upcoming and past sessions). 404 not_live means bookings are not switched on for clients yet: say so and offer a support ticket instead. 402 insufficient_credits: relay it honestly and link https://hub.awesomate.ai/billing.",
|
|
41172
|
+
inputSchema: {
|
|
41173
|
+
action: external_exports.enum(["session_types", "slots", "book", "mine"]),
|
|
41174
|
+
session_type: external_exports.string().optional().describe("slots and book: the session type key from session_types"),
|
|
41175
|
+
from: external_exports.string().optional().describe("slots: ISO date to search from (default now)"),
|
|
41176
|
+
to: external_exports.string().optional().describe("slots: ISO date to search to (default from + 14 days)"),
|
|
41177
|
+
starts_at: external_exports.string().optional().describe("book: the slot start, ISO timestamp exactly as returned by slots"),
|
|
41178
|
+
host_team_member_id: external_exports.number().optional().describe("book: the host id from the chosen slot"),
|
|
41179
|
+
client_name: external_exports.string().optional().describe("book: the name the host will greet"),
|
|
41180
|
+
timezone: external_exports.string().optional().describe("book: IANA timezone, e.g. Australia/Brisbane"),
|
|
41181
|
+
intake: external_exports.record(external_exports.unknown()).optional().describe("book: answers to the session type's intake questions")
|
|
41182
|
+
}
|
|
41183
|
+
},
|
|
41184
|
+
async ({ action, session_type, from, to, starts_at, host_team_member_id, client_name, timezone, intake }) => {
|
|
41185
|
+
try {
|
|
41186
|
+
const cfg = requireConfig();
|
|
41187
|
+
if (action === "session_types") return textResult(await hubGet(cfg, "/api/bookings/session-types"));
|
|
41188
|
+
if (action === "mine") return textResult(await hubGet(cfg, "/api/bookings"));
|
|
41189
|
+
if (!session_type) return errorResult(new Error(`session_type is required for ${action}`));
|
|
41190
|
+
if (action === "slots") {
|
|
41191
|
+
const q = new URLSearchParams({ session_type });
|
|
41192
|
+
if (from) q.set("from", String(Date.parse(from)));
|
|
41193
|
+
if (to) q.set("to", String(Date.parse(to)));
|
|
41194
|
+
return textResult(await hubGet(cfg, `/api/bookings/slots?${q.toString()}`));
|
|
41195
|
+
}
|
|
41196
|
+
if (!starts_at || !host_team_member_id) return errorResult(new Error("starts_at and host_team_member_id are required for book"));
|
|
41197
|
+
return textResult(
|
|
41198
|
+
await hubPost(cfg, "/api/bookings", { session_type, starts_at, host_team_member_id, client_name: client_name ?? "", timezone, intake: intake ?? {} })
|
|
41199
|
+
);
|
|
41200
|
+
} catch (err) {
|
|
41201
|
+
return errorResult(err);
|
|
41202
|
+
}
|
|
41203
|
+
}
|
|
41204
|
+
);
|
|
41166
41205
|
server.registerTool(
|
|
41167
41206
|
"awesomate_n8n_test",
|
|
41168
41207
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@awesomate/hosting-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.0",
|
|
4
4
|
"description": "Awesomate MCP server — 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",
|
package/skill/CHANGELOG.json
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"versions": [
|
|
3
|
+
{
|
|
4
|
+
"version": "0.33.0",
|
|
5
|
+
"highlights": [
|
|
6
|
+
"When a template needs a credential you would rather not set up alone, Claude can book a session with the Awesomate team for you: awesomate_book_session shows what can be booked, the open times and the credit cost, and books with your yes",
|
|
7
|
+
"Stuck after three test-and-fix rounds on one template? Claude now suggests a support ticket, and if you say yes it sends one carrying the template, the failing execution and your own note",
|
|
8
|
+
"A missing credential's help card names what the template expects (Kie, not HTTP Bearer Auth), taken from the template's own markers"
|
|
9
|
+
]
|
|
10
|
+
},
|
|
3
11
|
{
|
|
4
12
|
"version": "0.32.0",
|
|
5
13
|
"highlights": [
|
|
@@ -94,6 +94,7 @@ the named node actually exists in the workflow before editing anything.
|
|
|
94
94
|
| Validate / create draft / update draft / activate / promote / rollback / delete draft | `awesomate_n8n_deploy` |
|
|
95
95
|
| Fire a test payload at an active workflow | `awesomate_n8n_test` |
|
|
96
96
|
| Awesomate's template library: list, detail, install_plan (pauses on a missing credential), install, redeem, installs, activate, test, rollback | `awesomate_n8n_library` |
|
|
97
|
+
| Book a session with the Awesomate team from their credits (session_types, slots, book, mine) | `awesomate_book_session` |
|
|
97
98
|
| Create/alter data tables, write rows | `awesomate_n8n_datatable_write` |
|
|
98
99
|
| Provision a Postgres DB + n8n credential | `awesomate_n8n_provision_pg` |
|
|
99
100
|
| Wire a tested webhook workflow into one of their hosted apps (stores URL + secret on the app; returns the secret ONCE for the workflow's header check) | `awesomate_n8n_attach_to_app` |
|
|
@@ -209,8 +210,17 @@ loop: nothing is designed, the bundle is installed as curated.
|
|
|
209
210
|
(`/home/credentials`), then activate again. Agents are live on install.
|
|
210
211
|
6. `test`. Each template reports `passed`, `failed` (read the execution with
|
|
211
212
|
`awesomate_n8n_executions` debug, fix configuration, re-run) or `untested` (no recipe:
|
|
212
|
-
ask them to try it once). Real side effects run; say so before testing.
|
|
213
|
-
|
|
213
|
+
ask them to try it once). Real side effects run; say so before testing.
|
|
214
|
+
|
|
215
|
+
**The stuck ladder** (a credential they cannot set up, or three failed test-and-fix rounds
|
|
216
|
+
on ONE template): (1) `awesomate_support ask` and the help card's articles; (2) offer a
|
|
217
|
+
session with the Awesomate team through `awesomate_book_session` (session_types first; it
|
|
218
|
+
costs the credits shown; book only on their yes; 404 not_live means bookings are not open
|
|
219
|
+
yet, go to 3); (3) SUGGEST a support ticket. Never send one unasked. If they say yes, ask
|
|
220
|
+
for a sentence in their own words, then `awesomate_support create_ticket` with category
|
|
221
|
+
'Workflow error', subject `<bundle>: <template> fails after install`, and a message that
|
|
222
|
+
carries the bundle and template slugs, the execution id and failing node from the last
|
|
223
|
+
test, what you tried, and their sentence verbatim. Never paste workflow JSON into a ticket.
|
|
214
224
|
7. `rollback` removes what their install created (never a reused workflow), with their OK.
|
|
215
225
|
8. A 403 whose `missingScopes` contains `n8n:deploy` means Essentials. Show the catalog,
|
|
216
226
|
say installing needs Support Plus, link `https://hub.awesomate.ai/billing`, and stop.
|