@migma/mcp 1.1.2 → 1.3.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/build/client.d.ts.map +1 -1
- package/build/client.js +3 -1
- package/build/client.js.map +1 -1
- package/build/config.d.ts.map +1 -1
- package/build/config.js +22 -4
- package/build/config.js.map +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +14 -11
- package/build/index.js.map +1 -1
- package/build/permissions.d.ts +2 -0
- package/build/permissions.d.ts.map +1 -0
- package/build/permissions.js +17 -0
- package/build/permissions.js.map +1 -0
- package/build/prompts/index.d.ts.map +1 -1
- package/build/prompts/index.js +4 -3
- package/build/prompts/index.js.map +1 -1
- package/build/tools/__tests__/catalog.test.js +20 -9
- package/build/tools/__tests__/catalog.test.js.map +1 -1
- package/build/tools/campaigns.d.ts +1 -1
- package/build/tools/campaigns.d.ts.map +1 -1
- package/build/tools/campaigns.js +244 -222
- package/build/tools/campaigns.js.map +1 -1
- package/build/tools/capabilities.d.ts.map +1 -1
- package/build/tools/capabilities.js +14 -5
- package/build/tools/capabilities.js.map +1 -1
- package/build/tools/contacts.d.ts +1 -1
- package/build/tools/contacts.d.ts.map +1 -1
- package/build/tools/contacts.js +356 -156
- package/build/tools/contacts.js.map +1 -1
- package/build/tools/domains.d.ts +1 -1
- package/build/tools/domains.d.ts.map +1 -1
- package/build/tools/domains.js +98 -96
- package/build/tools/domains.js.map +1 -1
- package/build/tools/export.d.ts +1 -1
- package/build/tools/export.d.ts.map +1 -1
- package/build/tools/export.js +97 -78
- package/build/tools/export.js.map +1 -1
- package/build/tools/generate.d.ts +1 -1
- package/build/tools/generate.d.ts.map +1 -1
- package/build/tools/generate.js +217 -109
- package/build/tools/generate.js.map +1 -1
- package/build/tools/metrics.d.ts +4 -0
- package/build/tools/metrics.d.ts.map +1 -0
- package/build/tools/metrics.js +39 -0
- package/build/tools/metrics.js.map +1 -0
- package/build/tools/projects.d.ts +1 -1
- package/build/tools/projects.d.ts.map +1 -1
- package/build/tools/projects.js +95 -77
- package/build/tools/projects.js.map +1 -1
- package/build/tools/segments.d.ts +1 -1
- package/build/tools/segments.d.ts.map +1 -1
- package/build/tools/segments.js +91 -67
- package/build/tools/segments.js.map +1 -1
- package/build/tools/send.d.ts +1 -1
- package/build/tools/send.d.ts.map +1 -1
- package/build/tools/send.js +72 -69
- package/build/tools/send.js.map +1 -1
- package/build/tools/tags.d.ts +1 -1
- package/build/tools/tags.d.ts.map +1 -1
- package/build/tools/tags.js +77 -69
- package/build/tools/tags.js.map +1 -1
- package/build/tools/validate.d.ts +1 -1
- package/build/tools/validate.d.ts.map +1 -1
- package/build/tools/validate.js +54 -44
- package/build/tools/validate.js.map +1 -1
- package/build/tools/webhooks.d.ts +1 -1
- package/build/tools/webhooks.d.ts.map +1 -1
- package/build/tools/webhooks.js +67 -57
- package/build/tools/webhooks.js.map +1 -1
- package/package.json +2 -2
package/build/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAc/C"}
|
package/build/client.js
CHANGED
|
@@ -3,7 +3,9 @@ let instance = null;
|
|
|
3
3
|
export function getClient(config) {
|
|
4
4
|
if (!instance) {
|
|
5
5
|
if (!config.apiKey) {
|
|
6
|
-
throw new Error("
|
|
6
|
+
throw new Error("Local MCP needs a key. Connect https://migma.ai/mcp for browser OAuth, " +
|
|
7
|
+
"run migma login, or fetch https://api.migma.ai/auth.md. " +
|
|
8
|
+
"CI/servers can set MIGMA_API_KEY.");
|
|
7
9
|
}
|
|
8
10
|
instance = new Migma(config.apiKey, {
|
|
9
11
|
baseUrl: config.baseUrl,
|
package/build/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAG9B,IAAI,QAAQ,GAAiB,IAAI,CAAC;AAElC,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAG9B,IAAI,QAAQ,GAAiB,IAAI,CAAC;AAElC,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,yEAAyE;gBACvE,0DAA0D;gBAC1D,mCAAmC,CACtC,CAAC;QACJ,CAAC;QACD,QAAQ,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE;YAClC,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/build/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,YAAY;;;;;;;;;;;;EAIvB,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAkBlD,wBAAgB,UAAU,IAAI,MAAM,CAenC"}
|
package/build/config.js
CHANGED
|
@@ -1,14 +1,32 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import { join } from "node:path";
|
|
1
4
|
import { z } from "zod";
|
|
2
5
|
export const configSchema = z.object({
|
|
3
|
-
apiKey: z.string().describe("Migma API key (sk_live_...)"),
|
|
6
|
+
apiKey: z.string().describe("Scoped Migma API key for Local MCP (sk_live_...)"),
|
|
4
7
|
projectId: z.string().optional().describe("Default project ID"),
|
|
5
8
|
baseUrl: z.string().url().optional().describe("Custom API base URL"),
|
|
6
9
|
});
|
|
10
|
+
const CLI_CONFIG_FILE = join(homedir(), ".migma", "config.json");
|
|
11
|
+
function readCliConfigApiKey() {
|
|
12
|
+
if (!existsSync(CLI_CONFIG_FILE))
|
|
13
|
+
return undefined;
|
|
14
|
+
try {
|
|
15
|
+
const parsed = JSON.parse(readFileSync(CLI_CONFIG_FILE, "utf-8"));
|
|
16
|
+
return typeof parsed.apiKey === "string" && parsed.apiKey.trim()
|
|
17
|
+
? parsed.apiKey.trim()
|
|
18
|
+
: undefined;
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
7
24
|
export function loadConfig() {
|
|
8
|
-
const apiKey = process.env.MIGMA_API_KEY;
|
|
25
|
+
const apiKey = process.env.MIGMA_API_KEY || readCliConfigApiKey();
|
|
9
26
|
if (!apiKey) {
|
|
10
|
-
console.error("Warning:
|
|
11
|
-
"
|
|
27
|
+
console.error("Warning: Local MCP needs a key. Connect https://migma.ai/mcp for browser OAuth, " +
|
|
28
|
+
"run migma login, or fetch https://api.migma.ai/auth.md. " +
|
|
29
|
+
"CI/servers can set MIGMA_API_KEY.");
|
|
12
30
|
}
|
|
13
31
|
return configSchema.parse({
|
|
14
32
|
apiKey: apiKey || "",
|
package/build/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;IAC/E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAC/D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;CACrE,CAAC,CAAC;AAIH,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAEjE,SAAS,mBAAmB;IAC1B,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QAAE,OAAO,SAAS,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAE/D,CAAC;QACF,OAAO,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAC9D,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACtB,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,mBAAmB,EAAE,CAAC;IAClE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CACX,kFAAkF;YAChF,0DAA0D;YAC1D,mCAAmC,CACtC,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC,KAAK,CAAC;QACxB,MAAM,EAAE,MAAM,IAAI,EAAE;QACpB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS;QACpD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,SAAS;KACjD,CAAC,CAAC;AACL,CAAC"}
|
package/build/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export type CreateMigmaMcpServerOptions = {
|
|
|
6
6
|
config?: Partial<Config>;
|
|
7
7
|
client?: Migma;
|
|
8
8
|
getClient?: () => Migma;
|
|
9
|
+
permissions?: string[];
|
|
9
10
|
version?: string;
|
|
10
11
|
};
|
|
11
12
|
export declare function createMigmaMcpServer(options?: CreateMigmaMcpServerOptions): McpServer;
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAgBnC,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,KAAK,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAqBF,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,2BAAgC,GAAG,SAAS,CA2BzF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAEzD;AAGD,wBAAgB,mBAAmB,cAOlC"}
|
package/build/index.js
CHANGED
|
@@ -16,6 +16,7 @@ import { registerTagTools } from "./tools/tags.js";
|
|
|
16
16
|
import { registerSegmentTools } from "./tools/segments.js";
|
|
17
17
|
import { registerWebhookTools } from "./tools/webhooks.js";
|
|
18
18
|
import { registerCampaignTools } from "./tools/campaigns.js";
|
|
19
|
+
import { registerMetricsTools } from "./tools/metrics.js";
|
|
19
20
|
import { registerCapabilitiesTool } from "./tools/capabilities.js";
|
|
20
21
|
import { registerMigmaPrompts } from "./prompts/index.js";
|
|
21
22
|
function completeConfig(config) {
|
|
@@ -37,22 +38,24 @@ function createLazyClient(config, clientFactory) {
|
|
|
37
38
|
export function createMigmaMcpServer(options = {}) {
|
|
38
39
|
const config = completeConfig(options.config);
|
|
39
40
|
const lazyClient = options.client || createLazyClient(config, options.getClient);
|
|
41
|
+
const { permissions } = options;
|
|
40
42
|
const { version } = createRequire(import.meta.url)("../package.json");
|
|
41
43
|
const server = new McpServer({
|
|
42
44
|
name: "migma",
|
|
43
45
|
version: options.version || version,
|
|
44
46
|
});
|
|
45
|
-
registerProjectTools(server, lazyClient, config);
|
|
46
|
-
registerGenerateTools(server, lazyClient, config);
|
|
47
|
-
registerSendTools(server, lazyClient, config);
|
|
48
|
-
registerValidateTools(server, lazyClient);
|
|
49
|
-
registerExportTools(server, lazyClient);
|
|
50
|
-
registerDomainTools(server, lazyClient);
|
|
51
|
-
registerContactTools(server, lazyClient, config);
|
|
52
|
-
registerTagTools(server, lazyClient, config);
|
|
53
|
-
registerSegmentTools(server, lazyClient, config);
|
|
54
|
-
registerWebhookTools(server, lazyClient);
|
|
55
|
-
registerCampaignTools(server, lazyClient, config);
|
|
47
|
+
registerProjectTools(server, lazyClient, config, permissions);
|
|
48
|
+
registerGenerateTools(server, lazyClient, config, permissions);
|
|
49
|
+
registerSendTools(server, lazyClient, config, permissions);
|
|
50
|
+
registerValidateTools(server, lazyClient, permissions);
|
|
51
|
+
registerExportTools(server, lazyClient, permissions);
|
|
52
|
+
registerDomainTools(server, lazyClient, permissions);
|
|
53
|
+
registerContactTools(server, lazyClient, config, permissions);
|
|
54
|
+
registerTagTools(server, lazyClient, config, permissions);
|
|
55
|
+
registerSegmentTools(server, lazyClient, config, permissions);
|
|
56
|
+
registerWebhookTools(server, lazyClient, permissions);
|
|
57
|
+
registerCampaignTools(server, lazyClient, config, permissions);
|
|
58
|
+
registerMetricsTools(server, lazyClient, permissions);
|
|
56
59
|
registerMigmaPrompts(server);
|
|
57
60
|
// Register last so the catalog reflects every tool above it.
|
|
58
61
|
registerCapabilitiesTool(server);
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AASA,wBAAgB,MAAM,CACpB,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAMT"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const READ_PERMISSIONS = new Set([
|
|
2
|
+
"email:read",
|
|
3
|
+
"campaign:read",
|
|
4
|
+
"audience:read",
|
|
5
|
+
"domain:read",
|
|
6
|
+
"webhook:read",
|
|
7
|
+
"email:validate",
|
|
8
|
+
]);
|
|
9
|
+
export function canUse(granted, required) {
|
|
10
|
+
if (granted === undefined)
|
|
11
|
+
return true;
|
|
12
|
+
if (required.length > 0 && required.every((permission) => READ_PERMISSIONS.has(permission))) {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
return required.every((permission) => granted.includes(permission));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,YAAY;IACZ,eAAe;IACf,eAAe;IACf,aAAa;IACb,cAAc;IACd,gBAAgB;CACjB,CAAC,CAAC;AAEH,MAAM,UAAU,MAAM,CACpB,OAA6B,EAC7B,QAAkB;IAElB,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAC5F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,QAAQ,EAwC/B,CAAC;AAmBF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,QAcrD"}
|
package/build/prompts/index.js
CHANGED
|
@@ -9,7 +9,8 @@ export const WORKFLOWS = [
|
|
|
9
9
|
summary: "Generate an email, test it, and send it as a campaign to a tag or segment, then read the results.",
|
|
10
10
|
steps: [
|
|
11
11
|
"migma_get_capabilities — see available tools and the idempotency contract.",
|
|
12
|
-
"migma_generate_email —
|
|
12
|
+
"migma_generate_email — start generation; keep conversationId.",
|
|
13
|
+
"migma_get_generation_status — poll until completed. Or migma_list_emails to see designs already in the project.",
|
|
13
14
|
"migma_send_test_email — send a test to yourself and review it.",
|
|
14
15
|
"migma_list_domains + migma_list_segments / migma_list_tags — pick the sender and audience.",
|
|
15
16
|
"migma_create_campaign — create a draft campaign from the generated email.",
|
|
@@ -23,7 +24,7 @@ export const WORKFLOWS = [
|
|
|
23
24
|
steps: [
|
|
24
25
|
"migma_get_field_catalog — discover which subscriber fields exist and how often they're populated.",
|
|
25
26
|
"migma_create_segment — create a segment using those fields as filters.",
|
|
26
|
-
"migma_generate_email —
|
|
27
|
+
"migma_generate_email — start generation; poll migma_get_generation_status.",
|
|
27
28
|
"migma_create_campaign — create a campaign targeting the new segment.",
|
|
28
29
|
"migma_send_campaign — send the campaign (use an idempotency_key for safe retries).",
|
|
29
30
|
"migma_get_campaign_stats — read the campaign results.",
|
|
@@ -35,7 +36,7 @@ export const WORKFLOWS = [
|
|
|
35
36
|
steps: [
|
|
36
37
|
"migma_import_brand — import the brand from one or more website URLs.",
|
|
37
38
|
"migma_get_project — confirm the extracted colors, fonts, logos, and tone.",
|
|
38
|
-
"migma_generate_email —
|
|
39
|
+
"migma_generate_email — start generation; poll migma_get_generation_status.",
|
|
39
40
|
"migma_send_test_email — send a test and review the result.",
|
|
40
41
|
],
|
|
41
42
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAe;IACnC;QACE,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EACL,mGAAmG;QACrG,KAAK,EAAE;YACL,4EAA4E;YAC5E,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAe;IACnC;QACE,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EACL,mGAAmG;QACrG,KAAK,EAAE;YACL,4EAA4E;YAC5E,+DAA+D;YAC/D,iHAAiH;YACjH,gEAAgE;YAChE,4FAA4F;YAC5F,2EAA2E;YAC3E,0GAA0G;YAC1G,kEAAkE;SACnE;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EACL,+FAA+F;QACjG,KAAK,EAAE;YACL,mGAAmG;YACnG,wEAAwE;YACxE,4EAA4E;YAC5E,sEAAsE;YACtE,oFAAoF;YACpF,uDAAuD;SACxD;KACF;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,OAAO,EACL,4EAA4E;QAC9E,KAAK,EAAE;YACL,sEAAsE;YACtE,2EAA2E;YAC3E,4EAA4E;YAC5E,4DAA4D;SAC7D;KACF;CACF,CAAC;AAEF,SAAS,eAAe,CAAC,QAAkB;IACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK;SAC7B,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;SACrC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO;QACL,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,MAAe;gBACrB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,+BAA+B,QAAQ,CAAC,IAAI,eAAe,QAAQ,CAAC,OAAO,mCAAmC,SAAS,uIAAuI;iBACrQ;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,CAAC,cAAc,CACnB,QAAQ,CAAC,IAAI,EACb;YACE,KAAK,EAAE,QAAQ,CAAC,IAAI;iBACjB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBAClD,IAAI,CAAC,GAAG,CAAC;YACZ,WAAW,EAAE,QAAQ,CAAC,OAAO;SAC9B,EACD,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAChC,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -2,19 +2,17 @@ import assert from "node:assert/strict";
|
|
|
2
2
|
import test from "node:test";
|
|
3
3
|
import { createMigmaMcpServer } from "../../index.js";
|
|
4
4
|
import { TOOL_CATALOG } from "../capabilities.js";
|
|
5
|
-
|
|
6
|
-
* Guards against catalog drift: every tool the server actually registers must
|
|
7
|
-
* have a TOOL_CATALOG entry, and the catalog must not list tools that don't
|
|
8
|
-
* exist. The server exposes registrations on the private `_registeredTools`
|
|
9
|
-
* map, which we read here purely for the test.
|
|
10
|
-
*/
|
|
11
|
-
function registeredToolNames() {
|
|
5
|
+
function registeredTools(permissions) {
|
|
12
6
|
const server = createMigmaMcpServer({
|
|
13
7
|
config: { apiKey: "sk_live_test" },
|
|
8
|
+
permissions,
|
|
14
9
|
});
|
|
15
|
-
|
|
16
|
-
return Object.keys(registered);
|
|
10
|
+
return server._registeredTools;
|
|
17
11
|
}
|
|
12
|
+
function registeredToolNames(permissions) {
|
|
13
|
+
return Object.keys(registeredTools(permissions));
|
|
14
|
+
}
|
|
15
|
+
const READ_TOOL_NAMES = TOOL_CATALOG.filter((entry) => !entry.write).map((entry) => entry.name);
|
|
18
16
|
test("TOOL_CATALOG matches the registered tool set exactly", () => {
|
|
19
17
|
const registered = new Set(registeredToolNames());
|
|
20
18
|
const catalog = new Set(TOOL_CATALOG.map((entry) => entry.name));
|
|
@@ -24,4 +22,17 @@ test("TOOL_CATALOG matches the registered tool set exactly", () => {
|
|
|
24
22
|
assert.deepEqual(extraInCatalog, [], `TOOL_CATALOG entries that aren't registered: ${extraInCatalog.join(", ")}`);
|
|
25
23
|
assert.equal(catalog.size, TOOL_CATALOG.length, "TOOL_CATALOG has duplicate names");
|
|
26
24
|
});
|
|
25
|
+
test("read tools register even when only email:read is granted", () => {
|
|
26
|
+
const emailReadTools = registeredToolNames(["email:read"]).sort();
|
|
27
|
+
assert.deepEqual(emailReadTools, [...READ_TOOL_NAMES].sort());
|
|
28
|
+
assert.equal(emailReadTools.includes("migma_send_email"), false);
|
|
29
|
+
assert.equal(emailReadTools.includes("migma_create_webhook"), false);
|
|
30
|
+
assert.equal(registeredToolNames().length, TOOL_CATALOG.length);
|
|
31
|
+
});
|
|
32
|
+
test("read tools advertise readOnlyHint", () => {
|
|
33
|
+
const registered = registeredTools(["email:read"]);
|
|
34
|
+
for (const name of READ_TOOL_NAMES) {
|
|
35
|
+
assert.equal(registered[name]?.annotations?.readOnlyHint, true, `${name} should set readOnlyHint`);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
27
38
|
//# sourceMappingURL=catalog.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/catalog.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"catalog.test.js","sourceRoot":"","sources":["../../../src/tools/__tests__/catalog.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
2
|
import type { Migma } from "migma";
|
|
3
3
|
import type { Config } from "../config.js";
|
|
4
|
-
export declare function registerCampaignTools(server: McpServer, client: Migma, config: Config): void;
|
|
4
|
+
export declare function registerCampaignTools(server: McpServer, client: Migma, config: Config, grantedPermissions?: string[]): void;
|
|
5
5
|
//# sourceMappingURL=campaigns.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"campaigns.d.ts","sourceRoot":"","sources":["../../src/tools/campaigns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"campaigns.d.ts","sourceRoot":"","sources":["../../src/tools/campaigns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAQ3C,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,EAAE,MAAM,EAAE,QAwT9B"}
|