@awesomate/hosting-mcp 0.56.0 → 0.57.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 +32 -0
- package/package.json +1 -1
- package/skill/CHANGELOG.json +7 -0
- package/skill/awesomate-portals/SKILL.md +9 -0
package/dist/index.js
CHANGED
|
@@ -41219,6 +41219,7 @@ var TITLES = {
|
|
|
41219
41219
|
awesomate_crm_apps: "Set up sign-in for your own apps",
|
|
41220
41220
|
awesomate_crm_app_users: "Manage the people who sign in to your apps",
|
|
41221
41221
|
awesomate_crm_assistant: "Set up the AI in your app's conversations",
|
|
41222
|
+
awesomate_crm_notifications: "Email people when someone replies in your app",
|
|
41222
41223
|
awesomate_crm_hooks: "Send record changes to your n8n",
|
|
41223
41224
|
awesomate_crm_email: "Draft an email to a contact list"
|
|
41224
41225
|
};
|
|
@@ -43042,6 +43043,37 @@ server.registerTool(
|
|
|
43042
43043
|
}
|
|
43043
43044
|
}
|
|
43044
43045
|
);
|
|
43046
|
+
server.registerTool(
|
|
43047
|
+
"awesomate_crm_notifications",
|
|
43048
|
+
{
|
|
43049
|
+
annotations: annotate("awesomate_crm_notifications", MUTATING),
|
|
43050
|
+
description: "Reply emails for an app's conversations (a portal's messages on a job): when someone writes, the people on the other side who are not in the app at that moment get one email, at most once an hour per conversation. A customer writing emails the team (app people in staff_roles); the team, the assistant, the account or an n8n workflow writing emails that conversation's customer. Never the author, never someone switched off. Sent from the app's name, with the message quoted and a link to the app's first https address. They are system emails, like a ticket reply or a receipt, so they carry no unsubscribe link: the owner switches them on or off per app. Off until switched on; switching on starts from now, so nothing said earlier is emailed. Email only for now. Pro and above to change; reading is every plan. action 'get' {app_id}: the setting, how many have been sent, and the last error. action 'set' {app_id, notifications}: notifications is {enabled, thread_link (the message kind's link to the conversation, e.g. 'job'), message_kind? ('message'), body_attribute? ('body'), title_attribute? ('title', on the conversation record, used in the subject), customer_link? ('customer', the conversation record's link to the customer contact), staff_roles? (['owner', 'staff'])}. Turning it on is refused with every problem listed while the kinds don't fit. Confirm with the owner before switching it on: it emails their customers.",
|
|
43051
|
+
inputSchema: {
|
|
43052
|
+
action: external_exports.enum(["get", "set"]),
|
|
43053
|
+
app_id: external_exports.string().max(48).describe("the app, from awesomate_crm_apps list"),
|
|
43054
|
+
notifications: external_exports.object({
|
|
43055
|
+
enabled: external_exports.boolean(),
|
|
43056
|
+
thread_link: external_exports.string().max(41),
|
|
43057
|
+
message_kind: external_exports.string().max(41).optional(),
|
|
43058
|
+
body_attribute: external_exports.string().max(41).optional(),
|
|
43059
|
+
title_attribute: external_exports.string().max(41).optional(),
|
|
43060
|
+
customer_link: external_exports.string().max(41).optional(),
|
|
43061
|
+
staff_roles: external_exports.array(external_exports.string().max(31)).max(10).optional()
|
|
43062
|
+
}).optional().describe("set: the whole setting; fields left out take their defaults")
|
|
43063
|
+
}
|
|
43064
|
+
},
|
|
43065
|
+
async ({ action, app_id, notifications }) => {
|
|
43066
|
+
try {
|
|
43067
|
+
const cfg = requireConfig();
|
|
43068
|
+
const path = `/api/my-crm/v1/apps/${encodeURIComponent(app_id)}/notifications`;
|
|
43069
|
+
if (action === "get") return textResult(await hubGet(cfg, path));
|
|
43070
|
+
if (!notifications) return errorResult(new Error("set needs notifications: {enabled, thread_link, ...}."));
|
|
43071
|
+
return textResult(await hubPut(cfg, path, { notifications }));
|
|
43072
|
+
} catch (err) {
|
|
43073
|
+
return errorResult(err);
|
|
43074
|
+
}
|
|
43075
|
+
}
|
|
43076
|
+
);
|
|
43045
43077
|
var crmParam = external_exports.object({
|
|
43046
43078
|
name: external_exports.string().max(41).describe("lower_case"),
|
|
43047
43079
|
type: external_exports.enum(["text", "number", "date", "datetime", "boolean", "uuid", "text_list", "number_list"]).optional().describe("default text"),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@awesomate/hosting-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.57.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,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"versions": [
|
|
3
|
+
{
|
|
4
|
+
"version": "0.57.0",
|
|
5
|
+
"highlights": [
|
|
6
|
+
"Reply emails for your portal's conversations (awesomate_crm_notifications): when your team or Bree replies, the customer gets an email if they aren't in the portal, and when a customer writes, your team does. At most one an hour per conversation",
|
|
7
|
+
"Off until you switch them on, per app. They're system emails, like a ticket reply or a receipt, sent from your app's name with the message quoted and a link back"
|
|
8
|
+
]
|
|
9
|
+
},
|
|
3
10
|
{
|
|
4
11
|
"version": "0.56.0",
|
|
5
12
|
"highlights": [
|
|
@@ -135,6 +135,15 @@ lists the two staff-only kinds it needs (`assistant_thread`, `assistant_draft`)
|
|
|
135
135
|
agent (awesomate-knowledge skill) so she can answer questions about the business. Confirm the
|
|
136
136
|
name and the default mode with the owner: switching it on lets an AI reply to their customers.
|
|
137
137
|
|
|
138
|
+
## 6b. Optional: reply emails
|
|
139
|
+
|
|
140
|
+
`awesomate_crm_notifications {action:'set', app_id, notifications: {enabled: true, thread_link: 'job'}}`
|
|
141
|
+
emails the other side of a conversation when someone writes there and they are not in the app:
|
|
142
|
+
the customer when the team or the assistant replies, the team when a customer writes. At most one
|
|
143
|
+
an hour per conversation, from the app's name, with the message quoted and a link back. They are
|
|
144
|
+
system emails (no unsubscribe link); the owner switches them on or off per app. Ask the owner
|
|
145
|
+
first: it emails their customers.
|
|
146
|
+
|
|
138
147
|
## 7. Optional: automation
|
|
139
148
|
|
|
140
149
|
- **Server key** (`awesomate_crm_apps {action:'create_key'}`): for the app's own server or an n8n
|