@cesteral/tiktok-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 (267) hide show
  1. package/LICENSE.md +201 -0
  2. package/README.md +347 -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/tiktok-auth-adapter.d.ts +40 -0
  8. package/dist/auth/tiktok-auth-adapter.d.ts.map +1 -0
  9. package/dist/auth/tiktok-auth-adapter.js +126 -0
  10. package/dist/auth/tiktok-auth-adapter.js.map +1 -0
  11. package/dist/auth/tiktok-auth-strategy.d.ts +14 -0
  12. package/dist/auth/tiktok-auth-strategy.d.ts.map +1 -0
  13. package/dist/auth/tiktok-auth-strategy.js +54 -0
  14. package/dist/auth/tiktok-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/index.d.ts +3 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +47 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.d.ts +4 -0
  24. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.d.ts.map +1 -0
  25. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.js +127 -0
  26. package/dist/mcp-server/prompts/definitions/bulk-operations-workflow.prompt.js.map +1 -0
  27. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.d.ts +4 -0
  28. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.d.ts.map +1 -0
  29. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js +104 -0
  30. package/dist/mcp-server/prompts/definitions/campaign-setup-workflow.prompt.js.map +1 -0
  31. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.d.ts +4 -0
  32. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.d.ts.map +1 -0
  33. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.js +121 -0
  34. package/dist/mcp-server/prompts/definitions/creative-upload-workflow.prompt.js.map +1 -0
  35. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.d.ts +4 -0
  36. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.d.ts.map +1 -0
  37. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.js +299 -0
  38. package/dist/mcp-server/prompts/definitions/cross-platform-campaign-setup.prompt.js.map +1 -0
  39. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.d.ts +4 -0
  40. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.d.ts.map +1 -0
  41. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.js +170 -0
  42. package/dist/mcp-server/prompts/definitions/cross-platform-performance.prompt.js.map +1 -0
  43. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.d.ts +4 -0
  44. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.d.ts.map +1 -0
  45. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.js +198 -0
  46. package/dist/mcp-server/prompts/definitions/entity-duplication-workflow.prompt.js.map +1 -0
  47. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.d.ts +4 -0
  48. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.d.ts.map +1 -0
  49. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.js +189 -0
  50. package/dist/mcp-server/prompts/definitions/entity-update-workflow.prompt.js.map +1 -0
  51. package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.d.ts +4 -0
  52. package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.d.ts.map +1 -0
  53. package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.js +126 -0
  54. package/dist/mcp-server/prompts/definitions/reporting-workflow.prompt.js.map +1 -0
  55. package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.d.ts +4 -0
  56. package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.d.ts.map +1 -0
  57. package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.js +200 -0
  58. package/dist/mcp-server/prompts/definitions/targeting-discovery-workflow.prompt.js.map +1 -0
  59. package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.d.ts +4 -0
  60. package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.d.ts.map +1 -0
  61. package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.js +93 -0
  62. package/dist/mcp-server/prompts/definitions/tool-schema-exploration.prompt.js.map +1 -0
  63. package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.d.ts +4 -0
  64. package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.d.ts.map +1 -0
  65. package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.js +111 -0
  66. package/dist/mcp-server/prompts/definitions/troubleshoot-entity.prompt.js.map +1 -0
  67. package/dist/mcp-server/prompts/index.d.ts +9 -0
  68. package/dist/mcp-server/prompts/index.d.ts.map +1 -0
  69. package/dist/mcp-server/prompts/index.js +97 -0
  70. package/dist/mcp-server/prompts/index.js.map +1 -0
  71. package/dist/mcp-server/resources/definitions/entity-examples.resource.d.ts +4 -0
  72. package/dist/mcp-server/resources/definitions/entity-examples.resource.d.ts.map +1 -0
  73. package/dist/mcp-server/resources/definitions/entity-examples.resource.js +182 -0
  74. package/dist/mcp-server/resources/definitions/entity-examples.resource.js.map +1 -0
  75. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.d.ts +3 -0
  76. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.d.ts.map +1 -0
  77. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.js +147 -0
  78. package/dist/mcp-server/resources/definitions/entity-hierarchy.resource.js.map +1 -0
  79. package/dist/mcp-server/resources/definitions/entity-schemas.resource.d.ts +4 -0
  80. package/dist/mcp-server/resources/definitions/entity-schemas.resource.d.ts.map +1 -0
  81. package/dist/mcp-server/resources/definitions/entity-schemas.resource.js +135 -0
  82. package/dist/mcp-server/resources/definitions/entity-schemas.resource.js.map +1 -0
  83. package/dist/mcp-server/resources/definitions/index.d.ts +8 -0
  84. package/dist/mcp-server/resources/definitions/index.d.ts.map +1 -0
  85. package/dist/mcp-server/resources/definitions/index.js +79 -0
  86. package/dist/mcp-server/resources/definitions/index.js.map +1 -0
  87. package/dist/mcp-server/resources/definitions/reporting-reference.resource.d.ts +3 -0
  88. package/dist/mcp-server/resources/definitions/reporting-reference.resource.d.ts.map +1 -0
  89. package/dist/mcp-server/resources/definitions/reporting-reference.resource.js +165 -0
  90. package/dist/mcp-server/resources/definitions/reporting-reference.resource.js.map +1 -0
  91. package/dist/mcp-server/resources/definitions/targeting-reference.resource.d.ts +3 -0
  92. package/dist/mcp-server/resources/definitions/targeting-reference.resource.d.ts.map +1 -0
  93. package/dist/mcp-server/resources/definitions/targeting-reference.resource.js +134 -0
  94. package/dist/mcp-server/resources/definitions/targeting-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 +134 -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 +112 -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 +130 -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 +137 -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 +89 -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 +115 -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 +103 -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 +105 -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-ad-previews.tool.d.ts +89 -0
  148. package/dist/mcp-server/tools/definitions/get-ad-previews.tool.d.ts.map +1 -0
  149. package/dist/mcp-server/tools/definitions/get-ad-previews.tool.js +83 -0
  150. package/dist/mcp-server/tools/definitions/get-ad-previews.tool.js.map +1 -0
  151. package/dist/mcp-server/tools/definitions/get-audience-estimate.tool.d.ts +85 -0
  152. package/dist/mcp-server/tools/definitions/get-audience-estimate.tool.d.ts.map +1 -0
  153. package/dist/mcp-server/tools/definitions/get-audience-estimate.tool.js +88 -0
  154. package/dist/mcp-server/tools/definitions/get-audience-estimate.tool.js.map +1 -0
  155. package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts +76 -0
  156. package/dist/mcp-server/tools/definitions/get-entity.tool.d.ts.map +1 -0
  157. package/dist/mcp-server/tools/definitions/get-entity.tool.js +71 -0
  158. package/dist/mcp-server/tools/definitions/get-entity.tool.js.map +1 -0
  159. package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.d.ts +295 -0
  160. package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.d.ts.map +1 -0
  161. package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.js +174 -0
  162. package/dist/mcp-server/tools/definitions/get-report-breakdowns.tool.js.map +1 -0
  163. package/dist/mcp-server/tools/definitions/get-report.tool.d.ts +303 -0
  164. package/dist/mcp-server/tools/definitions/get-report.tool.d.ts.map +1 -0
  165. package/dist/mcp-server/tools/definitions/get-report.tool.js +178 -0
  166. package/dist/mcp-server/tools/definitions/get-report.tool.js.map +1 -0
  167. package/dist/mcp-server/tools/definitions/get-targeting-options.tool.d.ts +127 -0
  168. package/dist/mcp-server/tools/definitions/get-targeting-options.tool.d.ts.map +1 -0
  169. package/dist/mcp-server/tools/definitions/get-targeting-options.tool.js +120 -0
  170. package/dist/mcp-server/tools/definitions/get-targeting-options.tool.js.map +1 -0
  171. package/dist/mcp-server/tools/definitions/index.d.ts +26 -0
  172. package/dist/mcp-server/tools/definitions/index.d.ts.map +1 -0
  173. package/dist/mcp-server/tools/definitions/index.js +78 -0
  174. package/dist/mcp-server/tools/definitions/index.js.map +1 -0
  175. package/dist/mcp-server/tools/definitions/list-advertisers.tool.d.ts +54 -0
  176. package/dist/mcp-server/tools/definitions/list-advertisers.tool.d.ts.map +1 -0
  177. package/dist/mcp-server/tools/definitions/list-advertisers.tool.js +58 -0
  178. package/dist/mcp-server/tools/definitions/list-advertisers.tool.js.map +1 -0
  179. package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts +167 -0
  180. package/dist/mcp-server/tools/definitions/list-entities.tool.d.ts.map +1 -0
  181. package/dist/mcp-server/tools/definitions/list-entities.tool.js +114 -0
  182. package/dist/mcp-server/tools/definitions/list-entities.tool.js.map +1 -0
  183. package/dist/mcp-server/tools/definitions/search-targeting.tool.d.ts +131 -0
  184. package/dist/mcp-server/tools/definitions/search-targeting.tool.d.ts.map +1 -0
  185. package/dist/mcp-server/tools/definitions/search-targeting.tool.js +123 -0
  186. package/dist/mcp-server/tools/definitions/search-targeting.tool.js.map +1 -0
  187. package/dist/mcp-server/tools/definitions/submit-report.tool.d.ts +153 -0
  188. package/dist/mcp-server/tools/definitions/submit-report.tool.d.ts.map +1 -0
  189. package/dist/mcp-server/tools/definitions/submit-report.tool.js +117 -0
  190. package/dist/mcp-server/tools/definitions/submit-report.tool.js.map +1 -0
  191. package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts +111 -0
  192. package/dist/mcp-server/tools/definitions/update-entity.tool.d.ts.map +1 -0
  193. package/dist/mcp-server/tools/definitions/update-entity.tool.js +89 -0
  194. package/dist/mcp-server/tools/definitions/update-entity.tool.js.map +1 -0
  195. package/dist/mcp-server/tools/definitions/upload-image.tool.d.ts +87 -0
  196. package/dist/mcp-server/tools/definitions/upload-image.tool.d.ts.map +1 -0
  197. package/dist/mcp-server/tools/definitions/upload-image.tool.js +82 -0
  198. package/dist/mcp-server/tools/definitions/upload-image.tool.js.map +1 -0
  199. package/dist/mcp-server/tools/definitions/upload-video.tool.d.ts +88 -0
  200. package/dist/mcp-server/tools/definitions/upload-video.tool.d.ts.map +1 -0
  201. package/dist/mcp-server/tools/definitions/upload-video.tool.js +113 -0
  202. package/dist/mcp-server/tools/definitions/upload-video.tool.js.map +1 -0
  203. package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts +197 -0
  204. package/dist/mcp-server/tools/definitions/validate-entity.tool.d.ts.map +1 -0
  205. package/dist/mcp-server/tools/definitions/validate-entity.tool.js +237 -0
  206. package/dist/mcp-server/tools/definitions/validate-entity.tool.js.map +1 -0
  207. package/dist/mcp-server/tools/index.d.ts +2 -0
  208. package/dist/mcp-server/tools/index.d.ts.map +1 -0
  209. package/dist/mcp-server/tools/index.js +2 -0
  210. package/dist/mcp-server/tools/index.js.map +1 -0
  211. package/dist/mcp-server/tools/utils/entity-mapping.d.ts +22 -0
  212. package/dist/mcp-server/tools/utils/entity-mapping.d.ts.map +1 -0
  213. package/dist/mcp-server/tools/utils/entity-mapping.js +121 -0
  214. package/dist/mcp-server/tools/utils/entity-mapping.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/session-services.d.ts +21 -0
  224. package/dist/services/session-services.d.ts.map +1 -0
  225. package/dist/services/session-services.js +25 -0
  226. package/dist/services/session-services.js.map +1 -0
  227. package/dist/services/tiktok/tiktok-http-client.d.ts +19 -0
  228. package/dist/services/tiktok/tiktok-http-client.d.ts.map +1 -0
  229. package/dist/services/tiktok/tiktok-http-client.js +184 -0
  230. package/dist/services/tiktok/tiktok-http-client.js.map +1 -0
  231. package/dist/services/tiktok/tiktok-reporting-service.d.ts +62 -0
  232. package/dist/services/tiktok/tiktok-reporting-service.d.ts.map +1 -0
  233. package/dist/services/tiktok/tiktok-reporting-service.js +129 -0
  234. package/dist/services/tiktok/tiktok-reporting-service.js.map +1 -0
  235. package/dist/services/tiktok/tiktok-service.d.ts +86 -0
  236. package/dist/services/tiktok/tiktok-service.d.ts.map +1 -0
  237. package/dist/services/tiktok/tiktok-service.js +217 -0
  238. package/dist/services/tiktok/tiktok-service.js.map +1 -0
  239. package/dist/services/tiktok/types.d.ts +161 -0
  240. package/dist/services/tiktok/types.d.ts.map +1 -0
  241. package/dist/services/tiktok/types.js +31 -0
  242. package/dist/services/tiktok/types.js.map +1 -0
  243. package/dist/types-global/mcp.d.ts +2 -0
  244. package/dist/types-global/mcp.d.ts.map +1 -0
  245. package/dist/types-global/mcp.js +2 -0
  246. package/dist/types-global/mcp.js.map +1 -0
  247. package/dist/utils/errors/index.d.ts +2 -0
  248. package/dist/utils/errors/index.d.ts.map +1 -0
  249. package/dist/utils/errors/index.js +2 -0
  250. package/dist/utils/errors/index.js.map +1 -0
  251. package/dist/utils/platform.d.ts +3 -0
  252. package/dist/utils/platform.d.ts.map +1 -0
  253. package/dist/utils/platform.js +5 -0
  254. package/dist/utils/platform.js.map +1 -0
  255. package/dist/utils/security/rate-limiter.d.ts +3 -0
  256. package/dist/utils/security/rate-limiter.d.ts.map +1 -0
  257. package/dist/utils/security/rate-limiter.js +5 -0
  258. package/dist/utils/security/rate-limiter.js.map +1 -0
  259. package/dist/utils/telemetry/index.d.ts +2 -0
  260. package/dist/utils/telemetry/index.d.ts.map +1 -0
  261. package/dist/utils/telemetry/index.js +2 -0
  262. package/dist/utils/telemetry/index.js.map +1 -0
  263. package/dist/utils/telemetry/tracing.d.ts +3 -0
  264. package/dist/utils/telemetry/tracing.d.ts.map +1 -0
  265. package/dist/utils/telemetry/tracing.js +4 -0
  266. package/dist/utils/telemetry/tracing.js.map +1 -0
  267. package/package.json +55 -0
