@cesteral/pinterest-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.
Files changed (263) hide show
  1. package/LICENSE.md +201 -0
  2. package/README.md +348 -0
  3. package/dist/auth/index.d.ts +3 -0
  4. package/dist/auth/index.d.ts.map +1 -0
  5. package/dist/auth/index.js +3 -0
  6. package/dist/auth/index.js.map +1 -0
  7. package/dist/auth/pinterest-auth-adapter.d.ts +38 -0
  8. package/dist/auth/pinterest-auth-adapter.d.ts.map +1 -0
  9. package/dist/auth/pinterest-auth-adapter.js +117 -0
  10. package/dist/auth/pinterest-auth-adapter.js.map +1 -0
  11. package/dist/auth/pinterest-auth-strategy.d.ts +13 -0
  12. package/dist/auth/pinterest-auth-strategy.d.ts.map +1 -0
  13. package/dist/auth/pinterest-auth-strategy.js +52 -0
  14. package/dist/auth/pinterest-auth-strategy.js.map +1 -0
  15. package/dist/config/index.d.ts +120 -0
  16. package/dist/config/index.d.ts.map +1 -0
  17. package/dist/config/index.js +55 -0
  18. package/dist/config/index.js.map +1 -0
  19. package/dist/generated/types.d.ts +18119 -0
  20. package/dist/generated/types.d.ts.map +1 -0
  21. package/dist/generated/types.js +2 -0
  22. package/dist/generated/types.js.map +1 -0
  23. package/dist/index.d.ts +3 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +47 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.d.ts +4 -0
  28. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.d.ts.map +1 -0
  29. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.js +125 -0
  30. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.js.map +1 -0
  31. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.d.ts +4 -0
  32. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.d.ts.map +1 -0
  33. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js +105 -0
  34. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js.map +1 -0
  35. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.d.ts +4 -0
  36. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.d.ts.map +1 -0
  37. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.js +95 -0
  38. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.js.map +1 -0
  39. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.d.ts +4 -0
  40. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.d.ts.map +1 -0
  41. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.js +301 -0
  42. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.js.map +1 -0
  43. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.d.ts +4 -0
  44. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.d.ts.map +1 -0
  45. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.js +170 -0
  46. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.js.map +1 -0
  47. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.d.ts +4 -0
  48. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.d.ts.map +1 -0
  49. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.js +198 -0
  50. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.js.map +1 -0
  51. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.d.ts +4 -0
  52. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.d.ts.map +1 -0
  53. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.js +188 -0
  54. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.js.map +1 -0
  55. package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.d.ts +4 -0
  56. package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.d.ts.map +1 -0
  57. package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.js +126 -0
  58. package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.js.map +1 -0
  59. package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.d.ts +4 -0
  60. package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.d.ts.map +1 -0
  61. package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.js +197 -0
  62. package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.js.map +1 -0
  63. package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.d.ts +4 -0
  64. package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.d.ts.map +1 -0
  65. package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.js +93 -0
  66. package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.js.map +1 -0
  67. package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.d.ts +4 -0
  68. package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.d.ts.map +1 -0
  69. package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.js +111 -0
  70. package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.js.map +1 -0
  71. package/dist/mcp-server/prompts/index.d.ts +9 -0
  72. package/dist/mcp-server/prompts/index.d.ts.map +1 -0
  73. package/dist/mcp-server/prompts/index.js +97 -0
  74. package/dist/mcp-server/prompts/index.js.map +1 -0
  75. package/dist/mcp-server/resources/definitions/entity-examples.resource.d.ts +4 -0
  76. package/dist/mcp-server/resources/definitions/entity-examples.resource.d.ts.map +1 -0
  77. package/dist/mcp-server/resources/definitions/entity-examples.resource.js +180 -0
  78. package/dist/mcp-server/resources/definitions/entity-examples.resource.js.map +1 -0
  79. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.d.ts +3 -0
  80. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.d.ts.map +1 -0
  81. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.js +140 -0
  82. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.js.map +1 -0
  83. package/dist/mcp-server/resources/definitions/entity-schemas.resource.d.ts +4 -0
  84. package/dist/mcp-server/resources/definitions/entity-schemas.resource.d.ts.map +1 -0
  85. package/dist/mcp-server/resources/definitions/entity-schemas.resource.js +125 -0
  86. package/dist/mcp-server/resources/definitions/entity-schemas.resource.js.map +1 -0
  87. package/dist/mcp-server/resources/definitions/index.d.ts +7 -0
  88. package/dist/mcp-server/resources/definitions/index.d.ts.map +1 -0
  89. package/dist/mcp-server/resources/definitions/index.js +58 -0
  90. package/dist/mcp-server/resources/definitions/index.js.map +1 -0
  91. package/dist/mcp-server/resources/definitions/reporting-reference.resource.d.ts +3 -0
  92. package/dist/mcp-server/resources/definitions/reporting-reference.resource.d.ts.map +1 -0
  93. package/dist/mcp-server/resources/definitions/reporting-reference.resource.js +148 -0
  94. package/dist/mcp-server/resources/definitions/reporting-reference.resource.js.map +1 -0
  95. package/dist/mcp-server/resources/index.d.ts +3 -0
  96. package/dist/mcp-server/resources/index.d.ts.map +1 -0
  97. package/dist/mcp-server/resources/index.js +2 -0
  98. package/dist/mcp-server/resources/index.js.map +1 -0
  99. package/dist/mcp-server/resources/types.d.ts +8 -0
  100. package/dist/mcp-server/resources/types.d.ts.map +1 -0
  101. package/dist/mcp-server/resources/types.js +2 -0
  102. package/dist/mcp-server/resources/types.js.map +1 -0
  103. package/dist/mcp-server/server.d.ts +5 -0
  104. package/dist/mcp-server/server.d.ts.map +1 -0
  105. package/dist/mcp-server/server.js +133 -0
  106. package/dist/mcp-server/server.js.map +1 -0
  107. package/dist/mcp-server/tools/definitions/adjust-bids.tool.d.ts +209 -0
  108. package/dist/mcp-server/tools/definitions/adjust-bids.tool.d.ts.map +1 -0
  109. package/dist/mcp-server/tools/definitions/adjust-bids.tool.js +141 -0
  110. package/dist/mcp-server/tools/definitions/adjust-bids.tool.js.map +1 -0
  111. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.d.ts +151 -0
  112. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.d.ts.map +1 -0
  113. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.js +109 -0
  114. package/dist/mcp-server/tools/definitions/bulk-create-entities.tool.js.map +1 -0
  115. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.d.ts +193 -0
  116. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.d.ts.map +1 -0
  117. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.js +127 -0
  118. package/dist/mcp-server/tools/definitions/bulk-update-entities.tool.js.map +1 -0
  119. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.d.ts +153 -0
  120. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.d.ts.map +1 -0
  121. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.js +134 -0
  122. package/dist/mcp-server/tools/definitions/bulk-update-status.tool.js.map +1 -0
  123. package/dist/mcp-server/tools/definitions/check-report-status.tool.d.ts +119 -0
  124. package/dist/mcp-server/tools/definitions/check-report-status.tool.d.ts.map +1 -0
  125. package/dist/mcp-server/tools/definitions/check-report-status.tool.js +91 -0
  126. package/dist/mcp-server/tools/definitions/check-report-status.tool.js.map +1 -0
  127. package/dist/mcp-server/tools/definitions/create-entity.tool.d.ts +113 -0
  128. package/dist/mcp-server/tools/definitions/create-entity.tool.d.ts.map +1 -0
  129. package/dist/mcp-server/tools/definitions/create-entity.tool.js +99 -0
  130. package/dist/mcp-server/tools/definitions/create-entity.tool.js.map +1 -0
  131. package/dist/mcp-server/tools/definitions/delete-entity.tool.d.ts +100 -0
  132. package/dist/mcp-server/tools/definitions/delete-entity.tool.d.ts.map +1 -0
  133. package/dist/mcp-server/tools/definitions/delete-entity.tool.js +110 -0
  134. package/dist/mcp-server/tools/definitions/delete-entity.tool.js.map +1 -0
  135. package/dist/mcp-server/tools/definitions/download-report.tool.d.ts +297 -0
  136. package/dist/mcp-server/tools/definitions/download-report.tool.d.ts.map +1 -0
  137. package/dist/mcp-server/tools/definitions/download-report.tool.js +110 -0
  138. package/dist/mcp-server/tools/definitions/download-report.tool.js.map +1 -0
  139. package/dist/mcp-server/tools/definitions/duplicate-entity.tool.d.ts +105 -0
  140. package/dist/mcp-server/tools/definitions/duplicate-entity.tool.d.ts.map +1 -0
  141. package/dist/mcp-server/tools/definitions/duplicate-entity.tool.js +85 -0
  142. package/dist/mcp-server/tools/definitions/duplicate-entity.tool.js.map +1 -0
  143. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.d.ts +89 -0
  144. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.d.ts.map +1 -0
  145. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.js +74 -0
  146. package/dist/mcp-server/tools/definitions/get-ad-preview.tool.js.map +1 -0
  147. package/dist/mcp-server/tools/definitions/get-audience-estimate.tool.d.ts +85 -0
  148. package/dist/mcp-server/tools/definitions/get-audience-estimate.tool.d.ts.map +1 -0
  149. package/dist/mcp-server/tools/definitions/get-audience-estimate.tool.js +88 -0
  150. package/dist/mcp-server/tools/definitions/get-audience-estimate.tool.js.map +1 -0
  151. package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts +76 -0
  152. package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts.map +1 -0
  153. package/dist/mcp-server/tools/definitions/get-entity.tool.js +71 -0
  154. package/dist/mcp-server/tools/definitions/get-entity.tool.js.map +1 -0
  155. package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.d.ts +319 -0
  156. package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.d.ts.map +1 -0
  157. package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.js +183 -0
  158. package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.js.map +1 -0
  159. package/dist/mcp-server/tools/definitions/get-report.tool.d.ts +301 -0
  160. package/dist/mcp-server/tools/definitions/get-report.tool.d.ts.map +1 -0
  161. package/dist/mcp-server/tools/definitions/get-report.tool.js +176 -0
  162. package/dist/mcp-server/tools/definitions/get-report.tool.js.map +1 -0
  163. package/dist/mcp-server/tools/definitions/get-targeting-options.tool.d.ts +75 -0
  164. package/dist/mcp-server/tools/definitions/get-targeting-options.tool.d.ts.map +1 -0
  165. package/dist/mcp-server/tools/definitions/get-targeting-options.tool.js +72 -0
  166. package/dist/mcp-server/tools/definitions/get-targeting-options.tool.js.map +1 -0
  167. package/dist/mcp-server/tools/definitions/index.d.ts +25 -0
  168. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -0
  169. package/dist/mcp-server/tools/definitions/index.js +75 -0
  170. package/dist/mcp-server/tools/definitions/index.js.map +1 -0
  171. package/dist/mcp-server/tools/definitions/list-advertisers.tool.d.ts +54 -0
  172. package/dist/mcp-server/tools/definitions/list-advertisers.tool.d.ts.map +1 -0
  173. package/dist/mcp-server/tools/definitions/list-advertisers.tool.js +58 -0
  174. package/dist/mcp-server/tools/definitions/list-advertisers.tool.js.map +1 -0
  175. package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts +180 -0
  176. package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts.map +1 -0
  177. package/dist/mcp-server/tools/definitions/list-entities.tool.js +116 -0
  178. package/dist/mcp-server/tools/definitions/list-entities.tool.js.map +1 -0
  179. package/dist/mcp-server/tools/definitions/search-targeting.tool.d.ts +103 -0
  180. package/dist/mcp-server/tools/definitions/search-targeting.tool.d.ts.map +1 -0
  181. package/dist/mcp-server/tools/definitions/search-targeting.tool.js +98 -0
  182. package/dist/mcp-server/tools/definitions/search-targeting.tool.js.map +1 -0
  183. package/dist/mcp-server/tools/definitions/submit-report.tool.d.ts +164 -0
  184. package/dist/mcp-server/tools/definitions/submit-report.tool.d.ts.map +1 -0
  185. package/dist/mcp-server/tools/definitions/submit-report.tool.js +118 -0
  186. package/dist/mcp-server/tools/definitions/submit-report.tool.js.map +1 -0
  187. package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts +111 -0
  188. package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts.map +1 -0
  189. package/dist/mcp-server/tools/definitions/update-entity.tool.js +89 -0
  190. package/dist/mcp-server/tools/definitions/update-entity.tool.js.map +1 -0
  191. package/dist/mcp-server/tools/definitions/upload-image.tool.d.ts +81 -0
  192. package/dist/mcp-server/tools/definitions/upload-image.tool.d.ts.map +1 -0
  193. package/dist/mcp-server/tools/definitions/upload-image.tool.js +73 -0
  194. package/dist/mcp-server/tools/definitions/upload-image.tool.js.map +1 -0
  195. package/dist/mcp-server/tools/definitions/upload-video.tool.d.ts +82 -0
  196. package/dist/mcp-server/tools/definitions/upload-video.tool.d.ts.map +1 -0
  197. package/dist/mcp-server/tools/definitions/upload-video.tool.js +100 -0
  198. package/dist/mcp-server/tools/definitions/upload-video.tool.js.map +1 -0
  199. package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts +169 -0
  200. package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts.map +1 -0
  201. package/dist/mcp-server/tools/definitions/validate-entity.tool.js +154 -0
  202. package/dist/mcp-server/tools/definitions/validate-entity.tool.js.map +1 -0
  203. package/dist/mcp-server/tools/index.d.ts +2 -0
  204. package/dist/mcp-server/tools/index.d.ts.map +1 -0
  205. package/dist/mcp-server/tools/index.js +2 -0
  206. package/dist/mcp-server/tools/index.js.map +1 -0
  207. package/dist/mcp-server/tools/utils/entity-mapping.d.ts +22 -0
  208. package/dist/mcp-server/tools/utils/entity-mapping.d.ts.map +1 -0
  209. package/dist/mcp-server/tools/utils/entity-mapping.js +105 -0
  210. package/dist/mcp-server/tools/utils/entity-mapping.js.map +1 -0
  211. package/dist/mcp-server/tools/utils/media-types.d.ts +14 -0
  212. package/dist/mcp-server/tools/utils/media-types.d.ts.map +1 -0
  213. package/dist/mcp-server/tools/utils/media-types.js +2 -0
  214. package/dist/mcp-server/tools/utils/media-types.js.map +1 -0
  215. package/dist/mcp-server/tools/utils/resolve-session.d.ts +4 -0
  216. package/dist/mcp-server/tools/utils/resolve-session.d.ts.map +1 -0
  217. package/dist/mcp-server/tools/utils/resolve-session.js +6 -0
  218. package/dist/mcp-server/tools/utils/resolve-session.js.map +1 -0
  219. package/dist/mcp-server/transports/streamable-http-transport.d.ts +59 -0
  220. package/dist/mcp-server/transports/streamable-http-transport.d.ts.map +1 -0
  221. package/dist/mcp-server/transports/streamable-http-transport.js +107 -0
  222. package/dist/mcp-server/transports/streamable-http-transport.js.map +1 -0
  223. package/dist/services/pinterest/pinterest-http-client.d.ts +22 -0
  224. package/dist/services/pinterest/pinterest-http-client.d.ts.map +1 -0
  225. package/dist/services/pinterest/pinterest-http-client.js +149 -0
  226. package/dist/services/pinterest/pinterest-http-client.js.map +1 -0
  227. package/dist/services/pinterest/pinterest-reporting-service.d.ts +60 -0
  228. package/dist/services/pinterest/pinterest-reporting-service.d.ts.map +1 -0
  229. package/dist/services/pinterest/pinterest-reporting-service.js +132 -0
  230. package/dist/services/pinterest/pinterest-reporting-service.js.map +1 -0
  231. package/dist/services/pinterest/pinterest-service.d.ts +110 -0
  232. package/dist/services/pinterest/pinterest-service.d.ts.map +1 -0
  233. package/dist/services/pinterest/pinterest-service.js +238 -0
  234. package/dist/services/pinterest/pinterest-service.js.map +1 -0
  235. package/dist/services/session-services.d.ts +21 -0
  236. package/dist/services/session-services.d.ts.map +1 -0
  237. package/dist/services/session-services.js +23 -0
  238. package/dist/services/session-services.js.map +1 -0
  239. package/dist/types-global/mcp.d.ts +2 -0
  240. package/dist/types-global/mcp.d.ts.map +1 -0
  241. package/dist/types-global/mcp.js +2 -0
  242. package/dist/types-global/mcp.js.map +1 -0
  243. package/dist/utils/errors/index.d.ts +2 -0
  244. package/dist/utils/errors/index.d.ts.map +1 -0
  245. package/dist/utils/errors/index.js +2 -0
  246. package/dist/utils/errors/index.js.map +1 -0
  247. package/dist/utils/platform.d.ts +3 -0
  248. package/dist/utils/platform.d.ts.map +1 -0
  249. package/dist/utils/platform.js +5 -0
  250. package/dist/utils/platform.js.map +1 -0
  251. package/dist/utils/security/rate-limiter.d.ts +3 -0
  252. package/dist/utils/security/rate-limiter.d.ts.map +1 -0
  253. package/dist/utils/security/rate-limiter.js +5 -0
  254. package/dist/utils/security/rate-limiter.js.map +1 -0
  255. package/dist/utils/telemetry/index.d.ts +2 -0
  256. package/dist/utils/telemetry/index.d.ts.map +1 -0
  257. package/dist/utils/telemetry/index.js +2 -0
  258. package/dist/utils/telemetry/index.js.map +1 -0
  259. package/dist/utils/telemetry/tracing.d.ts +3 -0
  260. package/dist/utils/telemetry/tracing.d.ts.map +1 -0
  261. package/dist/utils/telemetry/tracing.js +4 -0
  262. package/dist/utils/telemetry/tracing.js.map +1 -0
  263. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-duplication-workflow.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,wCAAwC,GAAW;IAC9D,IAAI,EAAE,uCAAuC;IAC7C,WAAW,EACT,qKAAqK;IACvK,SAAS,EAAE;QACT;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,oDAAoD;YACjE,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF,MAAM,UAAU,4CAA4C,CAC1D,IAA6B;IAE7B,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,cAAc,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,YAAY,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,eAAe,CAAC;IAEzD,OAAO;;iBAEQ,UAAU;eACZ,QAAQ;mBACJ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;qBAwBT,UAAU;sBACT,WAAW;mBACd,QAAQ;;;;;;;;;;;;;;;qBAeN,UAAU;sBACT,WAAW;mBACd,QAAQ;;4BAEC,UAAU,IAAI,QAAQ;;;;;;;;;;;;;;;;;;;;;;qBAsB7B,UAAU;sBACT,WAAW;;;;;;;;;;;;;;;;;sBAiBX,WAAW;;;;;;;;;;;;;;;;;;;;;;;qBAuBZ,UAAU;sBACT,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA0CZ,UAAU;sBACT,WAAW;;;;;;;;;;;;;;CAchC,CAAC;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const pinterestEntityUpdateWorkflowPrompt: Prompt;
