@cesteral/ttd-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 +308 -0
- package/dist/auth/index.d.ts +3 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +3 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/ttd-auth-adapter.d.ts +21 -0
- package/dist/auth/ttd-auth-adapter.d.ts.map +1 -0
- package/dist/auth/ttd-auth-adapter.js +70 -0
- package/dist/auth/ttd-auth-adapter.js.map +1 -0
- package/dist/auth/ttd-auth-strategy.d.ts +10 -0
- package/dist/auth/ttd-auth-strategy.d.ts.map +1 -0
- package/dist/auth/ttd-auth-strategy.js +28 -0
- package/dist/auth/ttd-auth-strategy.js.map +1 -0
- package/dist/config/index.d.ts +100 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +47 -0
- package/dist/config/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -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 +286 -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 +245 -0
- package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/creative-setup-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/creative-setup-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/creative-setup-workflow.prompt.js +102 -0
- package/dist/mcp-server/prompts/definitions/creative-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 +299 -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 +170 -0
- package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.js +215 -0
- package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.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 +162 -0
- package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/report-generation-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/report-generation-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/report-generation-workflow.prompt.js +163 -0
- package/dist/mcp-server/prompts/definitions/report-generation-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 +259 -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 +193 -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 +119 -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 +97 -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 +388 -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 +145 -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 +318 -0
- package/dist/mcp-server/resources/definitions/entity-schemas.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/field-rules.resource.d.ts +3 -0
- package/dist/mcp-server/resources/definitions/field-rules.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/field-rules.resource.js +28 -0
- package/dist/mcp-server/resources/definitions/field-rules.resource.js.map +1 -0
- package/dist/mcp-server/resources/definitions/graphql-reference.resource.d.ts +3 -0
- package/dist/mcp-server/resources/definitions/graphql-reference.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/graphql-reference.resource.js +442 -0
- package/dist/mcp-server/resources/definitions/graphql-reference.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 +108 -0
- package/dist/mcp-server/resources/definitions/index.js.map +1 -0
- package/dist/mcp-server/resources/definitions/report-reference.resource.d.ts +3 -0
- package/dist/mcp-server/resources/definitions/report-reference.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/report-reference.resource.js +291 -0
- package/dist/mcp-server/resources/definitions/report-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/resources/utils/field-rules.d.ts +18 -0
- package/dist/mcp-server/resources/utils/field-rules.d.ts.map +1 -0
- package/dist/mcp-server/resources/utils/field-rules.js +117 -0
- package/dist/mcp-server/resources/utils/field-rules.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 +162 -0
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/mcp-server/tools/definitions/adjust-bids.tool.d.ts +1137 -0
- package/dist/mcp-server/tools/definitions/adjust-bids.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/adjust-bids.tool.js +165 -0
- package/dist/mcp-server/tools/definitions/adjust-bids.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/archive-entities.tool.d.ts +145 -0
- package/dist/mcp-server/tools/definitions/archive-entities.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/archive-entities.tool.js +120 -0
- package/dist/mcp-server/tools/definitions/archive-entities.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/bid-list-bulk.tool.d.ts +174 -0
- package/dist/mcp-server/tools/definitions/bid-list-bulk.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/bid-list-bulk.tool.js +141 -0
- package/dist/mcp-server/tools/definitions/bid-list-bulk.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/bid-list.tool.d.ts +225 -0
- package/dist/mcp-server/tools/definitions/bid-list.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/bid-list.tool.js +169 -0
- package/dist/mcp-server/tools/definitions/bid-list.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.d.ts +198 -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 +135 -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 +258 -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 +187 -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 +170 -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 +137 -0
- package/dist/mcp-server/tools/definitions/bulk-update-status.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/cancel-report-execution.tool.d.ts +109 -0
- package/dist/mcp-server/tools/definitions/cancel-report-execution.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/cancel-report-execution.tool.js +134 -0
- package/dist/mcp-server/tools/definitions/cancel-report-execution.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/check-report-status.tool.d.ts +112 -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 +94 -0
- package/dist/mcp-server/tools/definitions/check-report-status.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-ad-group-workflow.tool.d.ts +181 -0
- package/dist/mcp-server/tools/definitions/create-ad-group-workflow.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-ad-group-workflow.tool.js +52 -0
- package/dist/mcp-server/tools/definitions/create-ad-group-workflow.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups-job.tool.d.ts +300 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups-job.tool.js +63 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups.tool.d.ts +482 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups.tool.js +121 -0
- package/dist/mcp-server/tools/definitions/create-ad-groups.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-campaign-workflow.tool.d.ts +172 -0
- package/dist/mcp-server/tools/definitions/create-campaign-workflow.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-campaign-workflow.tool.js +55 -0
- package/dist/mcp-server/tools/definitions/create-campaign-workflow.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-campaigns-job.tool.d.ts +286 -0
- package/dist/mcp-server/tools/definitions/create-campaigns-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-campaigns-job.tool.js +63 -0
- package/dist/mcp-server/tools/definitions/create-campaigns-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-campaigns.tool.d.ts +458 -0
- package/dist/mcp-server/tools/definitions/create-campaigns.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-campaigns.tool.js +124 -0
- package/dist/mcp-server/tools/definitions/create-campaigns.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-entity.tool.d.ts +196 -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 +126 -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 +147 -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 +171 -0
- package/dist/mcp-server/tools/definitions/create-report-schedule.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-report-template.tool.d.ts +370 -0
- package/dist/mcp-server/tools/definitions/create-report-template.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-report-template.tool.js +224 -0
- package/dist/mcp-server/tools/definitions/create-report-template.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/create-template-schedule.tool.d.ts +316 -0
- package/dist/mcp-server/tools/definitions/create-template-schedule.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/create-template-schedule.tool.js +247 -0
- package/dist/mcp-server/tools/definitions/create-template-schedule.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/delete-entity.tool.d.ts +147 -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 +112 -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 +79 -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 +89 -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 +297 -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 +160 -0
- package/dist/mcp-server/tools/definitions/download-report.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/execute-entity-report.tool.d.ts +147 -0
- package/dist/mcp-server/tools/definitions/execute-entity-report.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/execute-entity-report.tool.js +134 -0
- package/dist/mcp-server/tools/definitions/execute-entity-report.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-ad-preview.tool.d.ts +80 -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 +82 -0
- package/dist/mcp-server/tools/definitions/get-ad-preview.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-campaign-version.tool.d.ts +61 -0
- package/dist/mcp-server/tools/definitions/get-campaign-version.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-campaign-version.tool.js +51 -0
- package/dist/mcp-server/tools/definitions/get-campaign-version.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-context.tool.d.ts +77 -0
- package/dist/mcp-server/tools/definitions/get-context.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-context.tool.js +80 -0
- package/dist/mcp-server/tools/definitions/get-context.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-entity-report-types.tool.d.ts +169 -0
- package/dist/mcp-server/tools/definitions/get-entity-report-types.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-entity-report-types.tool.js +138 -0
- package/dist/mcp-server/tools/definitions/get-entity-report-types.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts +129 -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 +88 -0
- package/dist/mcp-server/tools/definitions/get-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-first-party-data-job.tool.d.ts +110 -0
- package/dist/mcp-server/tools/definitions/get-first-party-data-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-first-party-data-job.tool.js +58 -0
- package/dist/mcp-server/tools/definitions/get-first-party-data-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-job-status.tool.d.ts +61 -0
- package/dist/mcp-server/tools/definitions/get-job-status.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-job-status.tool.js +54 -0
- package/dist/mcp-server/tools/definitions/get-job-status.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-executions.tool.d.ts +131 -0
- package/dist/mcp-server/tools/definitions/get-report-executions.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-executions.tool.js +253 -0
- package/dist/mcp-server/tools/definitions/get-report-executions.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-schedule.tool.d.ts +197 -0
- package/dist/mcp-server/tools/definitions/get-report-schedule.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-schedule.tool.js +66 -0
- package/dist/mcp-server/tools/definitions/get-report-schedule.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-template.tool.d.ts +303 -0
- package/dist/mcp-server/tools/definitions/get-report-template.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-template.tool.js +139 -0
- package/dist/mcp-server/tools/definitions/get-report-template.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-type-schema.tool.d.ts +152 -0
- package/dist/mcp-server/tools/definitions/get-report-type-schema.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report-type-schema.tool.js +167 -0
- package/dist/mcp-server/tools/definitions/get-report-type-schema.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-report.tool.d.ts +126 -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 +138 -0
- package/dist/mcp-server/tools/definitions/get-report.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-third-party-data-job.tool.d.ts +104 -0
- package/dist/mcp-server/tools/definitions/get-third-party-data-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-third-party-data-job.tool.js +57 -0
- package/dist/mcp-server/tools/definitions/get-third-party-data-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-bulk-job.tool.d.ts +92 -0
- package/dist/mcp-server/tools/definitions/graphql-bulk-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-bulk-job.tool.js +124 -0
- package/dist/mcp-server/tools/definitions/graphql-bulk-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-cancel-bulk-job.tool.d.ts +68 -0
- package/dist/mcp-server/tools/definitions/graphql-cancel-bulk-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-cancel-bulk-job.tool.js +102 -0
- package/dist/mcp-server/tools/definitions/graphql-cancel-bulk-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-mutation-bulk.tool.d.ts +102 -0
- package/dist/mcp-server/tools/definitions/graphql-mutation-bulk.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-mutation-bulk.tool.js +152 -0
- package/dist/mcp-server/tools/definitions/graphql-mutation-bulk.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-query-bulk.tool.d.ts +93 -0
- package/dist/mcp-server/tools/definitions/graphql-query-bulk.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-query-bulk.tool.js +133 -0
- package/dist/mcp-server/tools/definitions/graphql-query-bulk.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-query.tool.d.ts +189 -0
- package/dist/mcp-server/tools/definitions/graphql-query.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/graphql-query.tool.js +143 -0
- package/dist/mcp-server/tools/definitions/graphql-query.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/index.d.ts +45 -0
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/index.js +135 -0
- package/dist/mcp-server/tools/definitions/index.js.map +1 -0
- package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts +231 -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 +147 -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 +282 -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 +128 -0
- package/dist/mcp-server/tools/definitions/list-report-schedules.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/list-report-templates.tool.d.ts +140 -0
- package/dist/mcp-server/tools/definitions/list-report-templates.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/list-report-templates.tool.js +118 -0
- package/dist/mcp-server/tools/definitions/list-report-templates.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/list-report-types.tool.d.ts +97 -0
- package/dist/mcp-server/tools/definitions/list-report-types.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/list-report-types.tool.js +89 -0
- package/dist/mcp-server/tools/definitions/list-report-types.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/rerun-report-schedule.tool.d.ts +109 -0
- package/dist/mcp-server/tools/definitions/rerun-report-schedule.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/rerun-report-schedule.tool.js +130 -0
- package/dist/mcp-server/tools/definitions/rerun-report-schedule.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/rest-request.tool.d.ts +74 -0
- package/dist/mcp-server/tools/definitions/rest-request.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/rest-request.tool.js +54 -0
- package/dist/mcp-server/tools/definitions/rest-request.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/seed.tool.d.ts +156 -0
- package/dist/mcp-server/tools/definitions/seed.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/seed.tool.js +316 -0
- package/dist/mcp-server/tools/definitions/seed.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/submit-report.tool.d.ts +114 -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 +136 -0
- package/dist/mcp-server/tools/definitions/submit-report.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-ad-group-workflow.tool.d.ts +82 -0
- package/dist/mcp-server/tools/definitions/update-ad-group-workflow.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-ad-group-workflow.tool.js +51 -0
- package/dist/mcp-server/tools/definitions/update-ad-group-workflow.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups-job.tool.d.ts +158 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups-job.tool.js +63 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups.tool.d.ts +241 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups.tool.js +120 -0
- package/dist/mcp-server/tools/definitions/update-ad-groups.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-campaign-workflow.tool.d.ts +82 -0
- package/dist/mcp-server/tools/definitions/update-campaign-workflow.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-campaign-workflow.tool.js +53 -0
- package/dist/mcp-server/tools/definitions/update-campaign-workflow.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-campaigns-job.tool.d.ts +158 -0
- package/dist/mcp-server/tools/definitions/update-campaigns-job.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-campaigns-job.tool.js +63 -0
- package/dist/mcp-server/tools/definitions/update-campaigns-job.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-campaigns.tool.d.ts +241 -0
- package/dist/mcp-server/tools/definitions/update-campaigns.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-campaigns.tool.js +120 -0
- package/dist/mcp-server/tools/definitions/update-campaigns.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts +164 -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 +101 -0
- package/dist/mcp-server/tools/definitions/update-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-report-schedule.tool.d.ts +116 -0
- package/dist/mcp-server/tools/definitions/update-report-schedule.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-report-schedule.tool.js +134 -0
- package/dist/mcp-server/tools/definitions/update-report-schedule.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/update-report-template.tool.d.ts +358 -0
- package/dist/mcp-server/tools/definitions/update-report-template.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/update-report-template.tool.js +156 -0
- package/dist/mcp-server/tools/definitions/update-report-template.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts +226 -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 +205 -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 +18 -0
- package/dist/mcp-server/tools/utils/entity-mapping.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/entity-mapping.js +66 -0
- package/dist/mcp-server/tools/utils/entity-mapping.js.map +1 -0
- package/dist/mcp-server/tools/utils/graphql-errors.d.ts +13 -0
- package/dist/mcp-server/tools/utils/graphql-errors.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/graphql-errors.js +48 -0
- package/dist/mcp-server/tools/utils/graphql-errors.js.map +1 -0
- package/dist/mcp-server/tools/utils/parent-id-validation.d.ts +11 -0
- package/dist/mcp-server/tools/utils/parent-id-validation.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/parent-id-validation.js +60 -0
- package/dist/mcp-server/tools/utils/parent-id-validation.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/tools/utils/workflow-schemas.d.ts +646 -0
- package/dist/mcp-server/tools/utils/workflow-schemas.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/workflow-schemas.js +173 -0
- package/dist/mcp-server/tools/utils/workflow-schemas.js.map +1 -0
- package/dist/mcp-server/transports/streamable-http-transport.d.ts +49 -0
- package/dist/mcp-server/transports/streamable-http-transport.d.ts.map +1 -0
- package/dist/mcp-server/transports/streamable-http-transport.js +74 -0
- package/dist/mcp-server/transports/streamable-http-transport.js.map +1 -0
- package/dist/services/session-services.d.ts +22 -0
- package/dist/services/session-services.d.ts.map +1 -0
- package/dist/services/session-services.js +24 -0
- package/dist/services/session-services.js.map +1 -0
- package/dist/services/ttd/ttd-http-client.d.ts +13 -0
- package/dist/services/ttd/ttd-http-client.d.ts.map +1 -0
- package/dist/services/ttd/ttd-http-client.js +70 -0
- package/dist/services/ttd/ttd-http-client.js.map +1 -0
- package/dist/services/ttd/ttd-reporting-service.d.ts +79 -0
- package/dist/services/ttd/ttd-reporting-service.d.ts.map +1 -0
- package/dist/services/ttd/ttd-reporting-service.js +180 -0
- package/dist/services/ttd/ttd-reporting-service.js.map +1 -0
- package/dist/services/ttd/ttd-service.d.ts +107 -0
- package/dist/services/ttd/ttd-service.d.ts.map +1 -0
- package/dist/services/ttd/ttd-service.js +307 -0
- package/dist/services/ttd/ttd-service.js.map +1 -0
- package/dist/services/ttd/types.d.ts +153 -0
- package/dist/services/ttd/types.d.ts.map +1 -0
- package/dist/services/ttd/types.js +30 -0
- package/dist/services/ttd/types.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 +56 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
export const campaignSetupWorkflowPrompt = {
|
|
2
|
+
name: "ttd_campaign_setup_workflow",
|
|
3
|
+
description: "Step-by-step workflow for creating a complete TTD campaign hierarchy (Advertiser → Campaign → Ad Group → Ad)",
|
|
4
|
+
arguments: [
|
|
5
|
+
{
|
|
6
|
+
name: "advertiserId",
|
|
7
|
+
description: "TTD Advertiser ID to create the campaign under",
|
|
8
|
+
required: true,
|
|
9
|
+
},
|
|
10
|
+
],
|
|
11
|
+
};
|
|
12
|
+
export function getCampaignSetupWorkflowMessage(args) {
|
|
13
|
+
const advertiserId = args?.advertiserId || "{advertiserId}";
|
|
14
|
+
return `# TTD Campaign Setup Workflow
|
|
15
|
+
|
|
16
|
+
## Context
|
|
17
|
+
- Advertiser ID: \`${advertiserId}\`
|
|
18
|
+
- Platform: The Trade Desk (TTD API v3)
|
|
19
|
+
|
|
20
|
+
This workflow guides you through creating a full campaign hierarchy. Each step depends on the previous one.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Step 1: Verify the Advertiser
|
|
25
|
+
|
|
26
|
+
Before creating anything, confirm the advertiser exists and note its currency.
|
|
27
|
+
|
|
28
|
+
\`\`\`
|
|
29
|
+
Tool: ttd_get_entity
|
|
30
|
+
Input: { "entityType": "advertiser", "entityId": "${advertiserId}" }
|
|
31
|
+
\`\`\`
|
|
32
|
+
|
|
33
|
+
**Check**: Note the \`CurrencyCode\` — all budgets must use this currency.
|
|
34
|
+
|
|
35
|
+
> Fetch \`entity-schema://advertiser\` for full field reference.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Step 2: Create the Campaign
|
|
40
|
+
|
|
41
|
+
\`\`\`
|
|
42
|
+
Tool: ttd_create_entity
|
|
43
|
+
Input: {
|
|
44
|
+
"entityType": "campaign",
|
|
45
|
+
"advertiserId": "${advertiserId}",
|
|
46
|
+
"data": {
|
|
47
|
+
"CampaignName": "Your Campaign Name",
|
|
48
|
+
"AdvertiserId": "${advertiserId}",
|
|
49
|
+
"Budget": { "Amount": 50000, "CurrencyCode": "USD" },
|
|
50
|
+
"StartDate": "2025-03-01T00:00:00",
|
|
51
|
+
"EndDate": "2025-03-31T23:59:59",
|
|
52
|
+
"PacingMode": "PaceAhead"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
\`\`\`
|
|
56
|
+
|
|
57
|
+
**Save**: Note the returned \`CampaignId\` — you'll need it for ad groups.
|
|
58
|
+
|
|
59
|
+
> Fetch \`entity-examples://campaign\` for more campaign creation patterns.
|
|
60
|
+
|
|
61
|
+
### Common Gotchas
|
|
62
|
+
- \`StartDate\` must be in the future
|
|
63
|
+
- \`Budget.Amount\` is **lifetime** budget, not daily
|
|
64
|
+
- \`PacingMode\` defaults to \`Off\` if omitted — usually you want \`PaceAhead\`
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Step 3: Create Ad Group(s)
|
|
69
|
+
|
|
70
|
+
Ad groups contain targeting and bidding configuration.
|
|
71
|
+
|
|
72
|
+
\`\`\`
|
|
73
|
+
Tool: ttd_create_entity
|
|
74
|
+
Input: {
|
|
75
|
+
"entityType": "adGroup",
|
|
76
|
+
"advertiserId": "${advertiserId}",
|
|
77
|
+
"data": {
|
|
78
|
+
"AdGroupName": "Your Ad Group Name",
|
|
79
|
+
"CampaignId": "{CampaignId from Step 2}",
|
|
80
|
+
"AdvertiserId": "${advertiserId}",
|
|
81
|
+
"RTBAttributes": {
|
|
82
|
+
"BudgetSettings": {
|
|
83
|
+
"Budget": { "Amount": 10000, "CurrencyCode": "USD" },
|
|
84
|
+
"DailyBudget": { "Amount": 500, "CurrencyCode": "USD" },
|
|
85
|
+
"PacingMode": "PaceAhead"
|
|
86
|
+
},
|
|
87
|
+
"BaseBidCPM": { "Amount": 5.00, "CurrencyCode": "USD" },
|
|
88
|
+
"MaxBidCPM": { "Amount": 12.00, "CurrencyCode": "USD" }
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
\`\`\`
|
|
93
|
+
|
|
94
|
+
**Save**: Note the returned \`AdGroupId\`.
|
|
95
|
+
|
|
96
|
+
> Fetch \`entity-schema://adGroup\` for targeting options (geo, audience, site).
|
|
97
|
+
|
|
98
|
+
### Common Gotchas
|
|
99
|
+
- \`RTBAttributes\` is **required** — must include \`BudgetSettings\` and \`BaseBidCPM\`
|
|
100
|
+
- Ad group budget cannot exceed parent campaign budget
|
|
101
|
+
- Targeting (geo, audience, device) is set at the ad group level, not the ad level
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Step 4: Create Creative(s) (if needed)
|
|
106
|
+
|
|
107
|
+
Creatives must exist before ads can reference them.
|
|
108
|
+
|
|
109
|
+
\`\`\`
|
|
110
|
+
Tool: ttd_create_entity
|
|
111
|
+
Input: {
|
|
112
|
+
"entityType": "creative",
|
|
113
|
+
"advertiserId": "${advertiserId}",
|
|
114
|
+
"data": {
|
|
115
|
+
"CreativeName": "Banner 300x250 - Version A",
|
|
116
|
+
"AdvertiserId": "${advertiserId}",
|
|
117
|
+
"CreativeType": "Banner",
|
|
118
|
+
"Width": 300,
|
|
119
|
+
"Height": 250,
|
|
120
|
+
"Tag": "<script src='https://cdn.example.com/ad.js'></script>",
|
|
121
|
+
"LandingPageUrl": "https://www.example.com/landing",
|
|
122
|
+
"IsHTTPS": true
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
\`\`\`
|
|
126
|
+
|
|
127
|
+
**Save**: Note the returned \`CreativeId\`.
|
|
128
|
+
|
|
129
|
+
> Fetch \`entity-schema://creative\` for full field reference (Banner, Video, Native types).
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Step 5: Create Ad(s)
|
|
134
|
+
|
|
135
|
+
Ads associate creatives with the ad group.
|
|
136
|
+
|
|
137
|
+
\`\`\`
|
|
138
|
+
Tool: ttd_create_entity
|
|
139
|
+
Input: {
|
|
140
|
+
"entityType": "ad",
|
|
141
|
+
"advertiserId": "${advertiserId}",
|
|
142
|
+
"data": {
|
|
143
|
+
"AdName": "Your Ad Name",
|
|
144
|
+
"AdGroupId": "{AdGroupId from Step 3}",
|
|
145
|
+
"AdvertiserId": "${advertiserId}",
|
|
146
|
+
"CreativeIds": ["{CreativeId from Step 4}"],
|
|
147
|
+
"LandingPageUrl": "https://www.example.com/landing"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
\`\`\`
|
|
151
|
+
|
|
152
|
+
### Common Gotchas
|
|
153
|
+
- \`CreativeIds\` must reference **existing** creatives (created in Step 4)
|
|
154
|
+
- Multiple creatives in one ad enables TTD auto-optimization (A/B testing)
|
|
155
|
+
- Ads inherit targeting from their parent ad group
|
|
156
|
+
|
|
157
|
+
---
|
|
158
|
+
|
|
159
|
+
## Step 6: Optional — Set Up Ancillary Entities
|
|
160
|
+
|
|
161
|
+
### Conversion Tracking (for CPA/ROAS campaigns)
|
|
162
|
+
\`\`\`
|
|
163
|
+
Tool: ttd_create_entity
|
|
164
|
+
Input: {
|
|
165
|
+
"entityType": "conversionTracker",
|
|
166
|
+
"advertiserId": "${advertiserId}",
|
|
167
|
+
"data": {
|
|
168
|
+
"TrackingTagName": "Purchase - Thank You Page",
|
|
169
|
+
"AdvertiserId": "${advertiserId}",
|
|
170
|
+
"TrackingTagType": "Standard",
|
|
171
|
+
"TrackingTagCategory": "Purchase",
|
|
172
|
+
"ConversionType": "Both"
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
\`\`\`
|
|
176
|
+
|
|
177
|
+
### Site Lists (for inventory targeting)
|
|
178
|
+
\`\`\`
|
|
179
|
+
Tool: ttd_create_entity
|
|
180
|
+
Input: {
|
|
181
|
+
"entityType": "siteList",
|
|
182
|
+
"advertiserId": "${advertiserId}",
|
|
183
|
+
"data": {
|
|
184
|
+
"SiteListName": "Premium Publishers",
|
|
185
|
+
"AdvertiserId": "${advertiserId}",
|
|
186
|
+
"SiteListType": "Whitelist",
|
|
187
|
+
"Sites": ["nytimes.com", "bbc.com"]
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
\`\`\`
|
|
191
|
+
|
|
192
|
+
### Bid Lists (for dimensional bid adjustments)
|
|
193
|
+
\`\`\`
|
|
194
|
+
Tool: ttd_create_entity
|
|
195
|
+
Input: {
|
|
196
|
+
"entityType": "bidList",
|
|
197
|
+
"advertiserId": "${advertiserId}",
|
|
198
|
+
"data": {
|
|
199
|
+
"BidListName": "Geo Bid Modifiers",
|
|
200
|
+
"AdvertiserId": "${advertiserId}",
|
|
201
|
+
"BidListDimension": "GeoRegion",
|
|
202
|
+
"BidListAdjustmentType": "PercentageAdjustment",
|
|
203
|
+
"BidListEntries": [
|
|
204
|
+
{ "DimensionValue": "US-CA", "AdjustmentValue": 50, "IsEnabled": true }
|
|
205
|
+
]
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
\`\`\`
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Step 7: Verify the Hierarchy
|
|
213
|
+
|
|
214
|
+
Confirm everything was created correctly:
|
|
215
|
+
|
|
216
|
+
1. List campaigns: \`ttd_list_entities\` with \`{ "entityType": "campaign", "advertiserId": "${advertiserId}" }\`
|
|
217
|
+
2. List ad groups: \`ttd_list_entities\` with \`{ "entityType": "adGroup", "campaignId": "{CampaignId}" }\`
|
|
218
|
+
3. List ads: \`ttd_list_entities\` with \`{ "entityType": "ad", "filter": { "AdGroupId": "{AdGroupId}" } }\`
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Success Checklist
|
|
223
|
+
|
|
224
|
+
- [ ] Advertiser verified with correct currency
|
|
225
|
+
- [ ] Campaign created with budget and flight dates
|
|
226
|
+
- [ ] Ad group created with bidding, targeting, and channel settings
|
|
227
|
+
- [ ] Creative(s) created (Banner, Video, or Native)
|
|
228
|
+
- [ ] Ad(s) created with creative associations
|
|
229
|
+
- [ ] (Optional) Conversion tracker deployed for CPA/ROAS
|
|
230
|
+
- [ ] (Optional) Site lists configured for inventory targeting
|
|
231
|
+
- [ ] (Optional) Bid lists configured for dimensional optimization
|
|
232
|
+
- [ ] Hierarchy verified via list queries
|
|
233
|
+
|
|
234
|
+
## Related Resources
|
|
235
|
+
- \`entity-hierarchy://all\` — Entity relationships and parent ID requirements (9 entity types)
|
|
236
|
+
- \`entity-schema://{entityType}\` — Full field reference per entity type
|
|
237
|
+
- \`entity-examples://{entityType}\` — CRUD payload examples
|
|
238
|
+
|
|
239
|
+
## Bulk Alternative
|
|
240
|
+
For creating multiple campaigns or ad groups at once, use:
|
|
241
|
+
- \`ttd_bulk_create_entities\` — batch create up to 50 items
|
|
242
|
+
- \`ttd_bulk_update_status\` — batch pause/resume after verification
|
|
243
|
+
`;
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=campaign-setup-workflow.prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"campaign-setup-workflow.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,2BAA2B,GAAW;IACjD,IAAI,EAAE,6BAA6B;IACnC,WAAW,EACT,8GAA8G;IAChH,SAAS,EAAE;QACT;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF,MAAM,UAAU,+BAA+B,CAAC,IAA6B;IAC3E,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,gBAAgB,CAAC;IAE5D,OAAO;;;qBAGY,YAAY;;;;;;;;;;;;;oDAamB,YAAY;;;;;;;;;;;;;;;qBAe3C,YAAY;;;uBAGV,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA4Bd,YAAY;;;;uBAIV,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAiCd,YAAY;;;uBAGV,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;qBAyBd,YAAY;;;;uBAIV,YAAY;;;;;;;;;;;;;;;;;;;;;qBAqBd,YAAY;;;uBAGV,YAAY;;;;;;;;;;;;;qBAad,YAAY;;;uBAGV,YAAY;;;;;;;;;;;;qBAYd,YAAY;;;uBAGV,YAAY;;;;;;;;;;;;;;;;+FAgB4D,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2B1G,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
export declare const ttdCreativeSetupWorkflowPrompt: Prompt;
|
|
3
|
+
export declare function getTtdCreativeSetupWorkflowMessage(_args?: Record<string, string>): string;
|
|
4
|
+
//# sourceMappingURL=creative-setup-workflow.prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creative-setup-workflow.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/creative-setup-workflow.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE,eAAO,MAAM,8BAA8B,EAAE,MAI5C,CAAC;AAEF,wBAAgB,kCAAkC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAgGzF"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
export const ttdCreativeSetupWorkflowPrompt = {
|
|
2
|
+
name: "creative_setup_workflow",
|
|
3
|
+
description: "Step-by-step guide for creating The Trade Desk creatives and attaching them to ad groups",
|
|
4
|
+
};
|
|
5
|
+
export function getTtdCreativeSetupWorkflowMessage(_args) {
|
|
6
|
+
return `# TTD Creative Setup Workflow
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
TTD Creative workflow: Create Creative entity → Attach to Ad Group via Ad
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Step 1: Explore Creative Schema
|
|
14
|
+
|
|
15
|
+
\`\`\`
|
|
16
|
+
entity-schema://creative
|
|
17
|
+
\`\`\`
|
|
18
|
+
|
|
19
|
+
Or check examples:
|
|
20
|
+
\`\`\`
|
|
21
|
+
entity-examples://creative
|
|
22
|
+
\`\`\`
|
|
23
|
+
|
|
24
|
+
## Step 2: Create a Creative
|
|
25
|
+
|
|
26
|
+
\`\`\`json
|
|
27
|
+
ttd_create_entity({
|
|
28
|
+
"entityType": "creative",
|
|
29
|
+
"data": {
|
|
30
|
+
"AdvertiserId": "{your_advertiser_id}",
|
|
31
|
+
"CreativeName": "Display Banner 300x250",
|
|
32
|
+
"Width": 300,
|
|
33
|
+
"Height": 250,
|
|
34
|
+
"CreativeType": "banner",
|
|
35
|
+
"Url": "https://your-click-url.com",
|
|
36
|
+
"ImageUrl": "https://your-hosted-banner.jpg",
|
|
37
|
+
"ClickThroughUrl": "https://your-landing-page.com"
|
|
38
|
+
}
|
|
39
|
+
})
|
|
40
|
+
\`\`\`
|
|
41
|
+
|
|
42
|
+
⚠️ **GOTCHA**: TTD requires externally hosted creative assets. Images must be publicly accessible URLs.
|
|
43
|
+
|
|
44
|
+
**Creative types:** banner, video, native, audio
|
|
45
|
+
|
|
46
|
+
## Step 3: Create a Video Creative (VAST)
|
|
47
|
+
|
|
48
|
+
\`\`\`json
|
|
49
|
+
ttd_create_entity({
|
|
50
|
+
"entityType": "creative",
|
|
51
|
+
"data": {
|
|
52
|
+
"AdvertiserId": "{your_advertiser_id}",
|
|
53
|
+
"CreativeName": "Pre-roll Video",
|
|
54
|
+
"Width": 1920,
|
|
55
|
+
"Height": 1080,
|
|
56
|
+
"CreativeType": "video",
|
|
57
|
+
"VastXml": "<VAST version=\\"3.0\\">...</VAST>",
|
|
58
|
+
"ClickThroughUrl": "https://your-landing-page.com"
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
\`\`\`
|
|
62
|
+
|
|
63
|
+
## Step 4: Preview Creative
|
|
64
|
+
|
|
65
|
+
\`\`\`json
|
|
66
|
+
ttd_get_ad_preview({
|
|
67
|
+
"creativeId": "{creativeId_from_step_2}"
|
|
68
|
+
})
|
|
69
|
+
\`\`\`
|
|
70
|
+
|
|
71
|
+
## Step 5: Create Ad linking Creative to Ad Group
|
|
72
|
+
|
|
73
|
+
\`\`\`json
|
|
74
|
+
ttd_create_entity({
|
|
75
|
+
"entityType": "ad",
|
|
76
|
+
"data": {
|
|
77
|
+
"AdGroupId": "{your_adgroup_id}",
|
|
78
|
+
"CreativeId": "{creativeId_from_step_2}",
|
|
79
|
+
"AdName": "Your Ad Name",
|
|
80
|
+
"IsEnabled": false
|
|
81
|
+
}
|
|
82
|
+
})
|
|
83
|
+
\`\`\`
|
|
84
|
+
|
|
85
|
+
## Common Errors
|
|
86
|
+
|
|
87
|
+
| Error | Cause | Fix |
|
|
88
|
+
|-------|-------|-----|
|
|
89
|
+
| "Image URL not accessible" | Private URL | Use a publicly accessible URL |
|
|
90
|
+
| "Invalid dimensions" | Wrong size | Match ad group placement dimensions |
|
|
91
|
+
| "VAST parsing failed" | Invalid VAST XML | Validate XML before submitting |
|
|
92
|
+
| "Creative rejected" | Policy violation | Review TTD creative policies |
|
|
93
|
+
|
|
94
|
+
## Success Criteria
|
|
95
|
+
- [ ] Creative created and ID obtained
|
|
96
|
+
- [ ] Preview URL validated
|
|
97
|
+
- [ ] Ad created linking creative to ad group
|
|
98
|
+
- [ ] Ad enabled when ready to serve
|
|
99
|
+
|
|
100
|
+
`;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=creative-setup-workflow.prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creative-setup-workflow.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/creative-setup-workflow.prompt.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,8BAA8B,GAAW;IACpD,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,0FAA0F;CAC7F,CAAC;AAEF,MAAM,UAAU,kCAAkC,CAAC,KAA8B;IAC/E,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FR,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
export declare const crossPlatformCampaignSetupPrompt: Prompt;
|
|
3
|
+
export declare function getCrossPlatformCampaignSetupMessage(args?: Record<string, string>): string;
|
|
4
|
+
//# sourceMappingURL=cross-platform-campaign-setup.prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cross-platform-campaign-setup.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAQjE,eAAO,MAAM,gCAAgC,EAAE,MAiB9C,CAAC;AAEF,wBAAgB,oCAAoC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CA0R1F"}
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
export const crossPlatformCampaignSetupPrompt = {
|
|
2
|
+
name: "cross_platform_campaign_setup",
|
|
3
|
+
description: "Guide for setting up a coordinated multi-platform campaign across DV360 (dv360-mcp), The Trade Desk (ttd-mcp), Google Ads (gads-mcp), Meta Ads (meta-mcp), LinkedIn (linkedin-mcp), TikTok (tiktok-mcp), Pinterest (pinterest-mcp), Snapchat (snapchat-mcp), and Amazon DSP (amazon-dsp-mcp). Covers platform selection, budget allocation, naming conventions, and phased launch.",
|
|
4
|
+
arguments: [
|
|
5
|
+
{
|
|
6
|
+
name: "totalBudget",
|
|
7
|
+
description: "Total campaign budget across all platforms (e.g., '50000' for $50,000)",
|
|
8
|
+
required: false,
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: "objective",
|
|
12
|
+
description: "Campaign objective: 'awareness', 'consideration', or 'conversion' (default: conversion)",
|
|
13
|
+
required: false,
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
};
|
|
17
|
+
export function getCrossPlatformCampaignSetupMessage(args) {
|
|
18
|
+
const totalBudget = args?.totalBudget || "{totalBudget}";
|
|
19
|
+
const objective = args?.objective || "conversion";
|
|
20
|
+
return `# Cross-Platform Coordinated Campaign Setup
|
|
21
|
+
|
|
22
|
+
Total Budget: \$${totalBudget}
|
|
23
|
+
Objective: \`${objective}\`
|
|
24
|
+
|
|
25
|
+
This workflow guides you through setting up campaigns across multiple ad platforms in a coordinated manner. You must be connected to the relevant MCP servers.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Step 1: Platform Selection
|
|
30
|
+
|
|
31
|
+
Choose platforms based on your objective and audience:
|
|
32
|
+
|
|
33
|
+
| Objective | Recommended Platforms | Rationale |
|
|
34
|
+
|-----------|----------------------|-----------|
|
|
35
|
+
| **Awareness** | DV360 + Meta + TikTok + Pinterest | DV360 for programmatic display/video reach, Meta/TikTok for social reach, Pinterest for visual discovery |
|
|
36
|
+
| **Consideration** | DV360 + TTD + Meta + LinkedIn | Broad programmatic reach with social engagement and B2B professional targeting |
|
|
37
|
+
| **Conversion** | Google Ads + Meta + TTD + Amazon DSP | Search intent (Google) + social retargeting (Meta) + programmatic (TTD) + retail intent (Amazon) |
|
|
38
|
+
| **B2B** | LinkedIn + Google Ads + Meta | Professional audience targeting on LinkedIn, search intent, social retargeting |
|
|
39
|
+
| **Gen Z / Video** | TikTok + Snapchat + Meta | Short-form video engagement across Gen Z/Millennial audiences |
|
|
40
|
+
| **Shopping / E-commerce** | Pinterest + Meta + Google Ads + Amazon DSP | Visual discovery + social + search + retail intent |
|
|
41
|
+
| **Full-Funnel** | All 9 platforms | Maximum reach across all touchpoints |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Step 2: Budget Allocation
|
|
46
|
+
|
|
47
|
+
Split the total budget across platforms. Common allocation strategies:
|
|
48
|
+
|
|
49
|
+
### Performance-Based (Recommended for existing campaigns)
|
|
50
|
+
Allocate based on historical CPA/ROAS data. Use the \`cross_platform_performance_comparison\` prompt to gather data first.
|
|
51
|
+
|
|
52
|
+
### Equal Split (New campaigns with no history)
|
|
53
|
+
|
|
54
|
+
| Platform | Allocation | Budget |
|
|
55
|
+
|----------|-----------|--------|
|
|
56
|
+
| DV360 | 15% | \$${totalBudget} × 0.15 |
|
|
57
|
+
| TTD | 15% | \$${totalBudget} × 0.15 |
|
|
58
|
+
| Google Ads | 15% | \$${totalBudget} × 0.15 |
|
|
59
|
+
| Meta | 15% | \$${totalBudget} × 0.15 |
|
|
60
|
+
| LinkedIn | 10% | \$${totalBudget} × 0.10 |
|
|
61
|
+
| TikTok | 10% | \$${totalBudget} × 0.10 |
|
|
62
|
+
| Pinterest | 10% | \$${totalBudget} × 0.10 |
|
|
63
|
+
| Snapchat | 5% | \$${totalBudget} × 0.05 |
|
|
64
|
+
| Amazon DSP | 5% | \$${totalBudget} × 0.05 |
|
|
65
|
+
|
|
66
|
+
### Objective-Weighted
|
|
67
|
+
|
|
68
|
+
| Platform | Awareness | Consideration | Conversion | B2B | Shopping |
|
|
69
|
+
|----------|-----------|---------------|------------|-----|----------|
|
|
70
|
+
| DV360 | 25% | 20% | 10% | 5% | 5% |
|
|
71
|
+
| TTD | 15% | 15% | 15% | 5% | 10% |
|
|
72
|
+
| Google Ads | 5% | 15% | 30% | 20% | 20% |
|
|
73
|
+
| Meta | 20% | 20% | 15% | 15% | 20% |
|
|
74
|
+
| LinkedIn | 5% | 10% | 5% | 35% | 2% |
|
|
75
|
+
| TikTok | 15% | 10% | 10% | 5% | 8% |
|
|
76
|
+
| Pinterest | 10% | 5% | 5% | 0% | 20% |
|
|
77
|
+
| Snapchat | 5% | 5% | 5% | 0% | 5% |
|
|
78
|
+
| Amazon DSP | 0% | 0% | 5% | 15% | 10% |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Step 3: Naming Convention
|
|
83
|
+
|
|
84
|
+
Use consistent naming across all platforms for easy cross-platform tracking:
|
|
85
|
+
|
|
86
|
+
**Pattern:** \`{Brand}_{Objective}_{Platform}_{Geo}_{Audience}_{YYYYMM}\`
|
|
87
|
+
|
|
88
|
+
**Examples:**
|
|
89
|
+
- \`Acme_Conv_DV360_US_Retargeting_202603\`
|
|
90
|
+
- \`Acme_Conv_TTD_US_Retargeting_202603\`
|
|
91
|
+
- \`Acme_Conv_GADS_US_Search_202603\`
|
|
92
|
+
- \`Acme_Conv_META_US_Lookalike_202603\`
|
|
93
|
+
- \`Acme_B2B_LI_US_Professionals_202603\`
|
|
94
|
+
- \`Acme_Aware_TT_US_GenZ_202603\`
|
|
95
|
+
- \`Acme_Shop_PIN_US_ShoppingIntent_202603\`
|
|
96
|
+
- \`Acme_Aware_SNAP_US_GenZ_202603\`
|
|
97
|
+
- \`Acme_Conv_AMZN_US_Retargeting_202603\`
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Step 4: Create Campaigns on Each Platform
|
|
102
|
+
|
|
103
|
+
### DV360 (via dv360-mcp)
|
|
104
|
+
|
|
105
|
+
Use the \`full_campaign_setup_workflow\` prompt for detailed guidance.
|
|
106
|
+
|
|
107
|
+
Key steps:
|
|
108
|
+
1. Create Campaign (PAUSED status)
|
|
109
|
+
2. Create Insertion Order (DRAFT status)
|
|
110
|
+
3. Create Line Items (DRAFT status)
|
|
111
|
+
4. Assign targeting
|
|
112
|
+
5. Activate via \`entity_activation_workflow\`
|
|
113
|
+
|
|
114
|
+
⚠️ **DV360 budget values are in micros** (1,000,000 = $1.00)
|
|
115
|
+
|
|
116
|
+
### The Trade Desk (via ttd-mcp)
|
|
117
|
+
|
|
118
|
+
Use the \`ttd_campaign_setup_workflow\` prompt for detailed guidance.
|
|
119
|
+
|
|
120
|
+
Key steps:
|
|
121
|
+
1. Create Campaign
|
|
122
|
+
2. Create Ad Groups with RTBAttributes
|
|
123
|
+
3. Create Ads and link Creatives
|
|
124
|
+
4. Set availability to "Available"
|
|
125
|
+
|
|
126
|
+
⚠️ **TTD budget values are in dollars** ($100.00 = 100.00)
|
|
127
|
+
|
|
128
|
+
### Google Ads (via gads-mcp)
|
|
129
|
+
|
|
130
|
+
Use the \`gads_campaign_setup_workflow\` prompt for detailed guidance.
|
|
131
|
+
|
|
132
|
+
Key steps:
|
|
133
|
+
1. Create Campaign Budget
|
|
134
|
+
2. Create Campaign (PAUSED)
|
|
135
|
+
3. Create Ad Groups
|
|
136
|
+
4. Create Keywords (for Search)
|
|
137
|
+
5. Create Responsive Search Ads
|
|
138
|
+
6. Enable campaign
|
|
139
|
+
|
|
140
|
+
⚠️ **Google Ads budget values are in micros** (1,000,000 = $1.00)
|
|
141
|
+
|
|
142
|
+
### Meta Ads (via meta-mcp)
|
|
143
|
+
|
|
144
|
+
Use the \`meta_campaign_setup_workflow\` prompt for detailed guidance.
|
|
145
|
+
|
|
146
|
+
Key steps:
|
|
147
|
+
1. Create Campaign (PAUSED)
|
|
148
|
+
2. Create Ad Creative
|
|
149
|
+
3. Create Ad Sets with targeting
|
|
150
|
+
4. Create Ads
|
|
151
|
+
5. Activate
|
|
152
|
+
|
|
153
|
+
⚠️ **Meta budget values are in cents** (5000 = $50.00)
|
|
154
|
+
|
|
155
|
+
### LinkedIn Ads (via linkedin-mcp)
|
|
156
|
+
|
|
157
|
+
Use the \`linkedin_campaign_setup_workflow\` prompt for detailed guidance.
|
|
158
|
+
|
|
159
|
+
Key steps:
|
|
160
|
+
1. Create Campaign Group (ACTIVE or PAUSED)
|
|
161
|
+
2. Create Campaign with targeting criteria and CPM bid
|
|
162
|
+
3. Create Creative linked to the campaign
|
|
163
|
+
4. Activate via \`linkedin_bulk_update_status\`
|
|
164
|
+
|
|
165
|
+
⚠️ **LinkedIn budget values are in dollars** ($100.00 = 100.00)
|
|
166
|
+
|
|
167
|
+
Best for: B2B, professional audiences, job title/company/skill targeting
|
|
168
|
+
|
|
169
|
+
### TikTok Ads (via tiktok-mcp)
|
|
170
|
+
|
|
171
|
+
Use the \`tiktok_campaign_setup_workflow\` prompt for detailed guidance.
|
|
172
|
+
|
|
173
|
+
Key steps:
|
|
174
|
+
1. Create Campaign with objective and budget
|
|
175
|
+
2. Create Ad Group with targeting and schedule
|
|
176
|
+
3. Upload creatives via \`tiktok_upload_video\` or \`tiktok_upload_image\`
|
|
177
|
+
4. Create Ads referencing the creative
|
|
178
|
+
5. Enable via \`tiktok_bulk_update_status\`
|
|
179
|
+
|
|
180
|
+
⚠️ **TikTok budget values are in dollars** ($100.00 = 100.00)
|
|
181
|
+
|
|
182
|
+
Best for: Short-form video, Gen Z/Millennial audiences, entertainment and lifestyle brands
|
|
183
|
+
|
|
184
|
+
### Pinterest (via pinterest-mcp)
|
|
185
|
+
|
|
186
|
+
Use the \`pinterest_campaign_setup_workflow\` prompt for detailed guidance.
|
|
187
|
+
|
|
188
|
+
Key steps:
|
|
189
|
+
1. Create Campaign (ACTIVE or PAUSED)
|
|
190
|
+
2. Create Ad Groups with targeting_spec
|
|
191
|
+
3. Upload/identify Pinterest Pin to promote
|
|
192
|
+
4. Create Ads referencing the Pin by pin_id
|
|
193
|
+
5. Activate via \`pinterest_bulk_update_status\`
|
|
194
|
+
|
|
195
|
+
⚠️ **Pinterest budget values are in micro-currency** (50000000 = $50.00)
|
|
196
|
+
|
|
197
|
+
Best for: E-commerce, lifestyle, food/beauty brands — high visual discovery and shopping intent
|
|
198
|
+
|
|
199
|
+
### Snapchat (via snapchat-mcp)
|
|
200
|
+
|
|
201
|
+
Use the \`snapchat_campaign_setup_workflow\` prompt for detailed guidance.
|
|
202
|
+
|
|
203
|
+
Key steps:
|
|
204
|
+
1. Create Campaign with objective and budget
|
|
205
|
+
2. Create Ad Squad (Ad Group) with targeting and placement
|
|
206
|
+
3. Upload creative via \`snapchat_upload_media\`
|
|
207
|
+
4. Create Ads referencing the creative
|
|
208
|
+
5. Activate via \`snapchat_bulk_update_status\`
|
|
209
|
+
|
|
210
|
+
⚠️ **Snapchat budget values are in micro-currency** (1 = $0.000001, so $100.00 = 100000000)
|
|
211
|
+
|
|
212
|
+
Best for: Gen Z audiences, AR lenses, video/story formats
|
|
213
|
+
|
|
214
|
+
### Amazon DSP (via amazon-dsp-mcp)
|
|
215
|
+
|
|
216
|
+
Use the \`amazon_dsp_campaign_setup_workflow\` prompt for detailed guidance.
|
|
217
|
+
|
|
218
|
+
Key steps:
|
|
219
|
+
1. Create Order (equivalent to Campaign) with flight dates and budget
|
|
220
|
+
2. Create Line Item with targeting and bid
|
|
221
|
+
3. Create Creative and attach to Line Item
|
|
222
|
+
4. Activate Order
|
|
223
|
+
|
|
224
|
+
⚠️ **Amazon DSP budget values are in dollars** ($100.00 = 100.00)
|
|
225
|
+
|
|
226
|
+
Best for: Retail/commerce intent, first-party Amazon audience data, programmatic display
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Step 5: Budget Value Reference
|
|
231
|
+
|
|
232
|
+
Critical — each platform uses different units:
|
|
233
|
+
|
|
234
|
+
| Platform | Unit | $100.00 Budget | $5.00 Bid | Best For |
|
|
235
|
+
|----------|------|---------------|-----------|----------|
|
|
236
|
+
| **DV360** | Micros | 100000000 | 5000000 | Programmatic display/video |
|
|
237
|
+
| **TTD** | Dollars | 100.00 | 5.00 | Programmatic DSP |
|
|
238
|
+
| **Google Ads** | Micros | 100000000 | 5000000 | Search intent |
|
|
239
|
+
| **Meta** | Cents | 10000 | 500 | Social retargeting |
|
|
240
|
+
| **LinkedIn** | Dollars | 100.00 | 5.00 | B2B professional audiences |
|
|
241
|
+
| **TikTok** | Dollars | 100.00 | 5.00 | Short-form video, Gen Z |
|
|
242
|
+
| **Pinterest** | Micro-currency | 100000000 | 5000000 | Visual discovery, shopping |
|
|
243
|
+
| **Snapchat** | Micro-currency | 100000000 | 5000000 | Gen Z, AR/video |
|
|
244
|
+
| **Amazon DSP** | Dollars | 100.00 | 5.00 | Retail/commerce intent |
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
248
|
+
## Step 6: Phased Launch
|
|
249
|
+
|
|
250
|
+
Don't activate all platforms simultaneously. Launch in phases to monitor:
|
|
251
|
+
|
|
252
|
+
### Phase 1: Pilot (Week 1)
|
|
253
|
+
- Launch on **one platform** (e.g., Google Ads for conversion, Meta for awareness)
|
|
254
|
+
- Allocate 25% of total budget
|
|
255
|
+
- Establish baseline CPA/ROAS
|
|
256
|
+
|
|
257
|
+
### Phase 2: Expand (Week 2)
|
|
258
|
+
- Add **second platform** (e.g., Meta or TTD)
|
|
259
|
+
- Compare performance with Phase 1 baseline
|
|
260
|
+
- Adjust bids based on early results
|
|
261
|
+
|
|
262
|
+
### Phase 3: Full Launch (Week 3+)
|
|
263
|
+
- Activate remaining platforms
|
|
264
|
+
- Use \`cross_platform_performance_comparison\` prompt to monitor
|
|
265
|
+
- Reallocate budget based on performance data
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Step 7: Cross-Platform Tracking
|
|
270
|
+
|
|
271
|
+
Set up consistent conversion tracking across platforms:
|
|
272
|
+
|
|
273
|
+
1. **UTM parameters**: Use consistent UTM source/medium/campaign across all platforms
|
|
274
|
+
2. **Conversion pixels**: Ensure all platforms track the same conversion events
|
|
275
|
+
3. **Attribution window**: Note that each platform uses different attribution models — cross-platform CPA comparisons are directional
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## Post-Launch Monitoring
|
|
280
|
+
|
|
281
|
+
After all platforms are live:
|
|
282
|
+
|
|
283
|
+
1. **Daily**: Check pacing on each platform
|
|
284
|
+
2. **Weekly**: Run \`cross_platform_performance_comparison\` to compare metrics
|
|
285
|
+
3. **Bi-weekly**: Reallocate budget from underperformers to top performers
|
|
286
|
+
4. **Monthly**: Review overall campaign ROAS and adjust strategy
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## Gotchas
|
|
291
|
+
|
|
292
|
+
- **Create campaigns PAUSED/DRAFT on all platforms first**, then activate in a controlled sequence
|
|
293
|
+
- **Budget units differ per platform** — double-check the conversion table above
|
|
294
|
+
- **Targeting alignment**: Try to match audiences across platforms as closely as possible for valid comparisons
|
|
295
|
+
- **Creative formats differ**: Each platform has different ad format requirements — plan creative assets accordingly
|
|
296
|
+
- **Time zones**: Campaigns on different platforms may use different timezone settings — align flight dates carefully
|
|
297
|
+
`;
|
|
298
|
+
}
|
|
299
|
+
//# sourceMappingURL=cross-platform-campaign-setup.prompt.js.map
|
|
@@ -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":"AAWA,MAAM,CAAC,MAAM,gCAAgC,GAAW;IACtD,IAAI,EAAE,+BAA+B;IACrC,WAAW,EACT,oXAAoX;IACtX,SAAS,EAAE;QACT;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,wEAAwE;YACrF,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EACT,yFAAyF;YAC3F,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;IAElD,OAAO;;kBAES,WAAW;eACd,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAiCJ,WAAW;kBACb,WAAW;yBACJ,WAAW;mBACjB,WAAW;uBACP,WAAW;qBACb,WAAW;wBACR,WAAW;sBACb,WAAW;wBACT,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyOlC,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;AAQjE,eAAO,MAAM,8BAA8B,EAAE,MAY5C,CAAC;AAEF,wBAAgB,kCAAkC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CA8JxF"}
|