@cesteral/meta-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 +337 -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/meta-auth-adapter.d.ts +37 -0
- package/dist/auth/meta-auth-adapter.d.ts.map +1 -0
- package/dist/auth/meta-auth-adapter.js +109 -0
- package/dist/auth/meta-auth-adapter.js.map +1 -0
- package/dist/auth/meta-auth-strategy.d.ts +13 -0
- package/dist/auth/meta-auth-strategy.d.ts.map +1 -0
- package/dist/auth/meta-auth-strategy.js +47 -0
- package/dist/auth/meta-auth-strategy.js.map +1 -0
- package/dist/config/index.d.ts +108 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +51 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/insights-catalog.json +95 -0
- package/dist/container/index.d.ts +5 -0
- package/dist/container/index.d.ts.map +1 -0
- package/dist/container/index.js +14 -0
- package/dist/container/index.js.map +1 -0
- package/dist/container/registrations/core.d.ts +3 -0
- package/dist/container/registrations/core.d.ts.map +1 -0
- package/dist/container/registrations/core.js +16 -0
- package/dist/container/registrations/core.js.map +1 -0
- package/dist/container/registrations/mcp.d.ts +2 -0
- package/dist/container/registrations/mcp.d.ts.map +1 -0
- package/dist/container/registrations/mcp.js +3 -0
- package/dist/container/registrations/mcp.js.map +1 -0
- package/dist/container/tokens.d.ts +6 -0
- package/dist/container/tokens.d.ts.map +1 -0
- package/dist/container/tokens.js +6 -0
- package/dist/container/tokens.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +40 -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 +244 -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 +111 -0
- package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.js +160 -0
- package/dist/mcp-server/prompts/definitions/creative-upload-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 +234 -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 +159 -0
- package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.js.map +1 -0
- package/dist/mcp-server/prompts/definitions/insights-reporting-workflow.prompt.d.ts +4 -0
- package/dist/mcp-server/prompts/definitions/insights-reporting-workflow.prompt.d.ts.map +1 -0
- package/dist/mcp-server/prompts/definitions/insights-reporting-workflow.prompt.js +79 -0
- package/dist/mcp-server/prompts/definitions/insights-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 +289 -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 +109 -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 +77 -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 +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 +117 -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 +125 -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/findings.resource.d.ts +8 -0
- package/dist/mcp-server/resources/definitions/findings.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/findings.resource.js +33 -0
- package/dist/mcp-server/resources/definitions/findings.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 +81 -0
- package/dist/mcp-server/resources/definitions/index.js.map +1 -0
- package/dist/mcp-server/resources/definitions/insights-reference.resource.d.ts +3 -0
- package/dist/mcp-server/resources/definitions/insights-reference.resource.d.ts.map +1 -0
- package/dist/mcp-server/resources/definitions/insights-reference.resource.js +113 -0
- package/dist/mcp-server/resources/definitions/insights-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 +98 -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/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 +103 -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 +133 -0
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/mcp-server/tools/definitions/adjust-bids.tool.d.ts +221 -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 +178 -0
- package/dist/mcp-server/tools/definitions/adjust-bids.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.d.ts +143 -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 +108 -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 +180 -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 +125 -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 +140 -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 +112 -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 +148 -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 +107 -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 +115 -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 +104 -0
- package/dist/mcp-server/tools/definitions/create-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/delete-entity.tool.d.ts +93 -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 +102 -0
- package/dist/mcp-server/tools/definitions/delete-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/download-report.tool.d.ts +183 -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 +109 -0
- package/dist/mcp-server/tools/definitions/download-report.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/duplicate-entity.tool.d.ts +115 -0
- package/dist/mcp-server/tools/definitions/duplicate-entity.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/duplicate-entity.tool.js +98 -0
- package/dist/mcp-server/tools/definitions/duplicate-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-ad-preview.tool.d.ts +69 -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 +63 -0
- package/dist/mcp-server/tools/definitions/get-ad-preview.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-ad-previews.tool.d.ts +69 -0
- package/dist/mcp-server/tools/definitions/get-ad-previews.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-ad-previews.tool.js +68 -0
- package/dist/mcp-server/tools/definitions/get-ad-previews.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-available-metrics.tool.d.ts +91 -0
- package/dist/mcp-server/tools/definitions/get-available-metrics.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-available-metrics.tool.js +85 -0
- package/dist/mcp-server/tools/definitions/get-available-metrics.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-delivery-estimate.tool.d.ts +82 -0
- package/dist/mcp-server/tools/definitions/get-delivery-estimate.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-delivery-estimate.tool.js +72 -0
- package/dist/mcp-server/tools/definitions/get-delivery-estimate.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts +90 -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 +83 -0
- package/dist/mcp-server/tools/definitions/get-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-insights-breakdowns.tool.d.ts +277 -0
- package/dist/mcp-server/tools/definitions/get-insights-breakdowns.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-insights-breakdowns.tool.js +175 -0
- package/dist/mcp-server/tools/definitions/get-insights-breakdowns.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-insights.tool.d.ts +274 -0
- package/dist/mcp-server/tools/definitions/get-insights.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-insights.tool.js +188 -0
- package/dist/mcp-server/tools/definitions/get-insights.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-pacing-status.tool.d.ts +141 -0
- package/dist/mcp-server/tools/definitions/get-pacing-status.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-pacing-status.tool.js +157 -0
- package/dist/mcp-server/tools/definitions/get-pacing-status.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/get-targeting-options.tool.d.ts +81 -0
- package/dist/mcp-server/tools/definitions/get-targeting-options.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/get-targeting-options.tool.js +73 -0
- package/dist/mcp-server/tools/definitions/get-targeting-options.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/index.d.ts +29 -0
- package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/index.js +87 -0
- package/dist/mcp-server/tools/definitions/index.js.map +1 -0
- package/dist/mcp-server/tools/definitions/list-ad-accounts.tool.d.ts +147 -0
- package/dist/mcp-server/tools/definitions/list-ad-accounts.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/list-ad-accounts.tool.js +83 -0
- package/dist/mcp-server/tools/definitions/list-ad-accounts.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts +184 -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/manage-budget-schedule.tool.d.ts +128 -0
- package/dist/mcp-server/tools/definitions/manage-budget-schedule.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/manage-budget-schedule.tool.js +145 -0
- package/dist/mcp-server/tools/definitions/manage-budget-schedule.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/search-targeting.tool.d.ts +89 -0
- package/dist/mcp-server/tools/definitions/search-targeting.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/search-targeting.tool.js +87 -0
- package/dist/mcp-server/tools/definitions/search-targeting.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/submit-report.tool.d.ts +192 -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 +131 -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 +1714 -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 +146 -0
- package/dist/mcp-server/tools/definitions/update-entity.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/upload-image.tool.d.ts +88 -0
- package/dist/mcp-server/tools/definitions/upload-image.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/upload-image.tool.js +89 -0
- package/dist/mcp-server/tools/definitions/upload-image.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/upload-video.tool.d.ts +94 -0
- package/dist/mcp-server/tools/definitions/upload-video.tool.d.ts.map +1 -0
- package/dist/mcp-server/tools/definitions/upload-video.tool.js +151 -0
- package/dist/mcp-server/tools/definitions/upload-video.tool.js.map +1 -0
- package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts +169 -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 +103 -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/capture-snapshot.d.ts +8 -0
- package/dist/mcp-server/tools/utils/capture-snapshot.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/capture-snapshot.js +70 -0
- package/dist/mcp-server/tools/utils/capture-snapshot.js.map +1 -0
- package/dist/mcp-server/tools/utils/dry-run.d.ts +11 -0
- package/dist/mcp-server/tools/utils/dry-run.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/dry-run.js +60 -0
- package/dist/mcp-server/tools/utils/dry-run.js.map +1 -0
- package/dist/mcp-server/tools/utils/entity-mapping.d.ts +14 -0
- package/dist/mcp-server/tools/utils/entity-mapping.d.ts.map +1 -0
- package/dist/mcp-server/tools/utils/entity-mapping.js +138 -0
- package/dist/mcp-server/tools/utils/entity-mapping.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 +53 -0
- package/dist/mcp-server/transports/streamable-http-transport.d.ts.map +1 -0
- package/dist/mcp-server/transports/streamable-http-transport.js +80 -0
- package/dist/mcp-server/transports/streamable-http-transport.js.map +1 -0
- package/dist/services/meta/meta-graph-api-client.d.ts +19 -0
- package/dist/services/meta/meta-graph-api-client.d.ts.map +1 -0
- package/dist/services/meta/meta-graph-api-client.js +226 -0
- package/dist/services/meta/meta-graph-api-client.js.map +1 -0
- package/dist/services/meta/meta-insights-service.d.ts +76 -0
- package/dist/services/meta/meta-insights-service.d.ts.map +1 -0
- package/dist/services/meta/meta-insights-service.js +209 -0
- package/dist/services/meta/meta-insights-service.js.map +1 -0
- package/dist/services/meta/meta-service.d.ts +64 -0
- package/dist/services/meta/meta-service.d.ts.map +1 -0
- package/dist/services/meta/meta-service.js +177 -0
- package/dist/services/meta/meta-service.js.map +1 -0
- package/dist/services/meta/meta-targeting-service.d.ts +13 -0
- package/dist/services/meta/meta-targeting-service.d.ts.map +1 -0
- package/dist/services/meta/meta-targeting-service.js +38 -0
- package/dist/services/meta/meta-targeting-service.js.map +1 -0
- package/dist/services/meta/types.d.ts +227 -0
- package/dist/services/meta/types.d.ts.map +1 -0
- package/dist/services/meta/types.js +55 -0
- package/dist/services/meta/types.js.map +1 -0
- package/dist/services/session-services.d.ts +19 -0
- package/dist/services/session-services.d.ts.map +1 -0
- package/dist/services/session-services.js +19 -0
- package/dist/services/session-services.js.map +1 -0
- package/dist/testkit/fixtures/index.d.ts +9 -0
- package/dist/testkit/fixtures/index.d.ts.map +1 -0
- package/dist/testkit/fixtures/index.js +201 -0
- package/dist/testkit/fixtures/index.js.map +1 -0
- package/dist/testkit/index.d.ts +6 -0
- package/dist/testkit/index.d.ts.map +1 -0
- package/dist/testkit/index.js +26 -0
- package/dist/testkit/index.js.map +1 -0
- package/dist/testkit/types.d.ts +17 -0
- package/dist/testkit/types.d.ts.map +1 -0
- package/dist/testkit/types.js +2 -0
- package/dist/testkit/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/internal/request-context.d.ts +20 -0
- package/dist/utils/internal/request-context.d.ts.map +1 -0
- package/dist/utils/internal/request-context.js +19 -0
- package/dist/utils/internal/request-context.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 +66 -0
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
export const targetingDiscoveryWorkflowPrompt = {
|
|
2
|
+
name: "meta_targeting_discovery_workflow",
|
|
3
|
+
description: "Step-by-step guide for researching Meta Ads audiences: search interests, browse categories, build targeting specs, and estimate reach before ad set creation.",
|
|
4
|
+
arguments: [
|
|
5
|
+
{
|
|
6
|
+
name: "adAccountId",
|
|
7
|
+
description: "Meta Ad Account ID (with or without act_ prefix)",
|
|
8
|
+
required: true,
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: "goal",
|
|
12
|
+
description: "Research goal: 'interests' (search by keyword), 'categories' (browse available options), or 'build' (assemble targeting spec). Default: interests",
|
|
13
|
+
required: false,
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
};
|
|
17
|
+
export function getTargetingDiscoveryWorkflowMessage(args) {
|
|
18
|
+
const adAccountId = args?.adAccountId || "{adAccountId}";
|
|
19
|
+
const goal = args?.goal || "interests";
|
|
20
|
+
return `# Meta Targeting Discovery Workflow
|
|
21
|
+
|
|
22
|
+
Ad Account: \`${adAccountId}\`
|
|
23
|
+
Goal: \`${goal}\`
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Overview
|
|
28
|
+
|
|
29
|
+
Before creating ad sets, you need to build a **targeting spec** — the JSON object that defines your audience. This workflow helps you discover and validate targeting options using two tools:
|
|
30
|
+
|
|
31
|
+
| Tool | Purpose | Use When |
|
|
32
|
+
|------|---------|----------|
|
|
33
|
+
| \`meta_search_targeting\` | Search by keyword | You know what audience you want (e.g., "fitness", "New York") |
|
|
34
|
+
| \`meta_get_targeting_options\` | Browse categories | You want to explore what's available |
|
|
35
|
+
|
|
36
|
+
Then use \`meta_get_delivery_estimate\` to check audience size before committing.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Step 1: Search for Interest Targeting
|
|
41
|
+
|
|
42
|
+
Search for interests by keyword to find targetable audiences:
|
|
43
|
+
|
|
44
|
+
\`\`\`json
|
|
45
|
+
{
|
|
46
|
+
"tool": "meta_search_targeting",
|
|
47
|
+
"params": {
|
|
48
|
+
"type": "adinterest",
|
|
49
|
+
"query": "running shoes",
|
|
50
|
+
"limit": 10
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
\`\`\`
|
|
54
|
+
|
|
55
|
+
Each result includes:
|
|
56
|
+
- \`id\` — The targeting ID to use in your targeting spec
|
|
57
|
+
- \`name\` — Human-readable name
|
|
58
|
+
- \`audience_size_lower_bound\` / \`audience_size_upper_bound\` — Estimated reach
|
|
59
|
+
- \`path\` — Category hierarchy (e.g., "Interests > Sports > Running")
|
|
60
|
+
|
|
61
|
+
### Search Types
|
|
62
|
+
|
|
63
|
+
| Type | What It Searches | Example Query |
|
|
64
|
+
|------|-----------------|---------------|
|
|
65
|
+
| \`adinterest\` | Interests by keyword | "organic food", "yoga" |
|
|
66
|
+
| \`adinterestsuggestion\` | Similar interests | Pass an existing interest name |
|
|
67
|
+
| \`adinterestvalid\` | Validate interest IDs | Pass interest IDs to check |
|
|
68
|
+
| \`adgeolocation\` | Geographic locations | "London", "California" |
|
|
69
|
+
| \`adlocale\` | Languages/locales | "English", "Spanish" |
|
|
70
|
+
|
|
71
|
+
### Search for Locations
|
|
72
|
+
|
|
73
|
+
\`\`\`json
|
|
74
|
+
{
|
|
75
|
+
"tool": "meta_search_targeting",
|
|
76
|
+
"params": {
|
|
77
|
+
"type": "adgeolocation",
|
|
78
|
+
"query": "United Kingdom",
|
|
79
|
+
"limit": 5
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
\`\`\`
|
|
83
|
+
|
|
84
|
+
Location results include \`key\`, \`name\`, \`type\` (country, region, city), and \`country_code\`.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Step 2: Browse Targeting Categories
|
|
89
|
+
|
|
90
|
+
To explore what targeting dimensions are available for your account:
|
|
91
|
+
|
|
92
|
+
\`\`\`json
|
|
93
|
+
{
|
|
94
|
+
"tool": "meta_get_targeting_options",
|
|
95
|
+
"params": {
|
|
96
|
+
"adAccountId": "${adAccountId}"
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
\`\`\`
|
|
100
|
+
|
|
101
|
+
Filter by category:
|
|
102
|
+
|
|
103
|
+
\`\`\`json
|
|
104
|
+
{
|
|
105
|
+
"tool": "meta_get_targeting_options",
|
|
106
|
+
"params": {
|
|
107
|
+
"adAccountId": "${adAccountId}",
|
|
108
|
+
"type": "interests"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
\`\`\`
|
|
112
|
+
|
|
113
|
+
Available types: \`interests\`, \`behaviors\`, \`demographics\`, \`life_events\`, etc.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## Step 3: Build the Targeting Spec
|
|
118
|
+
|
|
119
|
+
Combine your research into a targeting spec for use with \`meta_create_entity\` (ad set):
|
|
120
|
+
|
|
121
|
+
### Interests + Location Example
|
|
122
|
+
|
|
123
|
+
\`\`\`json
|
|
124
|
+
{
|
|
125
|
+
"targeting": {
|
|
126
|
+
"geo_locations": {
|
|
127
|
+
"countries": ["US", "GB"],
|
|
128
|
+
"location_types": ["home"]
|
|
129
|
+
},
|
|
130
|
+
"interests": [
|
|
131
|
+
{ "id": "6003139266461", "name": "Running" },
|
|
132
|
+
{ "id": "6003384829981", "name": "Fitness and wellness" }
|
|
133
|
+
],
|
|
134
|
+
"age_min": 25,
|
|
135
|
+
"age_max": 54,
|
|
136
|
+
"genders": [0]
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
\`\`\`
|
|
140
|
+
|
|
141
|
+
### Key Targeting Fields
|
|
142
|
+
|
|
143
|
+
| Field | Type | Description |
|
|
144
|
+
|-------|------|-------------|
|
|
145
|
+
| \`geo_locations\` | Object | Countries, regions, cities, zips |
|
|
146
|
+
| \`interests\` | Array | Interest targeting (id + name) |
|
|
147
|
+
| \`behaviors\` | Array | Behavioral targeting |
|
|
148
|
+
| \`age_min\` / \`age_max\` | Number | Age range (13-65, 65 = 65+) |
|
|
149
|
+
| \`genders\` | Array | 0 = all, 1 = male, 2 = female |
|
|
150
|
+
| \`locales\` | Array | Language targeting |
|
|
151
|
+
| \`publisher_platforms\` | Array | facebook, instagram, audience_network, messenger |
|
|
152
|
+
| \`custom_audiences\` | Array | Custom/lookalike audience IDs |
|
|
153
|
+
| \`excluded_custom_audiences\` | Array | Audiences to exclude |
|
|
154
|
+
|
|
155
|
+
⚠️ **GOTCHA**: Targeting on an ad set **replaces entirely** — you cannot partially update it. Always send the complete targeting spec.
|
|
156
|
+
|
|
157
|
+
⚠️ **GOTCHA**: \`genders: [0]\` means "all genders", not "unknown". Omitting the field also targets all genders.
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Step 4: Estimate Audience Size
|
|
162
|
+
|
|
163
|
+
Before creating the ad set, verify your targeting spec reaches a viable audience:
|
|
164
|
+
|
|
165
|
+
\`\`\`json
|
|
166
|
+
{
|
|
167
|
+
"tool": "meta_get_delivery_estimate",
|
|
168
|
+
"params": {
|
|
169
|
+
"adAccountId": "${adAccountId}",
|
|
170
|
+
"targetingSpec": {
|
|
171
|
+
"geo_locations": {
|
|
172
|
+
"countries": ["US"]
|
|
173
|
+
},
|
|
174
|
+
"interests": [
|
|
175
|
+
{ "id": "6003139266461", "name": "Running" }
|
|
176
|
+
],
|
|
177
|
+
"age_min": 25,
|
|
178
|
+
"age_max": 54
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
\`\`\`
|
|
183
|
+
|
|
184
|
+
Check the estimated daily reach and compare to your budget:
|
|
185
|
+
- **Too narrow** (< 10,000 reach) → Broaden interests or locations
|
|
186
|
+
- **Too broad** (> 100M reach) → Add more specific interests or narrow demographics
|
|
187
|
+
- **Sweet spot** varies by objective, but 100K–10M is typical for most campaigns
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Step 5: Apply to Ad Set
|
|
192
|
+
|
|
193
|
+
Use the targeting spec when creating or updating an ad set:
|
|
194
|
+
|
|
195
|
+
### Creating a New Ad Set
|
|
196
|
+
|
|
197
|
+
\`\`\`json
|
|
198
|
+
{
|
|
199
|
+
"tool": "meta_create_entity",
|
|
200
|
+
"params": {
|
|
201
|
+
"entityType": "adSet",
|
|
202
|
+
"adAccountId": "${adAccountId}",
|
|
203
|
+
"data": {
|
|
204
|
+
"name": "Running Enthusiasts - US/UK - 25-54",
|
|
205
|
+
"campaign_id": "{campaignId}",
|
|
206
|
+
"billing_event": "IMPRESSIONS",
|
|
207
|
+
"optimization_goal": "REACH",
|
|
208
|
+
"daily_budget": 5000,
|
|
209
|
+
"bid_amount": 500,
|
|
210
|
+
"status": "PAUSED",
|
|
211
|
+
"targeting": {
|
|
212
|
+
"geo_locations": {
|
|
213
|
+
"countries": ["US", "GB"]
|
|
214
|
+
},
|
|
215
|
+
"interests": [
|
|
216
|
+
{ "id": "6003139266461", "name": "Running" }
|
|
217
|
+
],
|
|
218
|
+
"age_min": 25,
|
|
219
|
+
"age_max": 54
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
\`\`\`
|
|
225
|
+
|
|
226
|
+
### Updating Existing Ad Set Targeting
|
|
227
|
+
|
|
228
|
+
\`\`\`json
|
|
229
|
+
{
|
|
230
|
+
"tool": "meta_update_entity",
|
|
231
|
+
"params": {
|
|
232
|
+
"entityId": "{adSetId}",
|
|
233
|
+
"data": {
|
|
234
|
+
"targeting": {
|
|
235
|
+
"geo_locations": {
|
|
236
|
+
"countries": ["US", "GB", "CA"]
|
|
237
|
+
},
|
|
238
|
+
"interests": [
|
|
239
|
+
{ "id": "6003139266461", "name": "Running" },
|
|
240
|
+
{ "id": "6003384829981", "name": "Fitness and wellness" }
|
|
241
|
+
],
|
|
242
|
+
"age_min": 25,
|
|
243
|
+
"age_max": 54
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
\`\`\`
|
|
249
|
+
|
|
250
|
+
⚠️ **GOTCHA**: Budget amounts are in **cents** — \`daily_budget: 5000\` means $50.00, not $5,000.
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## Common Patterns
|
|
255
|
+
|
|
256
|
+
### A/B Testing Audiences
|
|
257
|
+
|
|
258
|
+
1. Search for two distinct interest groups
|
|
259
|
+
2. Create two ad sets with different targeting specs
|
|
260
|
+
3. Use \`meta_duplicate_entity\` to clone the ad, then update targeting on the copy
|
|
261
|
+
|
|
262
|
+
### Lookalike Expansion
|
|
263
|
+
|
|
264
|
+
1. Start with custom audience targeting
|
|
265
|
+
2. Check performance via \`meta_get_insights\`
|
|
266
|
+
3. Search for related interests via \`meta_search_targeting\` with \`adinterestsuggestion\`
|
|
267
|
+
4. Add discovered interests to broaden reach
|
|
268
|
+
|
|
269
|
+
### Exclusion Targeting
|
|
270
|
+
|
|
271
|
+
Exclude existing customers or converters:
|
|
272
|
+
\`\`\`json
|
|
273
|
+
{
|
|
274
|
+
"targeting": {
|
|
275
|
+
"interests": [{ "id": "...", "name": "..." }],
|
|
276
|
+
"excluded_custom_audiences": [{ "id": "{customAudienceId}" }]
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
\`\`\`
|
|
280
|
+
|
|
281
|
+
---
|
|
282
|
+
|
|
283
|
+
## Related Resources
|
|
284
|
+
- \`targeting-reference://all\` — Full targeting spec structure reference
|
|
285
|
+
- \`entity-schema://adSet\` — Ad set fields including targeting
|
|
286
|
+
- \`entity-examples://adSet\` — Example ad set payloads with targeting
|
|
287
|
+
`;
|
|
288
|
+
}
|
|
289
|
+
//# 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":"AAWA,MAAM,CAAC,MAAM,gCAAgC,GAAW;IACtD,IAAI,EAAE,mCAAmC;IACzC,WAAW,EACT,+JAA+J;IACjK,SAAS,EAAE;QACT;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,kDAAkD;YAC/D,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EACT,mJAAmJ;YACrJ,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,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,WAAW,CAAC;IAEvC,OAAO;;gBAEO,WAAW;UACjB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAyEQ,WAAW;;;;;;;;;;;sBAWX,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA8DX,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAiCX,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqFhC,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,MAWzC,CAAC;AAEF,wBAAgB,+BAA+B,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAgGrF"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
export const toolSchemaExplorationPrompt = {
|
|
2
|
+
name: "meta_tool_schema_exploration",
|
|
3
|
+
description: "Guide for discovering and understanding Meta MCP tools, resources, and schemas",
|
|
4
|
+
arguments: [
|
|
5
|
+
{
|
|
6
|
+
name: "objective",
|
|
7
|
+
description: "Exploration objective (e.g., campaign management, insights, targeting, bulk operations)",
|
|
8
|
+
required: false,
|
|
9
|
+
},
|
|
10
|
+
],
|
|
11
|
+
};
|
|
12
|
+
export function getToolSchemaExplorationMessage(args) {
|
|
13
|
+
const objective = args?.objective || "general capability discovery";
|
|
14
|
+
return `# Meta MCP Tool & Schema Exploration Guide
|
|
15
|
+
|
|
16
|
+
## Context
|
|
17
|
+
- Server: meta-mcp (Meta Ads Campaign Management)
|
|
18
|
+
- Objective: ${objective}
|
|
19
|
+
|
|
20
|
+
Use this workflow to discover Meta 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://adSet\` | Ad Set fields + targeting spec |
|
|
34
|
+
| \`entity-schema://ad\` | Ad fields |
|
|
35
|
+
| \`entity-schema://adCreative\` | Creative fields |
|
|
36
|
+
| \`entity-schema://customAudience\` | Custom Audience fields |
|
|
37
|
+
| \`entity-examples://all\` | All entity examples |
|
|
38
|
+
| \`entity-examples://{type}\` | Examples for specific type |
|
|
39
|
+
| \`insights-reference://all\` | Metrics, breakdowns, date presets |
|
|
40
|
+
| \`targeting-reference://all\` | Targeting spec structure |
|
|
41
|
+
|
|
42
|
+
## Tool Categories (27 tools)
|
|
43
|
+
|
|
44
|
+
### Read Operations
|
|
45
|
+
- \`meta_list_ad_accounts\` — Discover accessible accounts
|
|
46
|
+
- \`meta_list_entities\` — List entities with filters
|
|
47
|
+
- \`meta_get_entity\` — Get single entity
|
|
48
|
+
|
|
49
|
+
### Write Operations
|
|
50
|
+
- \`meta_create_entity\` — Create entity
|
|
51
|
+
- \`meta_update_entity\` — Update entity (PATCH semantics)
|
|
52
|
+
- \`meta_delete_entity\` — Delete entity
|
|
53
|
+
|
|
54
|
+
### Insights
|
|
55
|
+
- \`meta_get_available_metrics\` — List valid metrics, breakdowns, and action breakdowns per entity level (call before \`meta_get_insights\`)
|
|
56
|
+
- \`meta_get_insights\` — Performance metrics
|
|
57
|
+
- \`meta_get_insights_breakdowns\` — Metrics with dimensional breakdowns
|
|
58
|
+
- \`meta_submit_report\` — Submit async insights report job
|
|
59
|
+
- \`meta_check_report_status\` — Poll async report job status
|
|
60
|
+
- \`meta_download_report\` — Download async report results
|
|
61
|
+
|
|
62
|
+
### Bulk Operations
|
|
63
|
+
- \`meta_bulk_update_status\` — Batch status updates
|
|
64
|
+
- \`meta_bulk_create_entities\` — Batch creation
|
|
65
|
+
- \`meta_bulk_update_entities\` — Batch updates with individual data
|
|
66
|
+
- \`meta_adjust_bids\` — Batch adjust ad set bids
|
|
67
|
+
|
|
68
|
+
### Targeting
|
|
69
|
+
- \`meta_search_targeting\` — Search interests, locations, etc.
|
|
70
|
+
- \`meta_get_targeting_options\` — Browse targeting categories
|
|
71
|
+
|
|
72
|
+
### Specialized
|
|
73
|
+
- \`meta_duplicate_entity\` — Copy campaigns/adSets/ads
|
|
74
|
+
- \`meta_get_delivery_estimate\` — Audience size estimation (reachestimate with delivery_estimate fallback)
|
|
75
|
+
- \`meta_get_ad_preview\` — Ad preview HTML
|
|
76
|
+
- \`meta_manage_budget_schedule\` — Create/list budget schedules for high-demand periods
|
|
77
|
+
- \`meta_get_pacing_status\` — Calculate campaign pacing from spend, budget, and flight dates
|
|
78
|
+
|
|
79
|
+
### Media Uploads
|
|
80
|
+
- \`meta_upload_image\` — Upload image from URL to ad images library (returns imageHash)
|
|
81
|
+
- \`meta_upload_video\` — Upload video from URL to ad videos library (polls until ready)
|
|
82
|
+
|
|
83
|
+
### Validation
|
|
84
|
+
- \`meta_validate_entity\` — Client-side entity validation
|
|
85
|
+
|
|
86
|
+
### Discovery
|
|
87
|
+
- \`meta_search_tools\` — Rank server tools by a natural-language query
|
|
88
|
+
|
|
89
|
+
## Workflow Prompts
|
|
90
|
+
|
|
91
|
+
| Task | Prompt |
|
|
92
|
+
|------|--------|
|
|
93
|
+
| Create a full campaign structure | \`meta_campaign_setup_workflow\` |
|
|
94
|
+
| Research audiences & build targeting | \`meta_targeting_discovery_workflow\` |
|
|
95
|
+
| Update entities safely | \`meta_entity_update_workflow\` |
|
|
96
|
+
| Duplicate campaigns/ad sets/ads | \`meta_entity_duplication_workflow\` |
|
|
97
|
+
| Bulk create/update/status/bids | \`meta_bulk_operations_workflow\` |
|
|
98
|
+
| Performance insights & breakdowns | \`meta_insights_reporting_workflow\` |
|
|
99
|
+
| Troubleshoot entity issues | \`meta_troubleshoot_entity\` |
|
|
100
|
+
|
|
101
|
+
## Recommended Exploration Order
|
|
102
|
+
|
|
103
|
+
1. Start with \`meta_list_ad_accounts\` to find your account
|
|
104
|
+
2. Fetch \`entity-hierarchy://all\` for API patterns
|
|
105
|
+
3. Fetch \`entity-schema://{type}\` for field details
|
|
106
|
+
4. Fetch \`entity-examples://{type}\` for payload templates
|
|
107
|
+
`;
|
|
108
|
+
}
|
|
109
|
+
//# 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,8BAA8B;IACpC,WAAW,EAAE,gFAAgF;IAC7F,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EACT,yFAAyF;YAC3F,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyFvB,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,CA4DlF"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
export const troubleshootEntityPrompt = {
|
|
2
|
+
name: "meta_troubleshoot_entity",
|
|
3
|
+
description: "Diagnostic workflow for troubleshooting Meta Ads entity issues",
|
|
4
|
+
arguments: [
|
|
5
|
+
{
|
|
6
|
+
name: "entityType",
|
|
7
|
+
description: "Entity type (campaign, adSet, ad, adCreative)",
|
|
8
|
+
required: true,
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
name: "entityId",
|
|
12
|
+
description: "Entity ID to troubleshoot",
|
|
13
|
+
required: true,
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
};
|
|
17
|
+
export function getTroubleshootEntityMessage(args) {
|
|
18
|
+
const entityType = args?.entityType || "{entityType}";
|
|
19
|
+
const entityId = args?.entityId || "{entityId}";
|
|
20
|
+
return `# Meta Entity Troubleshoot Workflow
|
|
21
|
+
|
|
22
|
+
## Target: ${entityType} ${entityId}
|
|
23
|
+
|
|
24
|
+
## Step 1: Fetch Entity Details
|
|
25
|
+
|
|
26
|
+
\`\`\`json
|
|
27
|
+
meta_get_entity({
|
|
28
|
+
"entityType": "${entityType}",
|
|
29
|
+
"entityId": "${entityId}"
|
|
30
|
+
})
|
|
31
|
+
\`\`\`
|
|
32
|
+
|
|
33
|
+
Check: status, effective_status, configured_status, delivery issues.
|
|
34
|
+
|
|
35
|
+
## Step 2: Check Recent Performance
|
|
36
|
+
|
|
37
|
+
\`\`\`json
|
|
38
|
+
meta_get_insights({
|
|
39
|
+
"entityId": "${entityId}",
|
|
40
|
+
"datePreset": "last_7d",
|
|
41
|
+
"fields": ["impressions", "reach", "spend", "actions"]
|
|
42
|
+
})
|
|
43
|
+
\`\`\`
|
|
44
|
+
|
|
45
|
+
## Step 3: Check Parent Entity
|
|
46
|
+
|
|
47
|
+
If ad set or ad, check parent campaign status:
|
|
48
|
+
\`\`\`json
|
|
49
|
+
meta_get_entity({
|
|
50
|
+
"entityType": "campaign",
|
|
51
|
+
"entityId": "PARENT_CAMPAIGN_ID"
|
|
52
|
+
})
|
|
53
|
+
\`\`\`
|
|
54
|
+
|
|
55
|
+
## Common Issues
|
|
56
|
+
|
|
57
|
+
| Symptom | Likely Cause | Fix |
|
|
58
|
+
|---------|-------------|-----|
|
|
59
|
+
| No delivery | Entity PAUSED | Update status to ACTIVE |
|
|
60
|
+
| No delivery, ACTIVE | Parent paused | Activate parent campaign |
|
|
61
|
+
| No delivery, all ACTIVE | Budget exhausted | Increase budget |
|
|
62
|
+
| No delivery, budget OK | Targeting too narrow | Broaden targeting |
|
|
63
|
+
| Low reach | Audience saturation | Expand audience or reduce frequency |
|
|
64
|
+
| High CPC | Poor relevance | Refresh creative |
|
|
65
|
+
| Rejected | Policy violation | Review ad content |
|
|
66
|
+
|
|
67
|
+
## Step 4: Delivery Estimate (for ad sets)
|
|
68
|
+
|
|
69
|
+
\`\`\`json
|
|
70
|
+
meta_get_delivery_estimate({
|
|
71
|
+
"adAccountId": "AD_ACCOUNT_ID",
|
|
72
|
+
"targetingSpec": { ... targeting from entity ... }
|
|
73
|
+
})
|
|
74
|
+
\`\`\`
|
|
75
|
+
`;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=troubleshoot-entity.prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"troubleshoot-entity.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/troubleshoot-entity.prompt.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,wBAAwB,GAAW;IAC9C,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,gEAAgE;IAC7E,SAAS,EAAE;QACT;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,IAA6B;IACxE,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,cAAc,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,YAAY,CAAC;IAEhD,OAAO;;aAEI,UAAU,IAAI,QAAQ;;;;;;mBAMhB,UAAU;iBACZ,QAAQ;;;;;;;;;;iBAUR,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCxB,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
export interface PromptDefinition {
|
|
3
|
+
prompt: Prompt;
|
|
4
|
+
generateMessage: (args?: Record<string, string>) => string;
|
|
5
|
+
}
|
|
6
|
+
export declare const promptRegistry: Map<string, PromptDefinition>;
|
|
7
|
+
export declare function getAllPrompts(): Prompt[];
|
|
8
|
+
export declare function getPromptDefinition(name: string): PromptDefinition | undefined;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/prompts/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AA8CjE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;CAC5D;AAED,eAAO,MAAM,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CA8EvD,CAAC;AAEH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAE9E"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { campaignSetupWorkflowPrompt, getCampaignSetupWorkflowMessage, } from "./definitions/campaign-setup-workflow.prompt.js";
|
|
2
|
+
import { insightsReportingWorkflowPrompt, getInsightsReportingWorkflowMessage, } from "./definitions/insights-reporting-workflow.prompt.js";
|
|
3
|
+
import { troubleshootEntityPrompt, getTroubleshootEntityMessage, } from "./definitions/troubleshoot-entity.prompt.js";
|
|
4
|
+
import { toolSchemaExplorationPrompt, getToolSchemaExplorationMessage, } from "./definitions/tool-schema-exploration.prompt.js";
|
|
5
|
+
import { entityUpdateWorkflowPrompt, getEntityUpdateWorkflowMessage, } from "./definitions/entity-update-workflow.prompt.js";
|
|
6
|
+
import { bulkOperationsWorkflowPrompt, getBulkOperationsWorkflowMessage, } from "./definitions/bulk-operations-workflow.prompt.js";
|
|
7
|
+
import { crossPlatformPerformancePrompt, getCrossPlatformPerformanceMessage, } from "./definitions/cross-platform-performance.prompt.js";
|
|
8
|
+
import { crossPlatformCampaignSetupPrompt, getCrossPlatformCampaignSetupMessage, } from "./definitions/cross-platform-campaign-setup.prompt.js";
|
|
9
|
+
import { targetingDiscoveryWorkflowPrompt, getTargetingDiscoveryWorkflowMessage, } from "./definitions/targeting-discovery-workflow.prompt.js";
|
|
10
|
+
import { entityDuplicationWorkflowPrompt, getEntityDuplicationWorkflowMessage, } from "./definitions/entity-duplication-workflow.prompt.js";
|
|
11
|
+
import { creativeUploadWorkflowPrompt, getCreativeUploadWorkflowMessage, } from "./definitions/creative-upload-workflow.prompt.js";
|
|
12
|
+
export const promptRegistry = new Map([
|
|
13
|
+
[
|
|
14
|
+
campaignSetupWorkflowPrompt.name,
|
|
15
|
+
{
|
|
16
|
+
prompt: campaignSetupWorkflowPrompt,
|
|
17
|
+
generateMessage: getCampaignSetupWorkflowMessage,
|
|
18
|
+
},
|
|
19
|
+
],
|
|
20
|
+
[
|
|
21
|
+
insightsReportingWorkflowPrompt.name,
|
|
22
|
+
{
|
|
23
|
+
prompt: insightsReportingWorkflowPrompt,
|
|
24
|
+
generateMessage: getInsightsReportingWorkflowMessage,
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
[
|
|
28
|
+
troubleshootEntityPrompt.name,
|
|
29
|
+
{
|
|
30
|
+
prompt: troubleshootEntityPrompt,
|
|
31
|
+
generateMessage: getTroubleshootEntityMessage,
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
[
|
|
35
|
+
toolSchemaExplorationPrompt.name,
|
|
36
|
+
{
|
|
37
|
+
prompt: toolSchemaExplorationPrompt,
|
|
38
|
+
generateMessage: getToolSchemaExplorationMessage,
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
[
|
|
42
|
+
entityUpdateWorkflowPrompt.name,
|
|
43
|
+
{
|
|
44
|
+
prompt: entityUpdateWorkflowPrompt,
|
|
45
|
+
generateMessage: getEntityUpdateWorkflowMessage,
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
[
|
|
49
|
+
bulkOperationsWorkflowPrompt.name,
|
|
50
|
+
{
|
|
51
|
+
prompt: bulkOperationsWorkflowPrompt,
|
|
52
|
+
generateMessage: getBulkOperationsWorkflowMessage,
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
[
|
|
56
|
+
crossPlatformPerformancePrompt.name,
|
|
57
|
+
{
|
|
58
|
+
prompt: crossPlatformPerformancePrompt,
|
|
59
|
+
generateMessage: getCrossPlatformPerformanceMessage,
|
|
60
|
+
},
|
|
61
|
+
],
|
|
62
|
+
[
|
|
63
|
+
crossPlatformCampaignSetupPrompt.name,
|
|
64
|
+
{
|
|
65
|
+
prompt: crossPlatformCampaignSetupPrompt,
|
|
66
|
+
generateMessage: getCrossPlatformCampaignSetupMessage,
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
[
|
|
70
|
+
targetingDiscoveryWorkflowPrompt.name,
|
|
71
|
+
{
|
|
72
|
+
prompt: targetingDiscoveryWorkflowPrompt,
|
|
73
|
+
generateMessage: getTargetingDiscoveryWorkflowMessage,
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
[
|
|
77
|
+
entityDuplicationWorkflowPrompt.name,
|
|
78
|
+
{
|
|
79
|
+
prompt: entityDuplicationWorkflowPrompt,
|
|
80
|
+
generateMessage: getEntityDuplicationWorkflowMessage,
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
[
|
|
84
|
+
creativeUploadWorkflowPrompt.name,
|
|
85
|
+
{
|
|
86
|
+
prompt: creativeUploadWorkflowPrompt,
|
|
87
|
+
generateMessage: getCreativeUploadWorkflowMessage,
|
|
88
|
+
},
|
|
89
|
+
],
|
|
90
|
+
]);
|
|
91
|
+
export function getAllPrompts() {
|
|
92
|
+
return Array.from(promptRegistry.values()).map((def) => def.prompt);
|
|
93
|
+
}
|
|
94
|
+
export function getPromptDefinition(name) {
|
|
95
|
+
return promptRegistry.get(name);
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-server/prompts/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,+BAA+B,EAC/B,mCAAmC,GACpC,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EACL,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,GACnC,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EACL,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EACL,+BAA+B,EAC/B,mCAAmC,GACpC,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,kDAAkD,CAAC;AAO1D,MAAM,CAAC,MAAM,cAAc,GAAkC,IAAI,GAAG,CAAC;IACnE;QACE,2BAA2B,CAAC,IAAI;QAChC;YACE,MAAM,EAAE,2BAA2B;YACnC,eAAe,EAAE,+BAA+B;SACjD;KACF;IACD;QACE,+BAA+B,CAAC,IAAI;QACpC;YACE,MAAM,EAAE,+BAA+B;YACvC,eAAe,EAAE,mCAAmC;SACrD;KACF;IACD;QACE,wBAAwB,CAAC,IAAI;QAC7B;YACE,MAAM,EAAE,wBAAwB;YAChC,eAAe,EAAE,4BAA4B;SAC9C;KACF;IACD;QACE,2BAA2B,CAAC,IAAI;QAChC;YACE,MAAM,EAAE,2BAA2B;YACnC,eAAe,EAAE,+BAA+B;SACjD;KACF;IACD;QACE,0BAA0B,CAAC,IAAI;QAC/B;YACE,MAAM,EAAE,0BAA0B;YAClC,eAAe,EAAE,8BAA8B;SAChD;KACF;IACD;QACE,4BAA4B,CAAC,IAAI;QACjC;YACE,MAAM,EAAE,4BAA4B;YACpC,eAAe,EAAE,gCAAgC;SAClD;KACF;IACD;QACE,8BAA8B,CAAC,IAAI;QACnC;YACE,MAAM,EAAE,8BAA8B;YACtC,eAAe,EAAE,kCAAkC;SACpD;KACF;IACD;QACE,gCAAgC,CAAC,IAAI;QACrC;YACE,MAAM,EAAE,gCAAgC;YACxC,eAAe,EAAE,oCAAoC;SACtD;KACF;IACD;QACE,gCAAgC,CAAC,IAAI;QACrC;YACE,MAAM,EAAE,gCAAgC;YACxC,eAAe,EAAE,oCAAoC;SACtD;KACF;IACD;QACE,+BAA+B,CAAC,IAAI;QACpC;YACE,MAAM,EAAE,+BAA+B;YACvC,eAAe,EAAE,mCAAmC;SACrD;KACF;IACD;QACE,4BAA4B,CAAC,IAAI;QACjC;YACE,MAAM,EAAE,4BAA4B;YACpC,eAAe,EAAE,gCAAgC;SAClD;KACF;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-examples.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity-examples.resource.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAsI5C,eAAO,MAAM,sBAAsB,EAAE,QAAQ,EAM1C,CAAC;AAEJ,eAAO,MAAM,wBAAwB,EAAE,QAStC,CAAC"}
|