3
+ export declare function getPinterestEntityUpdateWorkflowMessage(args?: Record<string, string>): string;
4
+ //# sourceMappingURL=entity-update-workflow.prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-update-workflow.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/entity-update-workflow.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AASjE,eAAO,MAAM,mCAAmC,EAAE,MAqBjD,CAAC;AAEF,wBAAgB,uCAAuC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAsK7F"}
@@ -0,0 +1,188 @@
1
+ export const pinterestEntityUpdateWorkflowPrompt = {
2
+ name: "pinterest_entity_update_workflow",
3
+ description: "Step-by-step guide for safely updating Pinterest Ads entities — covers field updates vs status changes (separate endpoints), budget values in account currency, and verification.",
4
+ arguments: [
5
+ {
6
+ name: "entityType",
7
+ description: "Entity type to update: campaign, adGroup, or ad",
8
+ required: true,
9
+ },
10
+ {
11
+ name: "entityId",
12
+ description: "Numeric ID of the entity to update",
13
+ required: true,
14
+ },
15
+ {
16
+ name: "adAccountId",
17
+ description: "Pinterest Advertiser ID",
18
+ required: true,
19
+ },
20
+ ],
21
+ };
22
+ export function getPinterestEntityUpdateWorkflowMessage(args) {
23
+ const entityType = args?.entityType || "{entityType}";
24
+ const entityId = args?.entityId || "{entityId}";
25
+ const adAccountId = args?.adAccountId || "{adAccountId}";
26
+ return `# Pinterest Ads Entity Update Workflow
27
+
28
+ Entity Type: \`${entityType}\`
29
+ Entity ID: \`${entityId}\`
30
+ Advertiser ID: \`${adAccountId}\`
31
+
32
+ ---
33
+
34
+ ## Step 1: Fetch Current State
35
+
36
+ Before updating, always read the entity's current configuration:
37
+
38
+ \`\`\`json
39
+ {
40
+ "tool": "pinterest_get_entity",
41
+ "params": {
42
+ "entityType": "${entityType}",
43
+ "adAccountId": "${adAccountId}",
44
+ "entityId": "${entityId}"
45
+ }
46
+ }
47
+ \`\`\`
48
+
49
+ Review the current values. Save the current state for rollback reference.
50
+
51
+ **Resource reference:** Fetch \`entity-schema://pinterest/${entityType}\` for the full field schema and \`entity-examples://pinterest/${entityType}\` for common update patterns.
52
+
53
+ ---
54
+
55
+ ## Step 2: Update Entity Fields
56
+
57
+ Use \`pinterest_update_entity\` for **field changes** (name, budget, bid, targeting):
58
+
59
+ ### Campaign Updates
60
+
61
+ \`\`\`json
62
+ {
63
+ "tool": "pinterest_update_entity",
64
+ "params": {
65
+ "entityType": "campaign",
66
+ "adAccountId": "${adAccountId}",
67
+ "entityId": "${entityId}",
68
+ "data": {
69
+ "name": "Updated Campaign Name",
70
+ "daily_spend_cap": 100000000
71
+ }
72
+ }
73
+ }
74
+ \`\`\`
75
+
76
+ ### Ad Group Updates
77
+
78
+ \`\`\`json
79
+ {
80
+ "tool": "pinterest_update_entity",
81
+ "params": {
82
+ "entityType": "adGroup",
83
+ "adAccountId": "${adAccountId}",
84
+ "entityId": "${entityId}",
85
+ "data": {
86
+ "name": "Updated Ad Group",
87
+ "budget": 100,
88
+ "bid_price": 0.8,
89
+ "age": ["AGE_25_34", "AGE_35_44"],
90
+ "gender": ["GENDER_UNLIMITED"],
91
+ "location_ids": ["US", "GB"]
92
+ }
93
+ }
94
+ }
95
+ \`\`\`
96
+
97
+ ### Ad Updates
98
+
99
+ \`\`\`json
100
+ {
101
+ "tool": "pinterest_update_entity",
102
+ "params": {
103
+ "entityType": "ad",
104
+ "adAccountId": "${adAccountId}",
105
+ "entityId": "${entityId}",
106
+ "data": {
107
+ "ad_name": "Updated Ad Name",
108
+ "ad_text": "New ad copy (max 100 chars)",
109
+ "call_to_action": "SHOP_NOW",
110
+ "landing_page_url": "https://example.com/new-page"
111
+ }
112
+ }
113
+ }
114
+ \`\`\`
115
+
116
+ ---
117
+
118
+ ## Step 3: Update Status (Separate Endpoint)
119
+
120
+ ⚠️ **CRITICAL GOTCHA**: Pinterest uses a **separate endpoint** for status changes. Do NOT include \`operation_status\` in \`pinterest_update_entity\` — it won't work.
121
+
122
+ Use \`pinterest_bulk_update_status\` for all status changes:
123
+
124
+ \`\`\`json
125
+ {
126
+ "tool": "pinterest_bulk_update_status",
127
+ "params": {
128
+ "entityType": "${entityType}",
129
+ "adAccountId": "${adAccountId}",
130
+ "entityIds": ["${entityId}"],
131
+ "operationStatus": "ACTIVE"
132
+ }
133
+ }
134
+ \`\`\`
135
+
136
+ Valid status values: \`"ACTIVE"\`, \`"PAUSED"\`, \`"ARCHIVED"\`
137
+
138
+ ---
139
+
140
+ ## Step 4: Verify Changes
141
+
142
+ After the update call succeeds, verify the changes:
143
+
144
+ \`\`\`json
145
+ {
146
+ "tool": "pinterest_get_entity",
147
+ "params": {
148
+ "entityType": "${entityType}",
149
+ "adAccountId": "${adAccountId}",
150
+ "entityId": "${entityId}"
151
+ }
152
+ }
153
+ \`\`\`
154
+
155
+ ---
156
+
157
+ ## Gotchas
158
+
159
+ - **Status changes use a different tool**: Never use \`pinterest_update_entity\` for enabling/disabling entities — use \`pinterest_bulk_update_status\`.
160
+ - **Budget values are in account currency**: \`budget: 100\` means $100.00 (not cents, not micros).
161
+ - **Targeting replaces on ad group**: When updating targeting fields on an ad group, include all targeting you want to keep.
162
+ - **Video IDs are immutable**: You cannot change the video on an existing ad. Delete and recreate instead.
163
+ - **Ad review re-triggered**: Updating ad copy or creative may trigger a new review cycle (24-48h).
164
+
165
+ ---
166
+
167
+ ## Rollback
168
+
169
+ If an update causes issues, reverse it by sending the original values:
170
+
171
+ \`\`\`json
172
+ {
173
+ "tool": "pinterest_update_entity",
174
+ "params": {
175
+ "entityType": "${entityType}",
176
+ "adAccountId": "${adAccountId}",
177
+ "entityId": "${entityId}",
178
+ "data": {
179
+ "field_that_was_changed": "{original_value}"
180
+ }
181
+ }
182
+ }
183
+ \`\`\`
184
+
185
+ Report the rollback hint (original values) whenever you make a change so the user can revert if needed.
186
+ `;
187
+ }
188
+ //# sourceMappingURL=entity-update-workflow.prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-update-workflow.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/entity-update-workflow.prompt.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,mCAAmC,GAAW;IACzD,IAAI,EAAE,kCAAkC;IACxC,WAAW,EACT,mLAAmL;IACrL,SAAS,EAAE;QACT;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,iDAAiD;YAC9D,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF,MAAM,UAAU,uCAAuC,CAAC,IAA6B;IACnF,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,cAAc,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,YAAY,CAAC;IAChD,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,eAAe,CAAC;IAEzD,OAAO;;iBAEQ,UAAU;eACZ,QAAQ;mBACJ,WAAW;;;;;;;;;;;;qBAYT,UAAU;sBACT,WAAW;mBACd,QAAQ;;;;;;;4DAOiC,UAAU,kEAAkE,UAAU;;;;;;;;;;;;;;;sBAe5H,WAAW;mBACd,QAAQ;;;;;;;;;;;;;;;;sBAgBL,WAAW;mBACd,QAAQ;;;;;;;;;;;;;;;;;;;;sBAoBL,WAAW;mBACd,QAAQ;;;;;;;;;;;;;;;;;;;;;;;qBAuBN,UAAU;sBACT,WAAW;qBACZ,QAAQ;;;;;;;;;;;;;;;;;;qBAkBR,UAAU;sBACT,WAAW;mBACd,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;qBAyBN,UAAU;sBACT,WAAW;mBACd,QAAQ;;;;;;;;;CAS1B,CAAC;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const pinterestReportingWorkflowPrompt: Prompt;
3
+ export declare function getPinterestReportingWorkflowMessage(args?: Record<string, string>): string;
4
+ //# sourceMappingURL=reporting-workflow.prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporting-workflow.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/reporting-workflow.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE,eAAO,MAAM,gCAAgC,EAAE,MAgB9C,CAAC;AAEF,wBAAgB,oCAAoC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CA6G1F"}
@@ -0,0 +1,126 @@
1
+ export const pinterestReportingWorkflowPrompt = {
2
+ name: "pinterest_reporting_workflow",
3
+ description: "Guide for submitting and retrieving Pinterest Ads async reports with dimensions, metrics, and breakdowns",
4
+ arguments: [
5
+ {
6
+ name: "adAccountId",
7
+ description: "Pinterest Advertiser ID",
8
+ required: true,
9
+ },
10
+ {
11
+ name: "reportLevel",
12
+ description: "Report level: AUCTION, RESERVATION (default: AUCTION)",
13
+ required: false,
14
+ },
15
+ ],
16
+ };
17
+ export function getPinterestReportingWorkflowMessage(args) {
18
+ const adAccountId = args?.adAccountId || "{adAccountId}";
19
+ const reportLevel = args?.reportLevel || "AUCTION";
20
+ return `# Pinterest Reporting Workflow
21
+
22
+ Advertiser: \`${adAccountId}\`
23
+ Report Level: \`${reportLevel}\`
24
+
25
+ ---
26
+
27
+ ## Overview
28
+
29
+ Pinterest reports are **async** — \`pinterest_get_report\` submits the job, polls for completion, and returns the results when ready.
30
+
31
+ ---
32
+
33
+ ## Step 1: Basic Campaign Report
34
+
35
+ \`\`\`json
36
+ pinterest_get_report({
37
+ "adAccountId": "${adAccountId}",
38
+ "dimensions": ["campaign_id", "stat_time_day"],
39
+ "metrics": ["impressions", "clicks", "spend", "ctr", "cpc", "conversions", "cost_per_conversion"],
40
+ "startDate": "2026-02-01",
41
+ "endDate": "2026-03-07"
42
+ })
43
+ \`\`\`
44
+
45
+ ## Step 2: Ad Group Level Report
46
+
47
+ \`\`\`json
48
+ pinterest_get_report({
49
+ "adAccountId": "${adAccountId}",
50
+ "dimensions": ["adgroup_id", "stat_time_day"],
51
+ "metrics": ["impressions", "clicks", "spend", "video_play_actions", "video_watched_2s", "video_watched_6s"],
52
+ "startDate": "2026-02-01",
53
+ "endDate": "2026-03-07"
54
+ })
55
+ \`\`\`
56
+
57
+ ## Step 3: Breakdown Report
58
+
59
+ Add demographic and contextual breakdowns to your report:
60
+
61
+ \`\`\`json
62
+ pinterest_get_report_breakdowns({
63
+ "adAccountId": "${adAccountId}",
64
+ "dimensions": ["campaign_id"],
65
+ "breakdowns": ["gender", "age"],
66
+ "metrics": ["impressions", "clicks", "spend", "conversions"],
67
+ "startDate": "2026-02-01",
68
+ "endDate": "2026-03-07"
69
+ })
70
+ \`\`\`
71
+
72
+ ## Step 4: Video Engagement Report
73
+
74
+ \`\`\`json
75
+ pinterest_get_report({
76
+ "adAccountId": "${adAccountId}",
77
+ "dimensions": ["ad_id"],
78
+ "metrics": [
79
+ "impressions", "video_play_actions", "video_watched_2s",
80
+ "video_watched_6s", "video_views_p25", "video_views_p50",
81
+ "video_views_p75", "video_views_p100"
82
+ ],
83
+ "startDate": "2026-02-01",
84
+ "endDate": "2026-03-07"
85
+ })
86
+ \`\`\`
87
+
88
+ ## Resource References
89
+
90
+ - Fetch \`reporting-reference://pinterest\` for full metrics and dimensions list
91
+ - Fetch \`entity-hierarchy://pinterest/all\` for entity relationships
92
+
93
+ ## Common Dimensions
94
+
95
+ | Dimension | Level |
96
+ |-----------|-------|
97
+ | \`campaign_id\` | Campaign |
98
+ | \`adgroup_id\` | Ad Group |
99
+ | \`ad_id\` | Ad |
100
+ | \`stat_time_day\` | Daily breakdown |
101
+ | \`stat_time_hour\` | Hourly breakdown |
102
+
103
+ ## Common Metrics
104
+
105
+ | Metric | Description |
106
+ |--------|-------------|
107
+ | \`impressions\` | Total impressions |
108
+ | \`clicks\` | Total clicks |
109
+ | \`spend\` | Total spend (account currency) |
110
+ | \`ctr\` | Click-through rate |
111
+ | \`cpc\` | Cost per click |
112
+ | \`conversions\` | Total conversions |
113
+ | \`cost_per_conversion\` | CPA |
114
+ | \`video_play_actions\` | Video starts |
115
+ | \`video_watched_2s\` | 2-second video views |
116
+ | \`video_watched_6s\` | 6-second video views |
117
+
118
+ ## Tips
119
+
120
+ - Reports may take **30 seconds to several minutes** depending on date range and data volume
121
+ - Data has a **24-48 hour lag** for finalized metrics
122
+ - Max date range per report is **180 days**
123
+ - Budget and spend values are in **account currency** (not cents, not micros)
124
+ `;
125
+ }
126
+ //# sourceMappingURL=reporting-workflow.prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reporting-workflow.prompt.js","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/reporting-workflow.prompt.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,gCAAgC,GAAW;IACtD,IAAI,EAAE,8BAA8B;IACpC,WAAW,EACT,0GAA0G;IAC5G,SAAS,EAAE;QACT;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,uDAAuD;YACpE,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,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,SAAS,CAAC;IAEnD,OAAO;;gBAEO,WAAW;kBACT,WAAW;;;;;;;;;;;;;;oBAcT,WAAW;;;;;;;;;;;;oBAYX,WAAW;;;;;;;;;;;;;;oBAcX,WAAW;;;;;;;;;;;;;oBAaX,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgD9B,CAAC;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const pinterestTargetingDiscoveryWorkflowPrompt: Prompt;
3
+ export declare function getPinterestTargetingDiscoveryWorkflowMessage(args?: Record<string, string>): string;
4
+ //# sourceMappingURL=targeting-discovery-workflow.prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"targeting-discovery-workflow.prompt.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAQjE,eAAO,MAAM,yCAAyC,EAAE,MAiBvD,CAAC;AAEF,wBAAgB,6CAA6C,CAC3D,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,MAAM,CAoLR"}
@@ -0,0 +1,197 @@
1
+ export const pinterestTargetingDiscoveryWorkflowPrompt = {
2
+ name: "pinterest_targeting_discovery_workflow",
3
+ description: "Step-by-step guide for researching Pinterest audiences: search interest categories, browse behaviors, build targeting configs, and estimate audience size before ad group creation.",
4
+ arguments: [
5
+ {
6
+ name: "adAccountId",
7
+ description: "Pinterest Advertiser ID",
8
+ required: true,
9
+ },
10
+ {
11
+ name: "goal",
12
+ description: "Research goal: 'search' (find by keyword), 'browse' (explore options), or 'build' (assemble targeting). Default: search",
13
+ required: false,
14
+ },
15
+ ],
16
+ };
17
+ export function getPinterestTargetingDiscoveryWorkflowMessage(args) {
18
+ const adAccountId = args?.adAccountId || "{adAccountId}";
19
+ const goal = args?.goal || "search";
20
+ return `# Pinterest Targeting Discovery Workflow
21
+
22
+ Advertiser: \`${adAccountId}\`
23
+ Goal: \`${goal}\`
24
+
25
+ ---
26
+
27
+ ## Overview
28
+
29
+ Before creating ad groups, you need to build a **targeting configuration** — the fields that define your Pinterest audience. This workflow helps you discover and validate targeting options.
30
+
31
+ | Tool | Purpose | Use When |
32
+ |------|---------|----------|
33
+ | \`pinterest_search_targeting\` | Search by keyword | You know the audience you want |
34
+ | \`pinterest_get_targeting_options\` | Browse available targeting | You want to explore what's available |
35
+ | \`pinterest_get_audience_estimate\` | Estimate audience size | Before committing to targeting |
36
+
37
+ ---
38
+
39
+ ## Step 1: Search Targeting Options
40
+
41
+ Search for interest categories by keyword:
42
+
43
+ \`\`\`json
44
+ {
45
+ "tool": "pinterest_search_targeting",
46
+ "params": {
47
+ "adAccountId": "${adAccountId}",
48
+ "targetingType": "INTEREST_KEYWORD",
49
+ "query": "fitness"
50
+ }
51
+ }
52
+ \`\`\`
53
+
54
+ Each result includes:
55
+ - \`id\` — The targeting ID to use in your ad group
56
+ - \`name\` — Human-readable label
57
+
58
+ ### Key Targeting Types
59
+
60
+ | Targeting Type | What It Searches | Example |
61
+ |----------------|-----------------|---------|
62
+ | \`INTEREST_KEYWORD\` | Interest categories | "fitness", "gaming" |
63
+ | \`BEHAVIOR\` | Behavioral segments | App engagement behaviors |
64
+ | \`HASHTAG\` | Hashtag interest groups | "DIY", "travel" |
65
+
66
+ ---
67
+
68
+ ## Step 2: Browse Targeting Categories
69
+
70
+ To explore all available targeting options for your account:
71
+
72
+ \`\`\`json
73
+ {
74
+ "tool": "pinterest_get_targeting_options",
75
+ "params": {
76
+ "adAccountId": "${adAccountId}"
77
+ }
78
+ }
79
+ \`\`\`
80
+
81
+ Filter by type:
82
+
83
+ \`\`\`json
84
+ {
85
+ "tool": "pinterest_get_targeting_options",
86
+ "params": {
87
+ "adAccountId": "${adAccountId}",
88
+ "targetingType": "INTEREST"
89
+ }
90
+ }
91
+ \`\`\`
92
+
93
+ ---
94
+
95
+ ## Step 3: Build Ad Group Targeting
96
+
97
+ Combine your research into an ad group payload:
98
+
99
+ \`\`\`json
100
+ {
101
+ "age": ["AGE_18_24", "AGE_25_34", "AGE_35_44"],
102
+ "gender": ["GENDER_UNLIMITED"],
103
+ "location_ids": ["US", "GB"],
104
+ "interest_keyword_ids": ["123456", "789012"],
105
+ "operating_systems": ["IOS", "ANDROID"],
106
+ "placement_type": "PLACEMENT_TYPE_NORMAL",
107
+ "bid_type": "BID_TYPE_CUSTOM",
108
+ "bid_price": 0.5,
109
+ "optimize_goal": "CLICK"
110
+ }
111
+ \`\`\`
112
+
113
+ ### Key Targeting Fields
114
+
115
+ | Field | Type | Description |
116
+ |-------|------|-------------|
117
+ | \`age\` | Array | Age groups: AGE_13_17 through AGE_55_PLUS |
118
+ | \`gender\` | Array | GENDER_MALE, GENDER_FEMALE, GENDER_UNLIMITED |
119
+ | \`location_ids\` | Array | Country codes or location IDs |
120
+ | \`interest_keyword_ids\` | Array | Interest keyword IDs from search |
121
+ | \`operating_systems\` | Array | IOS, ANDROID |
122
+ | \`placement_type\` | String | PLACEMENT_TYPE_NORMAL (auto), PLACEMENT_TYPE_SEARCH |
123
+ | \`bid_price\` | Number | Bid in account currency |
124
+
125
+ ⚠️ **GOTCHA**: Age group values are enum strings — use exact values like \`AGE_18_24\`, not ranges like \`18-24\`.
126
+
127
+ ⚠️ **GOTCHA**: Location IDs can be country codes (e.g., "US") or numeric IDs for cities/regions — use \`pinterest_search_targeting\` to find valid values.
128
+
129
+ ---
130
+
131
+ ## Step 4: Estimate Audience Size
132
+
133
+ Before creating the ad group, verify your targeting reaches a viable audience:
134
+
135
+ \`\`\`json
136
+ {
137
+ "tool": "pinterest_get_audience_estimate",
138
+ "params": {
139
+ "adAccountId": "${adAccountId}",
140
+ "targetingConfig": {
141
+ "age": ["AGE_18_24", "AGE_25_34"],
142
+ "gender": ["GENDER_UNLIMITED"],
143
+ "location_ids": ["US"],
144
+ "interest_keyword_ids": ["123456"]
145
+ }
146
+ }
147
+ }
148
+ \`\`\`
149
+
150
+ Interpret results:
151
+ - **Too narrow** (< 50K reach) → Broaden age groups or add more interests
152
+ - **Too broad** (> 100M reach) → Add more specific interests or narrow demographics
153
+ - **Sweet spot**: 1M–50M for most Pinterest campaigns
154
+
155
+ ---
156
+
157
+ ## Step 5: Apply to Ad Group
158
+
159
+ Use the targeting when creating or updating an ad group:
160
+
161
+ \`\`\`json
162
+ {
163
+ "tool": "pinterest_create_entity",
164
+ "params": {
165
+ "entityType": "adGroup",
166
+ "adAccountId": "${adAccountId}",
167
+ "data": {
168
+ "campaign_id": "{campaignId}",
169
+ "name": "US Fitness Enthusiasts 18-34",
170
+ "placement_type": "PLACEMENT_TYPE_NORMAL",
171
+ "daily_spend_cap": 50000000,
172
+ "schedule_type": "SCHEDULE_START_END",
173
+ "schedule_start_time": "2026-03-10 00:00:00",
174
+ "schedule_end_time": "2026-12-31 23:59:59",
175
+ "optimize_goal": "CLICK",
176
+ "bid_type": "BID_TYPE_CUSTOM",
177
+ "bid_price": 0.5,
178
+ "age": ["AGE_18_24", "AGE_25_34"],
179
+ "gender": ["GENDER_UNLIMITED"],
180
+ "location_ids": ["US"],
181
+ "interest_keyword_ids": ["123456"]
182
+ }
183
+ }
184
+ }
185
+ \`\`\`
186
+
187
+ ⚠️ **GOTCHA**: Budget values are in **account currency** — \`budget: 50\` means $50.00.
188
+
189
+ ---
190
+
191
+ ## Related Resources
192
+ - \`reporting-reference://pinterest\` — Reporting metrics and dimensions
193
+ - \`entity-schema://pinterest/adGroup\` — Ad Group fields including all targeting parameters
194
+ - \`entity-examples://pinterest/adGroup\` — Example ad group payloads with targeting
195
+ `;
196
+ }
197
+ //# 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,yCAAyC,GAAW;IAC/D,IAAI,EAAE,wCAAwC;IAC9C,WAAW,EACT,qLAAqL;IACvL,SAAS,EAAE;QACT;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EACT,yHAAyH;YAC3H,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,6CAA6C,CAC3D,IAA6B;IAE7B,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,eAAe,CAAC;IACzD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC;IAEpC,OAAO;;gBAEO,WAAW;UACjB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;sBAwBQ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA6BX,WAAW;;;;;;;;;;;sBAWX,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAoDX,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA2BX,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BhC,CAAC;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const pinterestToolSchemaExplorationPrompt: Prompt;
3
+ export declare function getPinterestToolSchemaExplorationMessage(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,oCAAoC,EAAE,MAYlD,CAAC;AAEF,wBAAgB,wCAAwC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAiF9F"}
@@ -0,0 +1,93 @@
1
+ export const pinterestToolSchemaExplorationPrompt = {
2
+ name: "pinterest_tool_schema_exploration",
3
+ description: "Guide for discovering and understanding Pinterest MCP tools, resources, and schemas",
4
+ arguments: [
5
+ {
6
+ name: "objective",
7
+ description: "Exploration objective (e.g., campaign management, reporting, targeting, bulk operations)",
8
+ required: false,
9
+ },
10
+ ],
11
+ };
12
+ export function getPinterestToolSchemaExplorationMessage(args) {
13
+ const objective = args?.objective || "general capability discovery";
14
+ return `# Pinterest MCP Tool & Schema Exploration Guide
15
+
16
+ ## Context
17
+ - Server: pinterest-mcp (Pinterest Ads Campaign Management)
18
+ - Objective: ${objective}
19
+
20
+ Use this workflow to discover Pinterest 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://pinterest/all\` | Entity relationships, API patterns, creation order |
31
+ | \`entity-schema://pinterest/campaign\` | Campaign fields |
32
+ | \`entity-schema://pinterest/adGroup\` | Ad Group fields + targeting |
33
+ | \`entity-schema://pinterest/ad\` | Ad fields |
34
+ | \`entity-schema://pinterest/creative\` | Creative fields |
35
+ | \`entity-examples://pinterest/all\` | All entity examples |
36
+ | \`entity-examples://pinterest/{type}\` | Examples for specific type |
37
+ | \`reporting-reference://pinterest\` | Metrics, dimensions, and breakdown options |
38
+
39
+ ## Tool Categories
40
+
41
+ ### Read Operations
42
+ - \`pinterest_list_ad_accounts\` — List accessible advertiser accounts
43
+ - \`pinterest_list_entities\` — List entities with page pagination
44
+ - \`pinterest_get_entity\` — Get single entity by ID
45
+
46
+ ### Write Operations
47
+ - \`pinterest_create_entity\` — Create entity
48
+ - \`pinterest_update_entity\` — Update entity fields
49
+ - \`pinterest_delete_entity\` — Delete entities
50
+
51
+ ### Reporting (Async)
52
+ - \`pinterest_get_report\` — Submit async report and download results
53
+ - \`pinterest_get_report_breakdowns\` — Report with breakdown dimensions
54
+
55
+ ### Bulk Operations
56
+ - \`pinterest_bulk_update_status\` — Batch enable/disable/delete entities
57
+ - \`pinterest_bulk_create_entities\` — Batch creation (up to 50)
58
+ - \`pinterest_bulk_update_entities\` — Batch updates (up to 50)
59
+ - \`pinterest_adjust_bids\` — Batch adjust ad group bid prices
60
+
61
+ ### Targeting
62
+ - \`pinterest_search_targeting\` — Search interest categories, behaviors, demographics
63
+ - \`pinterest_get_targeting_options\` — Browse targeting categories
64
+
65
+ ### Specialized
66
+ - \`pinterest_duplicate_entity\` — Copy campaigns, ad groups, ads
67
+ - \`pinterest_get_audience_estimate\` — Audience size estimation
68
+ - \`pinterest_get_ad_preview\` — Ad preview for video/image ads
69
+
70
+ ### Validation
71
+ - \`pinterest_validate_entity\` — Client-side entity validation
72
+
73
+ ## Workflow Prompts
74
+
75
+ | Task | Prompt |
76
+ |------|--------|
77
+ | Create a full campaign structure | \`pinterest_campaign_setup_workflow\` |
78
+ | Research audiences & build targeting | \`pinterest_targeting_discovery_workflow\` |
79
+ | Update entities safely | \`pinterest_entity_update_workflow\` |
80
+ | Duplicate campaigns/ad groups/ads | \`pinterest_entity_duplication_workflow\` |
81
+ | Bulk create/update/status/bids | \`pinterest_bulk_operations_workflow\` |
82
+ | Async reporting & breakdowns | \`pinterest_reporting_workflow\` |
83
+ | Troubleshoot entity issues | \`pinterest_troubleshoot_entity\` |
84
+
85
+ ## Recommended Exploration Order
86
+
87
+ 1. Start with \`pinterest_list_ad_accounts\` to find your account
88
+ 2. Fetch \`entity-hierarchy://pinterest/all\` for API patterns
89
+ 3. Fetch \`entity-schema://pinterest/{type}\` for field details
90
+ 4. Fetch \`entity-examples://pinterest/{type}\` for payload templates
91
+ `;
92
+ }
93
+ //# 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,oCAAoC,GAAW;IAC1D,IAAI,EAAE,mCAAmC;IACzC,WAAW,EACT,qFAAqF;IACvF,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EACT,0FAA0F;YAC5F,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,wCAAwC,CAAC,IAA6B;IACpF,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,8BAA8B,CAAC;IAEpE,OAAO;;;;eAIM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEvB,CAAC;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const pinterestTroubleshootEntityPrompt: Prompt;
3
+ export declare function getPinterestTroubleshootEntityMessage(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,iCAAiC,EAAE,MAoB/C,CAAC;AAEF,wBAAgB,qCAAqC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAyF3F"}