@silverbackbase/root 0.4.0 → 0.4.1
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/core/db.d.ts +4 -4
- package/dist/core/db.d.ts.map +1 -1
- package/dist/core/db.js +8 -8
- package/dist/core/db.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/knowledge.d.ts +3 -3
- package/dist/core/knowledge.d.ts.map +1 -1
- package/dist/core/knowledge.js +7 -7
- package/dist/core/knowledge.js.map +1 -1
- package/dist/mcp.js +39 -39
- package/dist/mcp.js.map +1 -1
- package/package.json +1 -1
package/dist/core/db.d.ts
CHANGED
|
@@ -8,10 +8,10 @@ export interface KnowledgeRow {
|
|
|
8
8
|
updatedAt: Date;
|
|
9
9
|
}
|
|
10
10
|
export interface KnowledgeDB {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
createAccount(id: string, name: string, url: string): Promise<ClientRow>;
|
|
12
|
+
listAccounts(): Promise<ClientRow[]>;
|
|
13
|
+
getAccount(id: string): Promise<ClientRow | undefined>;
|
|
14
|
+
deleteAccount(id: string): Promise<{
|
|
15
15
|
items_removed: number;
|
|
16
16
|
}>;
|
|
17
17
|
getAll(accountId: string): Promise<KnowledgeRow[]>;
|
package/dist/core/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAE1B,
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAE1B,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzE,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IACvD,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE9D,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACnD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC5E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IACxG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACnE;AAoND,eAAO,MAAM,EAAE,EAAE,WAES,CAAC"}
|
package/dist/core/db.js
CHANGED
|
@@ -60,20 +60,20 @@ function createSQLiteDB(dbPath) {
|
|
|
60
60
|
sqlite.exec("PRAGMA foreign_keys = ON;");
|
|
61
61
|
sqlite.exec(CREATE_TABLE_SQL);
|
|
62
62
|
return {
|
|
63
|
-
async
|
|
63
|
+
async createAccount(id, name, url) {
|
|
64
64
|
const now = new Date().toISOString();
|
|
65
65
|
sqlite.prepare("INSERT INTO clients (id, name, url, created_at) VALUES (?, ?, ?, ?)").run(id, name, url, now);
|
|
66
66
|
return { id, name, url, createdAt: new Date(now) };
|
|
67
67
|
},
|
|
68
|
-
async
|
|
68
|
+
async listAccounts() {
|
|
69
69
|
const rows = sqlite.prepare("SELECT * FROM clients ORDER BY created_at DESC").all();
|
|
70
70
|
return rows.map(parseSqliteClient);
|
|
71
71
|
},
|
|
72
|
-
async
|
|
72
|
+
async getAccount(id) {
|
|
73
73
|
const row = sqlite.prepare("SELECT * FROM clients WHERE id = ?").get(id);
|
|
74
74
|
return row ? parseSqliteClient(row) : undefined;
|
|
75
75
|
},
|
|
76
|
-
async
|
|
76
|
+
async deleteAccount(id) {
|
|
77
77
|
const count = sqlite.prepare("SELECT COUNT(*) as n FROM knowledge_items WHERE account_id = ?").get(id).n;
|
|
78
78
|
sqlite.prepare("DELETE FROM knowledge_items WHERE account_id = ?").run(id);
|
|
79
79
|
sqlite.prepare("DELETE FROM clients WHERE id = ?").run(id);
|
|
@@ -133,24 +133,24 @@ function createPostgresDB(url) {
|
|
|
133
133
|
};
|
|
134
134
|
}
|
|
135
135
|
return {
|
|
136
|
-
async
|
|
136
|
+
async createAccount(id, name, url) {
|
|
137
137
|
const now = new Date();
|
|
138
138
|
await sql `INSERT INTO clients (id, name, url, created_at) VALUES (${id}, ${name}, ${url}, ${now})`;
|
|
139
139
|
return { id, name, url, createdAt: now };
|
|
140
140
|
},
|
|
141
|
-
async
|
|
141
|
+
async listAccounts() {
|
|
142
142
|
await ensureInit();
|
|
143
143
|
const rows = await sql `SELECT * FROM clients ORDER BY created_at DESC`;
|
|
144
144
|
return rows.map((r) => ({ id: r.id, name: r.name, url: r.url, createdAt: new Date(r.created_at) }));
|
|
145
145
|
},
|
|
146
|
-
async
|
|
146
|
+
async getAccount(id) {
|
|
147
147
|
await ensureInit();
|
|
148
148
|
const [row] = await sql `SELECT * FROM clients WHERE id = ${id}`;
|
|
149
149
|
if (!row)
|
|
150
150
|
return undefined;
|
|
151
151
|
return { id: row.id, name: row.name, url: row.url, createdAt: new Date(row.created_at) };
|
|
152
152
|
},
|
|
153
|
-
async
|
|
153
|
+
async deleteAccount(id) {
|
|
154
154
|
await ensureInit();
|
|
155
155
|
const [{ n }] = await sql `SELECT COUNT(*)::int as n FROM knowledge_items WHERE account_id = ${id}`;
|
|
156
156
|
await sql `DELETE FROM knowledge_items WHERE account_id = ${id}`;
|
package/dist/core/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,QAAQ,MAAM,UAAU,CAAC;AA2BhC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;CAiBxB,CAAC;AAEF,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;CAiBvB,CAAC;AAEF,SAAS,cAAc,CAAC,GAA4B;IAClD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAY;QACpB,SAAS,EAAE,GAAG,CAAC,UAAoB;QACnC,QAAQ,EAAE,GAAG,CAAC,QAA6B;QAC3C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAc,CAA4B;QAC/D,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAoB,CAAC;QAC7C,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAoB,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,GAA4B;IACrD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAY;QACpB,IAAI,EAAE,GAAG,CAAC,IAAc;QACxB,GAAG,EAAE,GAAG,CAAC,GAAa;QACtB,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAoB,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACzC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE9B,OAAO;QACL,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { getContext, getCategory, createItem, updateItem, deleteItem, searchKnowledge,
|
|
1
|
+
export { getContext, getCategory, createItem, updateItem, deleteItem, searchKnowledge, createAccount, listAccounts, deleteAccount } from "./knowledge.js";
|
|
2
2
|
export { onboardFromUrl } from "./onboard.js";
|
|
3
3
|
export { refreshKnowledge } from "./refresh.js";
|
|
4
4
|
export type { KnowledgeCategory, KnowledgeItem, BusinessContext, OnboardResult, RefreshDiff, ClientRow } from "./types.js";
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1J,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3H,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { getContext, getCategory, createItem, updateItem, deleteItem, searchKnowledge,
|
|
1
|
+
export { getContext, getCategory, createItem, updateItem, deleteItem, searchKnowledge, createAccount, listAccounts, deleteAccount } from "./knowledge.js";
|
|
2
2
|
export { onboardFromUrl } from "./onboard.js";
|
|
3
3
|
export { refreshKnowledge } from "./refresh.js";
|
|
4
4
|
export { CATEGORIES } from "./types.js";
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC1J,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/core/knowledge.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { KnowledgeCategory, BusinessContext, ClientRow } from "./types.js";
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
2
|
+
export declare function createAccount(name: string, url: string): Promise<ClientRow>;
|
|
3
|
+
export declare function listAccounts(): Promise<ClientRow[]>;
|
|
4
|
+
export declare function deleteAccount(clientId: string): Promise<{
|
|
5
5
|
deleted: boolean;
|
|
6
6
|
items_removed: number;
|
|
7
7
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../src/core/knowledge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEhF,wBAAsB,
|
|
1
|
+
{"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../src/core/knowledge.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEhF,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAGjF;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAEzD;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAK1G;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAsC5E;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB;;KAG/E;AAED,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;GAK9B;AAED,wBAAsB,UAAU,CAC9B,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;GAK9B;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;;;GAG7D;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;KAGrE"}
|
package/dist/core/knowledge.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { nanoid } from "nanoid";
|
|
2
2
|
import { db } from "./db.js";
|
|
3
|
-
export async function
|
|
3
|
+
export async function createAccount(name, url) {
|
|
4
4
|
const id = nanoid();
|
|
5
|
-
return db.
|
|
5
|
+
return db.createAccount(id, name, url);
|
|
6
6
|
}
|
|
7
|
-
export async function
|
|
8
|
-
return db.
|
|
7
|
+
export async function listAccounts() {
|
|
8
|
+
return db.listAccounts();
|
|
9
9
|
}
|
|
10
|
-
export async function
|
|
11
|
-
const client = await db.
|
|
10
|
+
export async function deleteAccount(clientId) {
|
|
11
|
+
const client = await db.getAccount(clientId);
|
|
12
12
|
if (!client)
|
|
13
13
|
return { deleted: false, items_removed: 0 };
|
|
14
|
-
const { items_removed } = await db.
|
|
14
|
+
const { items_removed } = await db.deleteAccount(clientId);
|
|
15
15
|
return { deleted: true, items_removed };
|
|
16
16
|
}
|
|
17
17
|
export async function getContext(accountId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/core/knowledge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAG7B,MAAM,CAAC,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/core/knowledge.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
2
|
import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
|
|
3
3
|
import { z } from "zod";
|
|
4
|
-
import { getContext, getCategory, createItem, updateItem, deleteItem, searchKnowledge,
|
|
4
|
+
import { getContext, getCategory, createItem, updateItem, deleteItem, searchKnowledge, createAccount, listAccounts, deleteAccount, } from "./core/knowledge.js";
|
|
5
5
|
import { onboardFromUrl } from "./core/onboard.js";
|
|
6
6
|
import { refreshKnowledge } from "./core/refresh.js";
|
|
7
7
|
const CATEGORY_ENUM = z.enum([
|
|
@@ -15,112 +15,112 @@ function resolveClientId(clientId) {
|
|
|
15
15
|
export function buildServer() {
|
|
16
16
|
const server = new McpServer({ name: "root", version: "0.4.0" });
|
|
17
17
|
// ── CLIENT MANAGEMENT ─────────────────────────────────────────────────────
|
|
18
|
-
server.registerTool("
|
|
19
|
-
description: "Create a new
|
|
18
|
+
server.registerTool("root_create_account", {
|
|
19
|
+
description: "Create a new account and automatically onboard a website. Scrapes the URL, extracts business knowledge (offers, personas, competitors, geo zones…) and stores it under a new isolated account ID. Returns the account object and the full onboarding summary.",
|
|
20
20
|
inputSchema: {
|
|
21
|
-
name: z.string().describe("
|
|
22
|
-
url: z.string().describe("
|
|
21
|
+
name: z.string().describe("Account name (e.g. 'Mon business', 'Agence Dupont', 'Projet X')"),
|
|
22
|
+
url: z.string().describe("Website URL to onboard (e.g. 'https://dupont.fr')"),
|
|
23
23
|
},
|
|
24
24
|
}, async ({ name, url }) => {
|
|
25
|
-
const client = await
|
|
25
|
+
const client = await createAccount(name, url);
|
|
26
26
|
const onboarding = await onboardFromUrl(client.id, url);
|
|
27
27
|
return { content: [{ type: "text", text: JSON.stringify({ client, onboarding }) }] };
|
|
28
28
|
});
|
|
29
|
-
server.registerTool("
|
|
30
|
-
description: "List all
|
|
29
|
+
server.registerTool("root_list_accounts", {
|
|
30
|
+
description: "List all accounts stored in Root — name, URL, ID, and creation date.",
|
|
31
31
|
inputSchema: {},
|
|
32
32
|
}, async () => {
|
|
33
|
-
const clients = await
|
|
33
|
+
const clients = await listAccounts();
|
|
34
34
|
return { content: [{ type: "text", text: JSON.stringify({ count: clients.length, clients }) }] };
|
|
35
35
|
});
|
|
36
|
-
server.registerTool("
|
|
37
|
-
description: "Delete
|
|
36
|
+
server.registerTool("root_delete_account", {
|
|
37
|
+
description: "Delete an account and all its associated knowledge items.",
|
|
38
38
|
inputSchema: {
|
|
39
|
-
|
|
39
|
+
account_id: z.string().describe("The account ID to delete"),
|
|
40
40
|
},
|
|
41
|
-
}, async ({
|
|
42
|
-
const result = await
|
|
41
|
+
}, async ({ account_id }) => {
|
|
42
|
+
const result = await deleteAccount(account_id);
|
|
43
43
|
return { content: [{ type: "text", text: JSON.stringify(result) }] };
|
|
44
44
|
});
|
|
45
45
|
// ── KNOWLEDGE TOOLS ────────────────────────────────────────────────────────
|
|
46
46
|
server.registerTool("root_get_context", {
|
|
47
47
|
description: "Returns complete business knowledge for a client — offers, personas, objections, differentiators, competitors, geo zones, pricing, and FAQs. ALWAYS call this tool before generating any content, SEO article, email, or prospection material.",
|
|
48
48
|
inputSchema: {
|
|
49
|
-
|
|
49
|
+
account_id: CLIENT_ID_PARAM,
|
|
50
50
|
},
|
|
51
|
-
}, async ({
|
|
52
|
-
const context = await getContext(resolveClientId(
|
|
51
|
+
}, async ({ account_id }) => {
|
|
52
|
+
const context = await getContext(resolveClientId(account_id));
|
|
53
53
|
return { content: [{ type: "text", text: JSON.stringify(context) }] };
|
|
54
54
|
});
|
|
55
55
|
server.registerTool("root_get_category", {
|
|
56
56
|
description: "Returns a specific category of business knowledge. Use when you need only one type of data (e.g. just personas for a prospection email, just objections for a sales script).",
|
|
57
57
|
inputSchema: {
|
|
58
|
-
|
|
58
|
+
account_id: CLIENT_ID_PARAM,
|
|
59
59
|
category: CATEGORY_ENUM.describe("The knowledge category to retrieve"),
|
|
60
60
|
},
|
|
61
|
-
}, async ({
|
|
62
|
-
const items = await getCategory(resolveClientId(
|
|
61
|
+
}, async ({ account_id, category }) => {
|
|
62
|
+
const items = await getCategory(resolveClientId(account_id), category);
|
|
63
63
|
return { content: [{ type: "text", text: JSON.stringify({ category, count: items.length, items }) }] };
|
|
64
64
|
});
|
|
65
65
|
server.registerTool("root_search", {
|
|
66
66
|
description: "Search across all business knowledge with a text query. Use to find a specific objection, competitor detail, or FAQ answer.",
|
|
67
67
|
inputSchema: {
|
|
68
|
-
|
|
68
|
+
account_id: CLIENT_ID_PARAM,
|
|
69
69
|
query: z.string().describe("Search query"),
|
|
70
70
|
},
|
|
71
|
-
}, async ({
|
|
72
|
-
const results = await searchKnowledge(resolveClientId(
|
|
71
|
+
}, async ({ account_id, query }) => {
|
|
72
|
+
const results = await searchKnowledge(resolveClientId(account_id), query);
|
|
73
73
|
return { content: [{ type: "text", text: JSON.stringify({ query, count: results.length, results }) }] };
|
|
74
74
|
});
|
|
75
75
|
server.registerTool("root_onboard_from_url", {
|
|
76
|
-
description: "Onboard a client by scraping their website URL. Automatically extracts offers, personas, differentiators, geo zones, pricing, FAQs, and analyzes local competitors. Returns full context + gaps + followup questions for missing data. Use
|
|
76
|
+
description: "Onboard a client by scraping their website URL. Automatically extracts offers, personas, differentiators, geo zones, pricing, FAQs, and analyzes local competitors. Returns full context + gaps + followup questions for missing data. Use root_create_account instead if the client doesn't exist yet.",
|
|
77
77
|
inputSchema: {
|
|
78
|
-
|
|
78
|
+
account_id: CLIENT_ID_PARAM,
|
|
79
79
|
url: z.string().describe("The client website URL (e.g. https://client.fr)"),
|
|
80
80
|
},
|
|
81
|
-
}, async ({
|
|
82
|
-
const result = await onboardFromUrl(resolveClientId(
|
|
81
|
+
}, async ({ account_id, url }) => {
|
|
82
|
+
const result = await onboardFromUrl(resolveClientId(account_id), url);
|
|
83
83
|
return { content: [{ type: "text", text: JSON.stringify(result) }] };
|
|
84
84
|
});
|
|
85
85
|
server.registerTool("root_create_item", {
|
|
86
86
|
description: "Add a new knowledge item to a category. Use to add an offer, persona, competitor, or any data not extracted automatically.",
|
|
87
87
|
inputSchema: {
|
|
88
|
-
|
|
88
|
+
account_id: CLIENT_ID_PARAM,
|
|
89
89
|
category: CATEGORY_ENUM.describe("Knowledge category"),
|
|
90
90
|
data: z.record(z.unknown()).describe("The item data as a JSON object"),
|
|
91
91
|
},
|
|
92
|
-
}, async ({
|
|
93
|
-
const item = await createItem(resolveClientId(
|
|
92
|
+
}, async ({ account_id, category, data }) => {
|
|
93
|
+
const item = await createItem(resolveClientId(account_id), category, data);
|
|
94
94
|
return { content: [{ type: "text", text: JSON.stringify({ success: true, item }) }] };
|
|
95
95
|
});
|
|
96
96
|
server.registerTool("root_update_item", {
|
|
97
97
|
description: "Update an existing knowledge item by ID.",
|
|
98
98
|
inputSchema: {
|
|
99
|
-
|
|
99
|
+
account_id: CLIENT_ID_PARAM,
|
|
100
100
|
id: z.string().describe("The item ID to update"),
|
|
101
101
|
data: z.record(z.unknown()).describe("Fields to update (merged with existing data)"),
|
|
102
102
|
},
|
|
103
|
-
}, async ({
|
|
104
|
-
const item = await updateItem(resolveClientId(
|
|
103
|
+
}, async ({ account_id, id, data }) => {
|
|
104
|
+
const item = await updateItem(resolveClientId(account_id), id, data);
|
|
105
105
|
return { content: [{ type: "text", text: JSON.stringify({ success: true, item }) }] };
|
|
106
106
|
});
|
|
107
107
|
server.registerTool("root_delete_item", {
|
|
108
108
|
description: "Delete a knowledge item by ID.",
|
|
109
109
|
inputSchema: {
|
|
110
|
-
|
|
110
|
+
account_id: CLIENT_ID_PARAM,
|
|
111
111
|
id: z.string().describe("The item ID to delete"),
|
|
112
112
|
},
|
|
113
|
-
}, async ({
|
|
114
|
-
const result = await deleteItem(resolveClientId(
|
|
113
|
+
}, async ({ account_id, id }) => {
|
|
114
|
+
const result = await deleteItem(resolveClientId(account_id), id);
|
|
115
115
|
return { content: [{ type: "text", text: JSON.stringify(result) }] };
|
|
116
116
|
});
|
|
117
117
|
server.registerTool("root_refresh", {
|
|
118
118
|
description: "Refresh market intelligence for a client. Re-queries DataForSEO SERP for the configured geo zones and sector, detects new competitors and competitors that disappeared from search results. Returns a structured diff. Run weekly or when you suspect market changes.",
|
|
119
119
|
inputSchema: {
|
|
120
|
-
|
|
120
|
+
account_id: CLIENT_ID_PARAM,
|
|
121
121
|
},
|
|
122
|
-
}, async ({
|
|
123
|
-
const diff = await refreshKnowledge(resolveClientId(
|
|
122
|
+
}, async ({ account_id }) => {
|
|
123
|
+
const diff = await refreshKnowledge(resolveClientId(account_id));
|
|
124
124
|
return { content: [{ type: "text", text: JSON.stringify(diff) }] };
|
|
125
125
|
});
|
|
126
126
|
return server;
|
package/dist/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,wCAAwC,EAAE,MAAM,+DAA+D,CAAC;AACzH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAC5E,
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|