@cesteral/cm360-mcp 1.0.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/LICENSE.md +201 -0
- package/README.md +428 -0
- package/dist/config/index.d.ts +88 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +31 -0
- package/dist/config/index.js.map +1 -0
- package/dist/generated/types.d.ts +2058 -0
- package/dist/generated/types.d.ts.map +1 -0
- package/dist/generated/types.js +2 -0
- package/dist/generated/types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.js +92 -0
- package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js +171 -0
- package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.js +74 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.js +74 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.js +92 -0
- package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/floodlight-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/floodlight-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/floodlight-workflow.prompt.js +114 -0
- package/dist/mcp-server/prompts/definitions/floodlight-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.js +101 -0
- package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.js +52 -0
- package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.js +106 -0
- package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.js +69 -0
- package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/index.d.ts +9 -0
- package/dist/mcp-server/prompts/index.d.ts.map +1 -0
- package/dist/mcp-server/prompts/index.js +89 -0
- package/dist/mcp-server/prompts/index.js.map +1 -0
- package/dist/mcp-server/resources/definitions/entity-examples.resource.d.ts +4 -0
- package/dist/mcp-server/resources/definitions/entity-examples.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/entity-examples.resource.js +140 -0
- package/dist/mcp-server/resources/definitions/entity-examples.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.d.ts +3 -0
- package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.js +104 -0
- package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/entity-schemas.resource.d.ts +4 -0
- package/dist/mcp-server/resources/definitions/entity-schemas.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/entity-schemas.resource.js +111 -0
- package/dist/mcp-server/resources/definitions/entity-schemas.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/index.d.ts +8 -0
- package/dist/mcp-server/resources/definitions/index.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/index.js +49 -0
- package/dist/mcp-server/resources/definitions/index.js.map +1 -0
- package/dist/mcp-server/resources/definitions/reporting-reference.resource.d.ts +3 -0
- package/dist/mcp-server/resources/definitions/reporting-reference.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/reporting-reference.resource.js +62 -0
- package/dist/mcp-server/resources/definitions/reporting-reference.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/targeting-reference.resource.d.ts +3 -0
- package/dist/mcp-server/resources/definitions/targeting-reference.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/targeting-reference.resource.js +46 -0
- package/dist/mcp-server/resources/definitions/targeting-reference.resource.js.map +1 -0
- package/dist/mcp-server/resources/index.d.ts +3 -0
- package/dist/mcp-server/resources/index.d.ts.map +1 -0
- package/dist/mcp-server/resources/index.js +2 -0
- package/dist/mcp-server/resources/index.js.map +1 -0
- package/dist/mcp-server/resources/types.d.ts +8 -0
- package/dist/mcp-server/resources/types.d.ts.map +1 -0
- package/dist/mcp-server/resources/types.js +2 -0
- package/dist/mcp-server/resources/types.js.map +1 -0
- package/dist/mcp-server/server.d.ts +5 -0
- package/dist/mcp-server/server.d.ts.map +1 -0
- package/dist/mcp-server/server.js +124 -0
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.d.ts +147 -0
- package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.js +109 -0
- package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.d.ts +187 -0
- package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.js +141 -0
- package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/bulk-update-status.tool.d.ts +147 -0
- package/dist/mcp-server/tools/definitions/bulk-update-status.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/bulk-update-status.tool.js +168 -0
- package/dist/mcp-server/tools/definitions/bulk-update-status.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/check-report-status.tool.d.ts +138 -0
- package/dist/mcp-server/tools/definitions/check-report-status.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/check-report-status.tool.js +82 -0
- package/dist/mcp-server/tools/definitions/check-report-status.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-entity.tool.d.ts +101 -0
- package/dist/mcp-server/tools/definitions/create-entity.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-entity.tool.js +84 -0
- package/dist/mcp-server/tools/definitions/create-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-report-schedule.tool.d.ts +384 -0
- package/dist/mcp-server/tools/definitions/create-report-schedule.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-report-schedule.tool.js +141 -0
- package/dist/mcp-server/tools/definitions/create-report-schedule.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/delete-entity.tool.d.ts +94 -0
- package/dist/mcp-server/tools/definitions/delete-entity.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/delete-entity.tool.js +93 -0
- package/dist/mcp-server/tools/definitions/delete-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/delete-report-schedule.tool.d.ts +86 -0
- package/dist/mcp-server/tools/definitions/delete-report-schedule.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/delete-report-schedule.tool.js +91 -0
- package/dist/mcp-server/tools/definitions/delete-report-schedule.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/download-report.tool.d.ts +164 -0
- package/dist/mcp-server/tools/definitions/download-report.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/download-report.tool.js +144 -0
- package/dist/mcp-server/tools/definitions/download-report.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-ad-preview.tool.d.ts +87 -0
- package/dist/mcp-server/tools/definitions/get-ad-preview.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-ad-preview.tool.js +72 -0
- package/dist/mcp-server/tools/definitions/get-ad-preview.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts +76 -0
- package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-entity.tool.js +71 -0
- package/dist/mcp-server/tools/definitions/get-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.d.ts +208 -0
- package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.js +143 -0
- package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report.tool.d.ts +206 -0
- package/dist/mcp-server/tools/definitions/get-report.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report.tool.js +114 -0
- package/dist/mcp-server/tools/definitions/get-report.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/index.d.ts +23 -0
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/index.js +69 -0
- package/dist/mcp-server/tools/definitions/index.js.map +1 -0
- package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts +177 -0
- package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/list-entities.tool.js +105 -0
- package/dist/mcp-server/tools/definitions/list-entities.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/list-report-schedules.tool.d.ts +275 -0
- package/dist/mcp-server/tools/definitions/list-report-schedules.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/list-report-schedules.tool.js +90 -0
- package/dist/mcp-server/tools/definitions/list-report-schedules.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/list-targeting-options.tool.d.ts +163 -0
- package/dist/mcp-server/tools/definitions/list-targeting-options.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/list-targeting-options.tool.js +105 -0
- package/dist/mcp-server/tools/definitions/list-targeting-options.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/list-user-profiles.tool.d.ts +53 -0
- package/dist/mcp-server/tools/definitions/list-user-profiles.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/list-user-profiles.tool.js +58 -0
- package/dist/mcp-server/tools/definitions/list-user-profiles.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/submit-report.tool.d.ts +195 -0
- package/dist/mcp-server/tools/definitions/submit-report.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/submit-report.tool.js +107 -0
- package/dist/mcp-server/tools/definitions/submit-report.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts +89 -0
- package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-entity.tool.js +76 -0
- package/dist/mcp-server/tools/definitions/update-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts +184 -0
- package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/validate-entity.tool.js +260 -0
- package/dist/mcp-server/tools/definitions/validate-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/index.d.ts +2 -0
- package/dist/mcp-server/tools/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/index.js +2 -0
- package/dist/mcp-server/tools/index.js.map +1 -0
- package/dist/mcp-server/tools/utils/entity-mapping.d.ts +12 -0
- package/dist/mcp-server/tools/utils/entity-mapping.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/entity-mapping.js +67 -0
- package/dist/mcp-server/tools/utils/entity-mapping.js.map +1 -0
- package/dist/mcp-server/tools/utils/report-config.d.ts +73 -0
- package/dist/mcp-server/tools/utils/report-config.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/report-config.js +161 -0
- package/dist/mcp-server/tools/utils/report-config.js.map +1 -0
- package/dist/mcp-server/tools/utils/resolve-session.d.ts +4 -0
- package/dist/mcp-server/tools/utils/resolve-session.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/resolve-session.js +6 -0
- package/dist/mcp-server/tools/utils/resolve-session.js.map +1 -0
- package/dist/mcp-server/transports/streamable-http-transport.d.ts +43 -0
- package/dist/mcp-server/transports/streamable-http-transport.d.ts.map +1 -0
- package/dist/mcp-server/transports/streamable-http-transport.js +58 -0
- package/dist/mcp-server/transports/streamable-http-transport.js.map +1 -0
- package/dist/services/cm360/cm360-http-client.d.ts +12 -0
- package/dist/services/cm360/cm360-http-client.d.ts.map +1 -0
- package/dist/services/cm360/cm360-http-client.js +77 -0
- package/dist/services/cm360/cm360-http-client.js.map +1 -0
- package/dist/services/cm360/cm360-reporting-service.d.ts +50 -0
- package/dist/services/cm360/cm360-reporting-service.d.ts.map +1 -0
- package/dist/services/cm360/cm360-reporting-service.js +123 -0
- package/dist/services/cm360/cm360-reporting-service.js.map +1 -0
- package/dist/services/cm360/cm360-service.d.ts +60 -0
- package/dist/services/cm360/cm360-service.d.ts.map +1 -0
- package/dist/services/cm360/cm360-service.js +146 -0
- package/dist/services/cm360/cm360-service.js.map +1 -0
- package/dist/services/session-services.d.ts +16 -0
- package/dist/services/session-services.d.ts.map +1 -0
- package/dist/services/session-services.js +15 -0
- package/dist/services/session-services.js.map +1 -0
- package/dist/types-global/mcp.d.ts +2 -0
- package/dist/types-global/mcp.d.ts.map +1 -0
- package/dist/types-global/mcp.js +2 -0
- package/dist/types-global/mcp.js.map +1 -0
- package/dist/utils/errors/index.d.ts +2 -0
- package/dist/utils/errors/index.d.ts.map +1 -0
- package/dist/utils/errors/index.js +2 -0
- package/dist/utils/errors/index.js.map +1 -0
- package/dist/utils/platform.d.ts +3 -0
- package/dist/utils/platform.d.ts.map +1 -0
- package/dist/utils/platform.js +5 -0
- package/dist/utils/platform.js.map +1 -0
- package/dist/utils/security/rate-limiter.d.ts +3 -0
- package/dist/utils/security/rate-limiter.d.ts.map +1 -0
- package/dist/utils/security/rate-limiter.js +5 -0
- package/dist/utils/security/rate-limiter.js.map +1 -0
- package/dist/utils/telemetry/index.d.ts +2 -0
- package/dist/utils/telemetry/index.d.ts.map +1 -0
- package/dist/utils/telemetry/index.js +2 -0
- package/dist/utils/telemetry/index.js.map +1 -0
- package/dist/utils/telemetry/tracing.d.ts +3 -0
- package/dist/utils/telemetry/tracing.d.ts.map +1 -0
- package/dist/utils/telemetry/tracing.js +4 -0
- package/dist/utils/telemetry/tracing.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-platform-campaign-setup.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,gCAAgC,GAAW;IACtD,IAAI,EAAE,+BAA+B;IACrC,WAAW,EAAE,mFAAmF;IAChG,SAAS,EAAE;QACT;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,qCAAqC;YAClD,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,0DAA0D;YACvE,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,oCAAoC,CAAC,IAA6B;IAChF,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,eAAe,CAAC;IACzD,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,YAAY,CAAC;IAClD,OAAO;;cAEK,WAAW,iBAAiB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDlD,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
export declare const crossPlatformPerformancePrompt: Prompt;
|
|
3
|
+
export declare function getCrossPlatformPerformanceMessage(args?: Record<string, string>): string;
|
|
4
|
+
//# sourceMappingURL=cross-platform-performance.prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-platform-performance.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/cross-platform-performance.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE,eAAO,MAAM,8BAA8B,EAAE,MAU5C,CAAC;AAEF,wBAAgB,kCAAkC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CA6DxF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export const crossPlatformPerformancePrompt = {
|
|
2
|
+
name: "cross_platform_performance_comparison",
|
|
3
|
+
description: "Cross-platform performance comparison and budget reallocation guide",
|
|
4
|
+
arguments: [
|
|
5
|
+
{
|
|
6
|
+
name: "dateRange",
|
|
7
|
+
description: "Date range (e.g., LAST_7_DAYS, LAST_30_DAYS, or custom dates)",
|
|
8
|
+
required: false,
|
|
9
|
+
},
|
|
10
|
+
],
|
|
11
|
+
};
|
|
12
|
+
export function getCrossPlatformPerformanceMessage(args) {
|
|
13
|
+
const dateRange = args?.dateRange || "LAST_7_DAYS";
|
|
14
|
+
return `# Cross-Platform Performance Comparison
|
|
15
|
+
|
|
16
|
+
## Date Range: ${dateRange}
|
|
17
|
+
|
|
18
|
+
## Step 1: Gather Metrics Per Platform
|
|
19
|
+
|
|
20
|
+
### DV360 (via dbm-mcp)
|
|
21
|
+
\`\`\`json
|
|
22
|
+
{ "tool": "dbm_get_performance_metrics", "params": { "campaignId": "CID", "advertiserId": "AID", "dateRange": "${dateRange}" } }
|
|
23
|
+
\`\`\`
|
|
24
|
+
|
|
25
|
+
### Google Ads (via gads-mcp)
|
|
26
|
+
\`\`\`json
|
|
27
|
+
{ "tool": "gads_get_insights", "params": { "customerId": "CID", "entityType": "campaign", "dateRange": "${dateRange}" } }
|
|
28
|
+
\`\`\`
|
|
29
|
+
|
|
30
|
+
### Meta (via meta-mcp)
|
|
31
|
+
\`\`\`json
|
|
32
|
+
{ "tool": "meta_get_insights", "params": { "entityId": "CAMPAIGN_ID", "datePreset": "last_7d", "fields": ["impressions", "clicks", "spend", "actions"] } }
|
|
33
|
+
\`\`\`
|
|
34
|
+
|
|
35
|
+
### CM360 (via cm360-mcp)
|
|
36
|
+
\`\`\`json
|
|
37
|
+
{ "tool": "cm360_get_report", "params": { "profileId": "PID", "reportType": "STANDARD", "dateRange": { "startDate": "2026-03-05", "endDate": "2026-03-12" }, "dimensions": ["campaign"], "metrics": ["impressions", "clicks", "totalConversions"] } }
|
|
38
|
+
\`\`\`
|
|
39
|
+
|
|
40
|
+
### SA360 (via sa360-mcp)
|
|
41
|
+
\`\`\`json
|
|
42
|
+
{ "tool": "sa360_get_insights", "params": { "customerId": "CID", "entityType": "campaign", "dateRange": "${dateRange}" } }
|
|
43
|
+
\`\`\`
|
|
44
|
+
|
|
45
|
+
## Step 2: Normalize Metrics
|
|
46
|
+
|
|
47
|
+
| Metric | Formula |
|
|
48
|
+
|--------|---------|
|
|
49
|
+
| CPM | (Spend / Impressions) x 1000 |
|
|
50
|
+
| CPC | Spend / Clicks |
|
|
51
|
+
| CTR | Clicks / Impressions |
|
|
52
|
+
| CPA | Spend / Conversions |
|
|
53
|
+
| ROAS | Revenue / Spend |
|
|
54
|
+
|
|
55
|
+
**Budget unit conversion**: DV360/GAds use micros (divide by 1,000,000), Meta/LinkedIn use cents (divide by 100), TTD/TikTok use dollars.
|
|
56
|
+
|
|
57
|
+
## Step 3: Compare
|
|
58
|
+
|
|
59
|
+
| Platform | Impressions | Clicks | CTR | CPC | Conversions | CPA | ROAS |
|
|
60
|
+
|----------|-------------|--------|-----|-----|-------------|-----|------|
|
|
61
|
+
| DV360 | | | | | | | |
|
|
62
|
+
| Google Ads | | | | | | | |
|
|
63
|
+
| Meta | | | | | | | |
|
|
64
|
+
| CM360 | | | | | | | |
|
|
65
|
+
| SA360 | | | | | | | |
|
|
66
|
+
|
|
67
|
+
## Step 4: Reallocate Budget
|
|
68
|
+
|
|
69
|
+
- **Winners** (lowest CPA or highest ROAS): Increase budget 20-30%
|
|
70
|
+
- **Average**: Hold steady
|
|
71
|
+
- **Underperformers**: Reduce by 20-30% or pause
|
|
72
|
+
`;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=cross-platform-performance.prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-platform-performance.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/cross-platform-performance.prompt.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,8BAA8B,GAAW;IACpD,IAAI,EAAE,uCAAuC;IAC7C,WAAW,EAAE,qEAAqE;IAClF,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,+DAA+D;YAC5E,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,kCAAkC,CAAC,IAA6B;IAC9E,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,aAAa,CAAC;IACnD,OAAO;;iBAEQ,SAAS;;;;;;iHAMuF,SAAS;;;;;0GAKhB,SAAS;;;;;;;;;;;;;;;2GAeR,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BnH,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
export declare const entityUpdateWorkflowPrompt: Prompt;
|
|
3
|
+
export declare function getEntityUpdateWorkflowMessage(args?: Record<string, string>): string;
|
|
4
|
+
//# sourceMappingURL=entity-update-workflow.prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-update-workflow.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/entity-update-workflow.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE,eAAO,MAAM,0BAA0B,EAAE,MAgBxC,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CA0EpF"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
export const entityUpdateWorkflowPrompt = {
|
|
2
|
+
name: "cm360_entity_update_workflow",
|
|
3
|
+
description: "Safe entity update workflow for CM360 (PUT semantics — full object required)",
|
|
4
|
+
arguments: [
|
|
5
|
+
{
|
|
6
|
+
name: "entityType",
|
|
7
|
+
description: "Entity type (campaign, placement, ad, creative, site, advertiser, floodlightActivity, floodlightConfiguration)",
|
|
8
|
+
required: true,
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: "entityId",
|
|
12
|
+
description: "Entity ID to update",
|
|
13
|
+
required: true,
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
};
|
|
17
|
+
export function getEntityUpdateWorkflowMessage(args) {
|
|
18
|
+
const entityType = args?.entityType || "{entityType}";
|
|
19
|
+
const entityId = args?.entityId || "{entityId}";
|
|
20
|
+
return `# CM360 Entity Update Workflow
|
|
21
|
+
|
|
22
|
+
## CRITICAL: CM360 uses PUT semantics
|
|
23
|
+
Unlike other platforms, CM360 requires the **full entity object** for updates. Missing fields will be reset to defaults.
|
|
24
|
+
|
|
25
|
+
## Entity: ${entityType} (ID: ${entityId})
|
|
26
|
+
|
|
27
|
+
## Step 1: Fetch Current State
|
|
28
|
+
|
|
29
|
+
\`\`\`json
|
|
30
|
+
{
|
|
31
|
+
"tool": "cm360_get_entity",
|
|
32
|
+
"params": {
|
|
33
|
+
"profileId": "PROFILE_ID",
|
|
34
|
+
"entityType": "${entityType}",
|
|
35
|
+
"entityId": "${entityId}"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
\`\`\`
|
|
39
|
+
|
|
40
|
+
## Step 2: Validate Changes (Dry Run)
|
|
41
|
+
|
|
42
|
+
\`\`\`json
|
|
43
|
+
{
|
|
44
|
+
"tool": "cm360_validate_entity",
|
|
45
|
+
"params": {
|
|
46
|
+
"entityType": "${entityType}",
|
|
47
|
+
"mode": "update",
|
|
48
|
+
"data": { "...full object with modifications..." }
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
\`\`\`
|
|
52
|
+
|
|
53
|
+
## Step 3: Apply Update
|
|
54
|
+
|
|
55
|
+
Merge your changes into the full object from Step 1:
|
|
56
|
+
|
|
57
|
+
\`\`\`json
|
|
58
|
+
{
|
|
59
|
+
"tool": "cm360_update_entity",
|
|
60
|
+
"params": {
|
|
61
|
+
"profileId": "PROFILE_ID",
|
|
62
|
+
"entityType": "${entityType}",
|
|
63
|
+
"entityId": "${entityId}",
|
|
64
|
+
"data": { "...full merged object..." }
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
\`\`\`
|
|
68
|
+
|
|
69
|
+
## Step 4: Verify
|
|
70
|
+
|
|
71
|
+
\`\`\`json
|
|
72
|
+
{
|
|
73
|
+
"tool": "cm360_get_entity",
|
|
74
|
+
"params": {
|
|
75
|
+
"profileId": "PROFILE_ID",
|
|
76
|
+
"entityType": "${entityType}",
|
|
77
|
+
"entityId": "${entityId}"
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
\`\`\`
|
|
81
|
+
|
|
82
|
+
## Gotchas
|
|
83
|
+
|
|
84
|
+
| Issue | Solution |
|
|
85
|
+
|-------|----------|
|
|
86
|
+
| PUT replaces entire object | Always fetch then merge then update |
|
|
87
|
+
| Read-only fields rejected | Remove \`id\`, \`kind\`, \`accountId\` from payload |
|
|
88
|
+
| Status changes may cascade | Deactivating campaign affects placements/ads |
|
|
89
|
+
| Some entities can't be deleted | Use archived/inactive status instead |
|
|
90
|
+
`;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=entity-update-workflow.prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-update-workflow.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/entity-update-workflow.prompt.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,0BAA0B,GAAW;IAChD,IAAI,EAAE,8BAA8B;IACpC,WAAW,EAAE,8EAA8E;IAC3F,SAAS,EAAE;QACT;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EACT,gHAAgH;YAClH,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF,MAAM,UAAU,8BAA8B,CAAC,IAA6B;IAC1E,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,cAAc,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,YAAY,CAAC;IAChD,OAAO;;;;;aAKI,UAAU,SAAS,QAAQ;;;;;;;;;qBASnB,UAAU;mBACZ,QAAQ;;;;;;;;;;;qBAWN,UAAU;;;;;;;;;;;;;;;;qBAgBV,UAAU;mBACZ,QAAQ;;;;;;;;;;;;;qBAaN,UAAU;mBACZ,QAAQ;;;;;;;;;;;;;CAa1B,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
export declare const floodlightWorkflowPrompt: Prompt;
|
|
3
|
+
export declare function getFloodlightWorkflowMessage(args?: Record<string, string>): string;
|
|
4
|
+
//# sourceMappingURL=floodlight-workflow.prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floodlight-workflow.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/floodlight-workflow.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE,eAAO,MAAM,wBAAwB,EAAE,MAetC,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAgGlF"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export const floodlightWorkflowPrompt = {
|
|
2
|
+
name: "cm360_floodlight_workflow",
|
|
3
|
+
description: "Guide for setting up CM360 Floodlight conversion tracking",
|
|
4
|
+
arguments: [
|
|
5
|
+
{
|
|
6
|
+
name: "profileId",
|
|
7
|
+
description: "CM360 User Profile ID",
|
|
8
|
+
required: true,
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: "advertiserId",
|
|
12
|
+
description: "CM360 Advertiser ID",
|
|
13
|
+
required: true,
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
};
|
|
17
|
+
export function getFloodlightWorkflowMessage(args) {
|
|
18
|
+
const profileId = args?.profileId || "{profileId}";
|
|
19
|
+
const advertiserId = args?.advertiserId || "{advertiserId}";
|
|
20
|
+
return `# CM360 Floodlight Conversion Tracking Setup
|
|
21
|
+
|
|
22
|
+
## Profile ID: ${profileId}
|
|
23
|
+
## Advertiser ID: ${advertiserId}
|
|
24
|
+
|
|
25
|
+
Floodlight is CM360's conversion tracking system. It consists of:
|
|
26
|
+
- **Floodlight Configuration**: Account-level settings (one per advertiser)
|
|
27
|
+
- **Floodlight Activities**: Individual conversion events
|
|
28
|
+
|
|
29
|
+
## Step 1: Check Existing Configuration
|
|
30
|
+
|
|
31
|
+
\`\`\`json
|
|
32
|
+
{
|
|
33
|
+
"tool": "cm360_list_entities",
|
|
34
|
+
"params": {
|
|
35
|
+
"profileId": "${profileId}",
|
|
36
|
+
"entityType": "floodlightConfiguration",
|
|
37
|
+
"advertiserId": "${advertiserId}"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
\`\`\`
|
|
41
|
+
|
|
42
|
+
## Step 2: List Existing Activities
|
|
43
|
+
|
|
44
|
+
\`\`\`json
|
|
45
|
+
{
|
|
46
|
+
"tool": "cm360_list_entities",
|
|
47
|
+
"params": {
|
|
48
|
+
"profileId": "${profileId}",
|
|
49
|
+
"entityType": "floodlightActivity",
|
|
50
|
+
"advertiserId": "${advertiserId}"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
\`\`\`
|
|
54
|
+
|
|
55
|
+
## Step 3: Create a Floodlight Activity
|
|
56
|
+
|
|
57
|
+
\`\`\`json
|
|
58
|
+
{
|
|
59
|
+
"tool": "cm360_create_entity",
|
|
60
|
+
"params": {
|
|
61
|
+
"profileId": "${profileId}",
|
|
62
|
+
"entityType": "floodlightActivity",
|
|
63
|
+
"advertiserId": "${advertiserId}",
|
|
64
|
+
"data": {
|
|
65
|
+
"name": "Purchase Confirmation",
|
|
66
|
+
"floodlightConfigurationId": "FLOODLIGHT_CONFIG_ID",
|
|
67
|
+
"floodlightActivityGroupName": "conversions",
|
|
68
|
+
"floodlightTagType": "GLOBAL_SITE_TAG",
|
|
69
|
+
"countingMethod": "STANDARD_COUNTING",
|
|
70
|
+
"expectedUrl": "https://example.com/thank-you"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
\`\`\`
|
|
75
|
+
|
|
76
|
+
## Step 4: Generate Tag
|
|
77
|
+
|
|
78
|
+
After creating the activity, generate and deploy the Floodlight tag on your website.
|
|
79
|
+
|
|
80
|
+
## Step 5: Run Floodlight Report
|
|
81
|
+
|
|
82
|
+
\`\`\`json
|
|
83
|
+
{
|
|
84
|
+
"tool": "cm360_get_report",
|
|
85
|
+
"params": {
|
|
86
|
+
"profileId": "${profileId}",
|
|
87
|
+
"reportType": "FLOODLIGHT",
|
|
88
|
+
"dateRange": { "startDate": "2026-03-01", "endDate": "2026-03-12" },
|
|
89
|
+
"dimensions": ["floodlightActivity", "campaign"],
|
|
90
|
+
"metrics": ["totalConversions", "totalConversionsRevenue"]
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
\`\`\`
|
|
94
|
+
|
|
95
|
+
## Counting Methods
|
|
96
|
+
|
|
97
|
+
| Method | Description |
|
|
98
|
+
|--------|-------------|
|
|
99
|
+
| STANDARD_COUNTING | Count every conversion |
|
|
100
|
+
| UNIQUE_COUNTING | One conversion per user per 24 hours |
|
|
101
|
+
| PER_INTERACTION_COUNTING | One per interaction |
|
|
102
|
+
| SESSION_COUNTING | One per session |
|
|
103
|
+
|
|
104
|
+
## Gotchas
|
|
105
|
+
|
|
106
|
+
| Issue | Solution |
|
|
107
|
+
|-------|----------|
|
|
108
|
+
| Floodlight config is per-advertiser | Can't create new configs, only modify existing |
|
|
109
|
+
| Activities can be deleted | Unlike campaigns, floodlight activities support delete |
|
|
110
|
+
| Tag type matters | GLOBAL_SITE_TAG for modern implementations |
|
|
111
|
+
| Lookback windows | Set at configuration level, not activity level |
|
|
112
|
+
`;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=floodlight-workflow.prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floodlight-workflow.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/floodlight-workflow.prompt.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,wBAAwB,GAAW;IAC9C,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,2DAA2D;IACxE,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,IAA6B;IACxE,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,aAAa,CAAC;IACnD,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,gBAAgB,CAAC;IAC5D,OAAO;;iBAEQ,SAAS;oBACN,YAAY;;;;;;;;;;;;oBAYZ,SAAS;;uBAEN,YAAY;;;;;;;;;;;oBAWf,SAAS;;uBAEN,YAAY;;;;;;;;;;;oBAWf,SAAS;;uBAEN,YAAY;;;;;;;;;;;;;;;;;;;;;;;oBAuBf,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B5B,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporting-workflow.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/reporting-workflow.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE,eAAO,MAAM,uBAAuB,EAAE,MAUrC,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAwFjF"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
export const reportingWorkflowPrompt = {
|
|
2
|
+
name: "cm360_reporting_workflow",
|
|
3
|
+
description: "Guide for generating async CM360 reports",
|
|
4
|
+
arguments: [
|
|
5
|
+
{
|
|
6
|
+
name: "profileId",
|
|
7
|
+
description: "CM360 User Profile ID",
|
|
8
|
+
required: true,
|
|
9
|
+
},
|
|
10
|
+
],
|
|
11
|
+
};
|
|
12
|
+
export function getReportingWorkflowMessage(args) {
|
|
13
|
+
const profileId = args?.profileId || "{profileId}";
|
|
14
|
+
return `# CM360 Reporting Workflow
|
|
15
|
+
|
|
16
|
+
## Profile ID: ${profileId}
|
|
17
|
+
|
|
18
|
+
CM360 reports are async: submit a report definition, wait for processing, then download results.
|
|
19
|
+
|
|
20
|
+
## Option A: Blocking (Recommended)
|
|
21
|
+
|
|
22
|
+
Use \`cm360_get_report\` which submits, polls, and returns results in one call:
|
|
23
|
+
|
|
24
|
+
\`\`\`json
|
|
25
|
+
{
|
|
26
|
+
"tool": "cm360_get_report",
|
|
27
|
+
"params": {
|
|
28
|
+
"profileId": "${profileId}",
|
|
29
|
+
"reportType": "STANDARD",
|
|
30
|
+
"dateRange": { "startDate": "2026-01-01", "endDate": "2026-01-31" },
|
|
31
|
+
"dimensions": ["campaign", "site"],
|
|
32
|
+
"metrics": ["impressions", "clicks", "totalConversions"],
|
|
33
|
+
"filters": {
|
|
34
|
+
"advertiserId": "ADVERTISER_ID"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
\`\`\`
|
|
39
|
+
|
|
40
|
+
## Option B: Non-Blocking (Advanced)
|
|
41
|
+
|
|
42
|
+
### Step 1: Submit report
|
|
43
|
+
|
|
44
|
+
\`\`\`json
|
|
45
|
+
{
|
|
46
|
+
"tool": "cm360_submit_report",
|
|
47
|
+
"params": {
|
|
48
|
+
"profileId": "${profileId}",
|
|
49
|
+
"reportType": "STANDARD",
|
|
50
|
+
"dateRange": { "startDate": "2026-01-01", "endDate": "2026-01-31" },
|
|
51
|
+
"dimensions": ["campaign"],
|
|
52
|
+
"metrics": ["impressions", "clicks"]
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
\`\`\`
|
|
56
|
+
|
|
57
|
+
### Step 2: Check status
|
|
58
|
+
|
|
59
|
+
\`\`\`json
|
|
60
|
+
{
|
|
61
|
+
"tool": "cm360_check_report_status",
|
|
62
|
+
"params": {
|
|
63
|
+
"profileId": "${profileId}",
|
|
64
|
+
"reportId": "REPORT_ID",
|
|
65
|
+
"fileId": "FILE_ID"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
\`\`\`
|
|
69
|
+
|
|
70
|
+
### Step 3: Download results
|
|
71
|
+
|
|
72
|
+
\`\`\`json
|
|
73
|
+
{
|
|
74
|
+
"tool": "cm360_download_report",
|
|
75
|
+
"params": {
|
|
76
|
+
"downloadUrl": "DOWNLOAD_URL",
|
|
77
|
+
"maxRows": 1000
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
\`\`\`
|
|
81
|
+
|
|
82
|
+
## Report Types
|
|
83
|
+
|
|
84
|
+
| Type | Description |
|
|
85
|
+
|------|-------------|
|
|
86
|
+
| STANDARD | Standard delivery report |
|
|
87
|
+
| REACH | Reach and frequency |
|
|
88
|
+
| FLOODLIGHT | Conversion (floodlight) report |
|
|
89
|
+
| PATH_TO_CONVERSION | Multi-touch attribution |
|
|
90
|
+
| CROSS_DIMENSION_REACH | Cross-dimension reach |
|
|
91
|
+
|
|
92
|
+
## Gotchas
|
|
93
|
+
|
|
94
|
+
| Issue | Solution |
|
|
95
|
+
|-------|----------|
|
|
96
|
+
| Reports are async | Use blocking \`cm360_get_report\` for simplicity |
|
|
97
|
+
| Large reports timeout | Use non-blocking flow for reports with millions of rows |
|
|
98
|
+
| Date format | Use YYYY-MM-DD format |
|
|
99
|
+
`;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=reporting-workflow.prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reporting-workflow.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/reporting-workflow.prompt.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,uBAAuB,GAAW;IAC7C,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,0CAA0C;IACvD,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF,MAAM,UAAU,2BAA2B,CAAC,IAA6B;IACvE,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,aAAa,CAAC;IACnD,OAAO;;iBAEQ,SAAS;;;;;;;;;;;;oBAYN,SAAS;;;;;;;;;;;;;;;;;;;;oBAoBT,SAAS;;;;;;;;;;;;;;;oBAeT,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoC5B,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
export declare const targetingDiscoveryWorkflowPrompt: Prompt;
|
|
3
|
+
export declare function getTargetingDiscoveryWorkflowMessage(args?: Record<string, string>): string;
|
|
4
|
+
//# sourceMappingURL=targeting-discovery-workflow.prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"targeting-discovery-workflow.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE,eAAO,MAAM,gCAAgC,EAAE,MAU9C,CAAC;AAEF,wBAAgB,oCAAoC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAuC1F"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export const targetingDiscoveryWorkflowPrompt = {
|
|
2
|
+
name: "cm360_targeting_discovery_workflow",
|
|
3
|
+
description: "Guide for browsing CM360 targeting options",
|
|
4
|
+
arguments: [
|
|
5
|
+
{
|
|
6
|
+
name: "profileId",
|
|
7
|
+
description: "CM360 User Profile ID",
|
|
8
|
+
required: true,
|
|
9
|
+
},
|
|
10
|
+
],
|
|
11
|
+
};
|
|
12
|
+
export function getTargetingDiscoveryWorkflowMessage(args) {
|
|
13
|
+
const profileId = args?.profileId || "{profileId}";
|
|
14
|
+
return `# CM360 Targeting Discovery Workflow
|
|
15
|
+
|
|
16
|
+
## Profile ID: ${profileId}
|
|
17
|
+
|
|
18
|
+
## Step 1: Browse Targeting Categories
|
|
19
|
+
|
|
20
|
+
\`\`\`json
|
|
21
|
+
{
|
|
22
|
+
"tool": "cm360_list_targeting_options",
|
|
23
|
+
"params": {
|
|
24
|
+
"profileId": "${profileId}",
|
|
25
|
+
"targetingType": "all"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
\`\`\`
|
|
29
|
+
|
|
30
|
+
## Targeting Types
|
|
31
|
+
|
|
32
|
+
| Type | Description |
|
|
33
|
+
|------|-------------|
|
|
34
|
+
| Geographic | Countries, regions, cities, DMAs |
|
|
35
|
+
| Content | Content categories, keywords |
|
|
36
|
+
| Technology | Browsers, operating systems, device types |
|
|
37
|
+
| Audience | First-party and third-party audience lists |
|
|
38
|
+
| Language | Language targeting |
|
|
39
|
+
| Day/Time | Day parting and time-based targeting |
|
|
40
|
+
|
|
41
|
+
## Step 2: Apply to Placement
|
|
42
|
+
|
|
43
|
+
Targeting in CM360 is typically set at the **placement** or **ad** level, not campaign level.
|
|
44
|
+
|
|
45
|
+
## Notes
|
|
46
|
+
|
|
47
|
+
- CM360 targeting is simpler than self-serve platforms
|
|
48
|
+
- Most targeting is managed via the ad server trafficking workflow
|
|
49
|
+
- Use \`cm360_list_targeting_options\` to discover available options
|
|
50
|
+
`;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=targeting-discovery-workflow.prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"targeting-discovery-workflow.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,gCAAgC,GAAW;IACtD,IAAI,EAAE,oCAAoC;IAC1C,WAAW,EAAE,4CAA4C;IACzD,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF,MAAM,UAAU,oCAAoC,CAAC,IAA6B;IAChF,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,aAAa,CAAC;IACnD,OAAO;;iBAEQ,SAAS;;;;;;;;oBAQN,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B5B,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
export declare const toolSchemaExplorationPrompt: Prompt;
|
|
3
|
+
export declare function getToolSchemaExplorationMessage(args?: Record<string, string>): string;
|
|
4
|
+
//# sourceMappingURL=tool-schema-exploration.prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-schema-exploration.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/tool-schema-exploration.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE,eAAO,MAAM,2BAA2B,EAAE,MAUzC,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CA6FrF"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
export const toolSchemaExplorationPrompt = {
|
|
2
|
+
name: "cm360_tool_schema_exploration",
|
|
3
|
+
description: "Guide for discovering and understanding CM360 MCP tools, resources, and schemas",
|
|
4
|
+
arguments: [
|
|
5
|
+
{
|
|
6
|
+
name: "objective",
|
|
7
|
+
description: "Exploration objective (e.g., campaign management, reporting, floodlight setup)",
|
|
8
|
+
required: false,
|
|
9
|
+
},
|
|
10
|
+
],
|
|
11
|
+
};
|
|
12
|
+
export function getToolSchemaExplorationMessage(args) {
|
|
13
|
+
const objective = args?.objective || "general capability discovery";
|
|
14
|
+
return `# CM360 MCP Tool & Schema Exploration Guide
|
|
15
|
+
|
|
16
|
+
## Context
|
|
17
|
+
- Server: cm360-mcp (Campaign Manager 360 Management)
|
|
18
|
+
- Objective: ${objective}
|
|
19
|
+
|
|
20
|
+
Use this workflow to discover CM360 MCP capabilities while minimizing token usage.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Available MCP Resources
|
|
25
|
+
|
|
26
|
+
Fetch these resources for detailed schema information:
|
|
27
|
+
|
|
28
|
+
| Resource URI | Content |
|
|
29
|
+
|-------------|---------|
|
|
30
|
+
| \`entity-hierarchy://all\` | Entity relationships, API patterns, creation order |
|
|
31
|
+
| \`entity-schema://all\` | All entity field schemas |
|
|
32
|
+
| \`entity-schema://campaign\` | Campaign fields |
|
|
33
|
+
| \`entity-schema://placement\` | Placement fields |
|
|
34
|
+
| \`entity-schema://ad\` | Ad fields |
|
|
35
|
+
| \`entity-schema://creative\` | Creative fields |
|
|
36
|
+
| \`entity-schema://site\` | Site fields |
|
|
37
|
+
| \`entity-schema://advertiser\` | Advertiser fields |
|
|
38
|
+
| \`entity-schema://floodlightActivity\` | Floodlight Activity fields |
|
|
39
|
+
| \`entity-schema://floodlightConfiguration\` | Floodlight Configuration fields |
|
|
40
|
+
| \`entity-examples://all\` | All entity examples |
|
|
41
|
+
| \`entity-examples://{type}\` | Examples for specific type |
|
|
42
|
+
| \`reporting-reference://all\` | Report types, dimensions, metrics |
|
|
43
|
+
| \`targeting-reference://all\` | Targeting option types |
|
|
44
|
+
|
|
45
|
+
## Tool Categories
|
|
46
|
+
|
|
47
|
+
### Account Discovery
|
|
48
|
+
- \`cm360_list_user_profiles\` — List accessible CM360 user profiles (discover your profileId)
|
|
49
|
+
|
|
50
|
+
### Read Operations
|
|
51
|
+
- \`cm360_list_entities\` — List entities with filters
|
|
52
|
+
- \`cm360_get_entity\` — Get single entity by ID
|
|
53
|
+
|
|
54
|
+
### Write Operations
|
|
55
|
+
- \`cm360_create_entity\` — Create entity
|
|
56
|
+
- \`cm360_update_entity\` — Update entity (PUT semantics — full object required)
|
|
57
|
+
- \`cm360_delete_entity\` — Delete entity (creative, floodlightActivity only)
|
|
58
|
+
|
|
59
|
+
### Reporting (Async)
|
|
60
|
+
- \`cm360_get_report\` — Submit report and wait for results (blocking)
|
|
61
|
+
- \`cm360_get_report_breakdowns\` — Submit report with breakdown dimensions and wait for results
|
|
62
|
+
- \`cm360_submit_report\` — Submit report without waiting (non-blocking)
|
|
63
|
+
- \`cm360_check_report_status\` — Check report execution status
|
|
64
|
+
- \`cm360_download_report\` — Download and parse report CSV
|
|
65
|
+
|
|
66
|
+
### Reporting Schedules
|
|
67
|
+
- \`cm360_create_report_schedule\` — Create a scheduled report
|
|
68
|
+
- \`cm360_list_report_schedules\` — List reports with schedules
|
|
69
|
+
- \`cm360_delete_report_schedule\` — Delete a scheduled report
|
|
70
|
+
|
|
71
|
+
### Bulk Operations
|
|
72
|
+
- \`cm360_bulk_update_status\` — Batch status updates
|
|
73
|
+
- \`cm360_bulk_create_entities\` — Batch entity creation
|
|
74
|
+
- \`cm360_bulk_update_entities\` — Batch entity updates
|
|
75
|
+
|
|
76
|
+
### Specialized
|
|
77
|
+
- \`cm360_get_ad_preview\` — Ad preview URL
|
|
78
|
+
- \`cm360_list_targeting_options\` — Browse targeting option categories
|
|
79
|
+
|
|
80
|
+
### Validation
|
|
81
|
+
- \`cm360_validate_entity\` — Client-side entity validation (no API call)
|
|
82
|
+
|
|
83
|
+
### Discovery
|
|
84
|
+
- \`cm360_search_tools\` — Rank server tools by a natural-language query
|
|
85
|
+
|
|
86
|
+
## Workflow Prompts
|
|
87
|
+
|
|
88
|
+
| Task | Prompt |
|
|
89
|
+
|------|--------|
|
|
90
|
+
| Create a full campaign structure | \`cm360_campaign_setup_workflow\` |
|
|
91
|
+
| Update entities safely | \`cm360_entity_update_workflow\` |
|
|
92
|
+
| Bulk create/update/status | \`cm360_bulk_operations_workflow\` |
|
|
93
|
+
| Async reporting workflow | \`cm360_reporting_workflow\` |
|
|
94
|
+
| Troubleshoot entity issues | \`cm360_troubleshoot_entity\` |
|
|
95
|
+
| Targeting option discovery | \`cm360_targeting_discovery_workflow\` |
|
|
96
|
+
| Floodlight setup | \`cm360_floodlight_workflow\` |
|
|
97
|
+
|
|
98
|
+
## Recommended Exploration Order
|
|
99
|
+
|
|
100
|
+
1. Start with \`cm360_list_user_profiles\` to find your profileId
|
|
101
|
+
2. Fetch \`entity-hierarchy://all\` for entity relationships
|
|
102
|
+
3. Fetch \`entity-schema://{type}\` for field details
|
|
103
|
+
4. Fetch \`entity-examples://{type}\` for payload templates
|
|
104
|
+
`;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=tool-schema-exploration.prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-schema-exploration.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/tool-schema-exploration.prompt.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,2BAA2B,GAAW;IACjD,IAAI,EAAE,+BAA+B;IACrC,WAAW,EAAE,iFAAiF;IAC9F,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,gFAAgF;YAC7F,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,+BAA+B,CAAC,IAA6B;IAC3E,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,8BAA8B,CAAC;IACpE,OAAO;;;;eAIM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFvB,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
export declare const troubleshootEntityPrompt: Prompt;
|
|
3
|
+
export declare function getTroubleshootEntityMessage(args?: Record<string, string>): string;
|
|
4
|
+
//# sourceMappingURL=troubleshoot-entity.prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"troubleshoot-entity.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/troubleshoot-entity.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE,eAAO,MAAM,wBAAwB,EAAE,MAetC,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAmDlF"}
|