@@ -0,0 +1,126 @@
1
+ export const tiktokReportingWorkflowPrompt = {
2
+ name: "tiktok_reporting_workflow",
3
+ description: "Guide for submitting and retrieving TikTok Ads async reports with dimensions, metrics, and breakdowns",
4
+ arguments: [
5
+ {
6
+ name: "advertiserId",
7
+ description: "TikTok 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 getTiktokReportingWorkflowMessage(args) {
18
+ const advertiserId = args?.advertiserId || "{advertiserId}";
19
+ const reportLevel = args?.reportLevel || "AUCTION";
20
+ return `# TikTok Reporting Workflow
21
+
22
+ Advertiser: \`${advertiserId}\`
23
+ Report Level: \`${reportLevel}\`
24
+
25
+ ---
26
+
27
+ ## Overview
28
+
29
+ TikTok reports are **async** — \`tiktok_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
+ tiktok_get_report({
37
+ "advertiserId": "${advertiserId}",
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
+ tiktok_get_report({
49
+ "advertiserId": "${advertiserId}",
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
+ tiktok_get_report_breakdowns({
63
+ "advertiserId": "${advertiserId}",
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
+ tiktok_get_report({
76
+ "advertiserId": "${advertiserId}",
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://tiktok\` for full metrics and dimensions list
91
+ - Fetch \`entity-hierarchy://tiktok/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,6BAA6B,GAAW;IACnD,IAAI,EAAE,2BAA2B;IACjC,WAAW,EACT,uGAAuG;IACzG,SAAS,EAAE;QACT;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,sBAAsB;YACnC,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,uDAAuD;YACpE,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,iCAAiC,CAAC,IAA6B;IAC7E,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,gBAAgB,CAAC;IAC5D,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,SAAS,CAAC;IAEnD,OAAO;;gBAEO,YAAY;kBACV,WAAW;;;;;;;;;;;;;;qBAcR,YAAY;;;;;;;;;;;;qBAYZ,YAAY;;;;;;;;;;;;;;qBAcZ,YAAY;;;;;;;;;;;;;qBAaZ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDhC,CAAC;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const tiktokTargetingDiscoveryWorkflowPrompt: Prompt;
3
+ export declare function getTiktokTargetingDiscoveryWorkflowMessage(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,sCAAsC,EAAE,MAiBpD,CAAC;AAEF,wBAAgB,0CAA0C,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAuLhG"}
@@ -0,0 +1,200 @@
1
+ export const tiktokTargetingDiscoveryWorkflowPrompt = {
2
+ name: "tiktok_targeting_discovery_workflow",
3
+ description: "Step-by-step guide for researching TikTok audiences: search geo and ISP targeting tags, browse official targeting metadata, build targeting configs, and estimate audience size before ad group creation.",
4
+ arguments: [
5
+ {
6
+ name: "advertiserId",
7
+ description: "TikTok 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 getTiktokTargetingDiscoveryWorkflowMessage(args) {
18
+ const advertiserId = args?.advertiserId || "{advertiserId}";
19
+ const goal = args?.goal || "search";
20
+ return `# TikTok Targeting Discovery Workflow
21
+
22
+ Advertiser: \`${advertiserId}\`
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 TikTok audience. This workflow helps you discover and validate targeting options.
30
+
31
+ | Tool | Purpose | Use When |
32
+ |------|---------|----------|
33
+ | \`tiktok_search_targeting\` | Search by keyword | You know the audience you want |
34
+ | \`tiktok_get_targeting_options\` | Browse available targeting | You want to explore what's available |
35
+ | \`tiktok_get_audience_estimate\` | Estimate audience size | Before committing to targeting |
36
+
37
+ ---
38
+
39
+ ## Step 1: Search Targeting Options
40
+
41
+ Search for geo targeting tags by keyword:
42
+
43
+ \`\`\`json
44
+ {
45
+ "tool": "tiktok_search_targeting",
46
+ "params": {
47
+ "advertiserId": "${advertiserId}",
48
+ "query": "stockholm",
49
+ "scene": "GEO",
50
+ "placements": ["PLACEMENT_TIKTOK"],
51
+ "objectiveType": "TRAFFIC"
52
+ }
53
+ }
54
+ \`\`\`
55
+
56
+ Each result includes:
57
+ - \`id\` — The targeting ID to use in your ad group
58
+ - \`name\` — Human-readable label
59
+
60
+ ### Key Targeting Types
61
+
62
+ | Targeting Type | What It Searches | Example |
63
+ |----------------|-----------------|---------|
64
+ | \`GEO\` | Geo tags such as regions, postal codes, cities | "stockholm", "new york" |
65
+ | \`ISP\` | Internet service provider targeting tags | "telia", "verizon" |
66
+
67
+ ---
68
+
69
+ ## Step 2: Browse Targeting Categories
70
+
71
+ To explore all available targeting options for your account:
72
+
73
+ \`\`\`json
74
+ {
75
+ "tool": "tiktok_get_targeting_options",
76
+ "params": {
77
+ "advertiserId": "${advertiserId}",
78
+ "optionType": "LANGUAGE"
79
+ }
80
+ }
81
+ \`\`\`
82
+
83
+ Filter by type:
84
+
85
+ \`\`\`json
86
+ {
87
+ "tool": "tiktok_get_targeting_options",
88
+ "params": {
89
+ "advertiserId": "${advertiserId}",
90
+ "optionType": "LOCATION",
91
+ "placements": ["PLACEMENT_TIKTOK"],
92
+ "objectiveType": "TRAFFIC"
93
+ }
94
+ }
95
+ \`\`\`
96
+
97
+ ---
98
+
99
+ ## Step 3: Build Ad Group Targeting
100
+
101
+ Combine your research into an ad group payload:
102
+
103
+ \`\`\`json
104
+ {
105
+ "age": ["AGE_18_24", "AGE_25_34", "AGE_35_44"],
106
+ "gender": ["GENDER_UNLIMITED"],
107
+ "location_ids": ["US", "GB"],
108
+ "interest_keyword_ids": ["123456", "789012"],
109
+ "operating_systems": ["IOS", "ANDROID"],
110
+ "placements": ["PLACEMENT_TIKTOK"],
111
+ "bid_price": 0.5,
112
+ "optimization_goal": "CLICK"
113
+ }
114
+ \`\`\`
115
+
116
+ ### Key Targeting Fields
117
+
118
+ | Field | Type | Description |
119
+ |-------|------|-------------|
120
+ | \`age\` | Array | Age groups: AGE_13_17 through AGE_55_PLUS |
121
+ | \`gender\` | Array | GENDER_MALE, GENDER_FEMALE, GENDER_UNLIMITED |
122
+ | \`location_ids\` | Array | Country codes or location IDs |
123
+ | \`interest_keyword_ids\` | Array | Interest keyword IDs from search |
124
+ | \`operating_systems\` | Array | IOS, ANDROID |
125
+ | \`placements\` | Array | Placement enums such as PLACEMENT_TIKTOK |
126
+ | \`bid_price\` | Number | Bid in account currency |
127
+
128
+ ⚠️ **GOTCHA**: Age group values are enum strings — use exact values like \`AGE_18_24\`, not ranges like \`18-24\`.
129
+
130
+ ⚠️ **GOTCHA**: Location IDs can be country codes (e.g., "US") or numeric IDs for cities/regions — use \`tiktok_search_targeting\` to find valid values.
131
+
132
+ ---
133
+
134
+ ## Step 4: Estimate Audience Size
135
+
136
+ Before creating the ad group, verify your targeting reaches a viable audience:
137
+
138
+ \`\`\`json
139
+ {
140
+ "tool": "tiktok_get_audience_estimate",
141
+ "params": {
142
+ "advertiserId": "${advertiserId}",
143
+ "targetingConfig": {
144
+ "age": ["AGE_18_24", "AGE_25_34"],
145
+ "gender": ["GENDER_UNLIMITED"],
146
+ "location_ids": ["US"],
147
+ "interest_keyword_ids": ["123456"]
148
+ }
149
+ }
150
+ }
151
+ \`\`\`
152
+
153
+ Interpret results:
154
+ - **Too narrow** (< 50K reach) → Broaden age groups or add more interests
155
+ - **Too broad** (> 100M reach) → Add more specific interests or narrow demographics
156
+ - **Sweet spot**: 1M–50M for most TikTok campaigns
157
+
158
+ ---
159
+
160
+ ## Step 5: Apply to Ad Group
161
+
162
+ Use the targeting when creating or updating an ad group:
163
+
164
+ \`\`\`json
165
+ {
166
+ "tool": "tiktok_create_entity",
167
+ "params": {
168
+ "entityType": "adGroup",
169
+ "advertiserId": "${advertiserId}",
170
+ "data": {
171
+ "campaign_id": "{campaignId}",
172
+ "adgroup_name": "US Fitness Enthusiasts 18-34",
173
+ "placements": ["PLACEMENT_TIKTOK"],
174
+ "budget_mode": "BUDGET_MODE_DAY",
175
+ "budget": 50,
176
+ "schedule_type": "SCHEDULE_START_END",
177
+ "schedule_start_time": "2026-03-10 00:00:00",
178
+ "schedule_end_time": "2026-12-31 23:59:59",
179
+ "optimization_goal": "CLICK",
180
+ "bid_price": 0.5,
181
+ "age": ["AGE_18_24", "AGE_25_34"],
182
+ "gender": ["GENDER_UNLIMITED"],
183
+ "location_ids": ["US"],
184
+ "interest_keyword_ids": ["123456"]
185
+ }
186
+ }
187
+ }
188
+ \`\`\`
189
+
190
+ ⚠️ **GOTCHA**: Budget values are in **account currency** — \`budget: 50\` means $50.00.
191
+
192
+ ---
193
+
194
+ ## Related Resources
195
+ - \`reporting-reference://tiktok\` — Reporting metrics and dimensions
196
+ - \`entity-schema://tiktok/adGroup\` — Ad Group fields including all targeting parameters
197
+ - \`entity-examples://tiktok/adGroup\` — Example ad group payloads with targeting
198
+ `;
199
+ }
200
+ //# 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,sCAAsC,GAAW;IAC5D,IAAI,EAAE,qCAAqC;IAC3C,WAAW,EACT,2MAA2M;IAC7M,SAAS,EAAE;QACT;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,sBAAsB;YACnC,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EACT,yHAAyH;YAC3H,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,0CAA0C,CAAC,IAA6B;IACtF,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,gBAAgB,CAAC;IAC5D,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,QAAQ,CAAC;IAEpC,OAAO;;gBAEO,YAAY;UAClB,IAAI;;;;;;;;;;;;;;;;;;;;;;;;uBAwBS,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA8BZ,YAAY;;;;;;;;;;;;uBAYZ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAqDZ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;uBA2BZ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BlC,CAAC;AACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Prompt } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const tiktokToolSchemaExplorationPrompt: Prompt;
3
+ export declare function getTiktokToolSchemaExplorationMessage(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,iCAAiC,EAAE,MAW/C,CAAC;AAEF,wBAAgB,qCAAqC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAiF3F"}
@@ -0,0 +1,93 @@
1
+ export const tiktokToolSchemaExplorationPrompt = {
2
+ name: "tiktok_tool_schema_exploration",
3
+ description: "Guide for discovering and understanding TikTok 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 getTiktokToolSchemaExplorationMessage(args) {
13
+ const objective = args?.objective || "general capability discovery";
14
+ return `# TikTok MCP Tool & Schema Exploration Guide
15
+
16
+ ## Context
17
+ - Server: tiktok-mcp (TikTok Ads Campaign Management)
18
+ - Objective: ${objective}
19
+
20
+ Use this workflow to discover TikTok 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://tiktok/all\` | Entity relationships, API patterns, creation order |
31
+ | \`entity-schema://tiktok/campaign\` | Campaign fields |
32
+ | \`entity-schema://tiktok/adGroup\` | Ad Group fields + targeting |
33
+ | \`entity-schema://tiktok/ad\` | Ad fields |
34
+ | \`entity-schema://tiktok/creative\` | Creative fields |
35
+ | \`entity-examples://tiktok/all\` | All entity examples |
36
+ | \`entity-examples://tiktok/{type}\` | Examples for specific type |
37
+ | \`reporting-reference://tiktok\` | Metrics, dimensions, and breakdown options |
38
+
39
+ ## Tool Categories
40
+
41
+ ### Read Operations
42
+ - \`tiktok_list_advertisers\` — List accessible advertiser accounts
43
+ - \`tiktok_list_entities\` — List entities with page pagination
44
+ - \`tiktok_get_entity\` — Get single entity by ID
45
+
46
+ ### Write Operations
47
+ - \`tiktok_create_entity\` — Create entity
48
+ - \`tiktok_update_entity\` — Update entity fields
49
+ - \`tiktok_delete_entity\` — Delete entities
50
+
51
+ ### Reporting (Async)
52
+ - \`tiktok_get_report\` — Submit async report and download results
53
+ - \`tiktok_get_report_breakdowns\` — Report with breakdown dimensions
54
+
55
+ ### Bulk Operations
56
+ - \`tiktok_bulk_update_status\` — Batch enable/disable/delete entities
57
+ - \`tiktok_bulk_create_entities\` — Batch creation (up to 50)
58
+ - \`tiktok_bulk_update_entities\` — Batch updates (up to 50)
59
+ - \`tiktok_adjust_bids\` — Batch adjust ad group bid prices
60
+
61
+ ### Targeting
62
+ - \`tiktok_search_targeting\` — Search interest categories, behaviors, demographics
63
+ - \`tiktok_get_targeting_options\` — Browse targeting categories
64
+
65
+ ### Specialized
66
+ - \`tiktok_duplicate_entity\` — Copy campaigns, ad groups, ads
67
+ - \`tiktok_get_audience_estimate\` — Audience size estimation
68
+ - \`tiktok_get_ad_preview\` — Ad preview for video/image ads
69
+
70
+ ### Validation
71
+ - \`tiktok_validate_entity\` — Client-side entity validation
72
+
73
+ ## Workflow Prompts
74
+
75
+ | Task | Prompt |
76
+ |------|--------|
77
+ | Create a full campaign structure | \`tiktok_campaign_setup_workflow\` |
78
+ | Research audiences & build targeting | \`tiktok_targeting_discovery_workflow\` |
79
+ | Update entities safely | \`tiktok_entity_update_workflow\` |
80
+ | Duplicate campaigns/ad groups/ads | \`tiktok_entity_duplication_workflow\` |
81
+ | Bulk create/update/status/bids | \`tiktok_bulk_operations_workflow\` |
82
+ | Async reporting & breakdowns | \`tiktok_reporting_workflow\` |
83
+ | Troubleshoot entity issues | \`tiktok_troubleshoot_entity\` |
84
+
85
+ ## Recommended Exploration Order
86
+
87
+ 1. Start with \`tiktok_list_advertisers\` to find your account
88
+ 2. Fetch \`entity-hierarchy://tiktok/all\` for API patterns
89
+ 3. Fetch \`entity-schema://tiktok/{type}\` for field details
90
+ 4. Fetch \`entity-examples://tiktok/{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,iCAAiC,GAAW;IACvD,IAAI,EAAE,gCAAgC;IACtC,WAAW,EAAE,kFAAkF;IAC/F,SAAS,EAAE;QACT;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EACT,0FAA0F;YAC5F,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,qCAAqC,CAAC,IAA6B;IACjF,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 tiktokTroubleshootEntityPrompt: Prompt;
3
+ export declare function getTiktokTroubleshootEntityMessage(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,8BAA8B,EAAE,MAoB5C,CAAC;AAEF,wBAAgB,kCAAkC,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAyFxF"}
@@ -0,0 +1,111 @@
1
+ export const tiktokTroubleshootEntityPrompt = {
2
+ name: "tiktok_troubleshoot_entity",
3
+ description: "Diagnostic workflow for troubleshooting TikTok Ads entity issues",
4
+ arguments: [
5
+ {
6
+ name: "entityType",
7
+ description: "Entity type (campaign, adGroup, ad, creative)",
8
+ required: true,
9
+ },
10
+ {
11
+ name: "entityId",
12
+ description: "Numeric entity ID to troubleshoot",
13
+ required: true,
14
+ },
15
+ {
16
+ name: "advertiserId",
17
+ description: "TikTok Advertiser ID",
18
+ required: true,
19
+ },
20
+ ],
21
+ };
22
+ export function getTiktokTroubleshootEntityMessage(args) {
23
+ const entityType = args?.entityType || "{entityType}";
24
+ const entityId = args?.entityId || "{entityId}";
25
+ const advertiserId = args?.advertiserId || "{advertiserId}";
26
+ return `# TikTok Entity Troubleshoot Workflow
27
+
28
+ ## Target: ${entityType} ${entityId} (Advertiser: ${advertiserId})
29
+
30
+ ## Step 1: Fetch Entity Details
31
+
32
+ \`\`\`json
33
+ tiktok_get_entity({
34
+ "entityType": "${entityType}",
35
+ "advertiserId": "${advertiserId}",
36
+ "entityId": "${entityId}"
37
+ })
38
+ \`\`\`
39
+
40
+ Check: operation_status, primary_status, secondary_status, and any rejection reasons.
41
+
42
+ ## Step 2: Check Recent Performance
43
+
44
+ \`\`\`json
45
+ tiktok_get_report({
46
+ "advertiserId": "${advertiserId}",
47
+ "dimensions": ["campaign_id", "stat_time_day"],
48
+ "metrics": ["impressions", "clicks", "spend", "conversions"],
49
+ "startDate": "2026-02-01",
50
+ "endDate": "2026-03-07"
51
+ })
52
+ \`\`\`
53
+
54
+ ## Step 3: Check Parent Entity
55
+
56
+ If ad group or ad, check parent entity status:
57
+ \`\`\`json
58
+ tiktok_get_entity({
59
+ "entityType": "campaign",
60
+ "advertiserId": "${advertiserId}",
61
+ "entityId": "{parentCampaignId}"
62
+ })
63
+ \`\`\`
64
+
65
+ ## Common Issues
66
+
67
+ | Symptom | Likely Cause | Fix |
68
+ |---------|-------------|-----|
69
+ | No delivery | Entity DISABLED | Use \`tiktok_bulk_update_status\` with operationStatus: "ENABLE" |
70
+ | No delivery, ENABLE | Parent disabled | Enable parent campaign or ad group |
71
+ | No delivery, all ENABLE | Budget exhausted | Increase budget |
72
+ | No delivery, budget OK | Targeting too narrow | Check audience estimate |
73
+ | Ad under review | TikTok ad review in progress | Allow 24-48h for review |
74
+ | Ad rejected | Policy violation | Review TikTok creative guidelines |
75
+ | Video not playing | Video upload incomplete | Check video status in Creative Library |
76
+ | Low reach | Targeting too narrow | Broaden age, interests, or geos |
77
+
78
+ ## Step 4: Audience Estimate
79
+
80
+ \`\`\`json
81
+ tiktok_get_audience_estimate({
82
+ "advertiserId": "${advertiserId}",
83
+ "targetingConfig": { ... targeting from adGroup ... }
84
+ })
85
+ \`\`\`
86
+
87
+ ## Step 5: Validate Entity Payload
88
+
89
+ \`\`\`json
90
+ tiktok_validate_entity({
91
+ "entityType": "${entityType}",
92
+ "mode": "update",
93
+ "data": { ... current entity data ... }
94
+ })
95
+ \`\`\`
96
+
97
+ ## Status Update Tool
98
+
99
+ TikTok uses a separate status endpoint — do NOT use \`tiktok_update_entity\` for status changes:
100
+
101
+ \`\`\`json
102
+ tiktok_bulk_update_status({
103
+ "entityType": "${entityType}",
104
+ "advertiserId": "${advertiserId}",
105
+ "entityIds": ["${entityId}"],
106
+ "operationStatus": "ENABLE"
107
+ })
108
+ \`\`\`
109
+ `;
110
+ }
111
+ //# 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,8BAA8B,GAAW;IACpD,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,kEAAkE;IAC/E,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,mCAAmC;YAChD,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,sBAAsB;YACnC,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF,MAAM,UAAU,kCAAkC,CAAC,IAA6B;IAC9E,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,cAAc,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,YAAY,CAAC;IAChD,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,gBAAgB,CAAC;IAE5D,OAAO;;aAEI,UAAU,IAAI,QAAQ,iBAAiB,YAAY;;;;;;mBAM7C,UAAU;qBACR,YAAY;iBAChB,QAAQ;;;;;;;;;;qBAUJ,YAAY;;;;;;;;;;;;;;qBAcZ,YAAY;;;;;;;;;;;;;;;;;;;;;;qBAsBZ,YAAY;;;;;;;;;mBASd,UAAU;;;;;;;;;;;;mBAYV,UAAU;qBACR,YAAY;mBACd,QAAQ;;;;CAI1B,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"}