@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,97 @@
1
+ import { campaignSetupWorkflowPrompt, getCampaignSetupWorkflowMessage, } from "./definitions/campaign-setup-workflow.prompt.js";
2
+ import { bulkOperationsWorkflowPrompt, getBulkOperationsWorkflowMessage, } from "./definitions/bulk-operations-workflow.prompt.js";
3
+ import { tiktokToolSchemaExplorationPrompt, getTiktokToolSchemaExplorationMessage, } from "./definitions/tool-schema-exploration.prompt.js";
4
+ import { tiktokTroubleshootEntityPrompt, getTiktokTroubleshootEntityMessage, } from "./definitions/troubleshoot-entity.prompt.js";
5
+ import { tiktokReportingWorkflowPrompt, getTiktokReportingWorkflowMessage, } from "./definitions/reporting-workflow.prompt.js";
6
+ import { tiktokEntityUpdateWorkflowPrompt, getTiktokEntityUpdateWorkflowMessage, } from "./definitions/entity-update-workflow.prompt.js";
7
+ import { tiktokTargetingDiscoveryWorkflowPrompt, getTiktokTargetingDiscoveryWorkflowMessage, } from "./definitions/targeting-discovery-workflow.prompt.js";
8
+ import { tiktokEntityDuplicationWorkflowPrompt, getTiktokEntityDuplicationWorkflowMessage, } from "./definitions/entity-duplication-workflow.prompt.js";
9
+ import { crossPlatformPerformancePrompt, getCrossPlatformPerformanceMessage, } from "./definitions/cross-platform-performance.prompt.js";
10
+ import { crossPlatformCampaignSetupPrompt, getCrossPlatformCampaignSetupMessage, } from "./definitions/cross-platform-campaign-setup.prompt.js";
11
+ import { tiktokCreativeUploadWorkflowPrompt, getTiktokCreativeUploadWorkflowMessage, } from "./definitions/creative-upload-workflow.prompt.js";
12
+ export const promptRegistry = new Map([
13
+ [
14
+ campaignSetupWorkflowPrompt.name,
15
+ {
16
+ prompt: campaignSetupWorkflowPrompt,
17
+ generateMessage: getCampaignSetupWorkflowMessage,
18
+ },
19
+ ],
20
+ [
21
+ bulkOperationsWorkflowPrompt.name,
22
+ {
23
+ prompt: bulkOperationsWorkflowPrompt,
24
+ generateMessage: getBulkOperationsWorkflowMessage,
25
+ },
26
+ ],
27
+ [
28
+ tiktokToolSchemaExplorationPrompt.name,
29
+ {
30
+ prompt: tiktokToolSchemaExplorationPrompt,
31
+ generateMessage: getTiktokToolSchemaExplorationMessage,
32
+ },
33
+ ],
34
+ [
35
+ tiktokTroubleshootEntityPrompt.name,
36
+ {
37
+ prompt: tiktokTroubleshootEntityPrompt,
38
+ generateMessage: getTiktokTroubleshootEntityMessage,
39
+ },
40
+ ],
41
+ [
42
+ tiktokReportingWorkflowPrompt.name,
43
+ {
44
+ prompt: tiktokReportingWorkflowPrompt,
45
+ generateMessage: getTiktokReportingWorkflowMessage,
46
+ },
47
+ ],
48
+ [
49
+ tiktokEntityUpdateWorkflowPrompt.name,
50
+ {
51
+ prompt: tiktokEntityUpdateWorkflowPrompt,
52
+ generateMessage: getTiktokEntityUpdateWorkflowMessage,
53
+ },
54
+ ],
55
+ [
56
+ tiktokTargetingDiscoveryWorkflowPrompt.name,
57
+ {
58
+ prompt: tiktokTargetingDiscoveryWorkflowPrompt,
59
+ generateMessage: getTiktokTargetingDiscoveryWorkflowMessage,
60
+ },
61
+ ],
62
+ [
63
+ tiktokEntityDuplicationWorkflowPrompt.name,
64
+ {
65
+ prompt: tiktokEntityDuplicationWorkflowPrompt,
66
+ generateMessage: getTiktokEntityDuplicationWorkflowMessage,
67
+ },
68
+ ],
69
+ [
70
+ crossPlatformPerformancePrompt.name,
71
+ {
72
+ prompt: crossPlatformPerformancePrompt,
73
+ generateMessage: getCrossPlatformPerformanceMessage,
74
+ },
75
+ ],
76
+ [
77
+ crossPlatformCampaignSetupPrompt.name,
78
+ {
79
+ prompt: crossPlatformCampaignSetupPrompt,
80
+ generateMessage: getCrossPlatformCampaignSetupMessage,
81
+ },
82
+ ],
83
+ [
84
+ tiktokCreativeUploadWorkflowPrompt.name,
85
+ {
86
+ prompt: tiktokCreativeUploadWorkflowPrompt,
87
+ generateMessage: getTiktokCreativeUploadWorkflowMessage,
88
+ },
89
+ ],
90
+ ]);
91
+ export function getAllPrompts() {
92
+ return Array.from(promptRegistry.values()).map((def) => def.prompt);
93
+ }
94
+ export function getPromptDefinition(name) {
95
+ return promptRegistry.get(name);
96
+ }
97
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-server/prompts/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EACL,iCAAiC,EACjC,qCAAqC,GACtC,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,GACnC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,sCAAsC,EACtC,0CAA0C,GAC3C,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EACL,qCAAqC,EACrC,yCAAyC,GAC1C,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,GACnC,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EACL,gCAAgC,EAChC,oCAAoC,GACrC,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EACL,kCAAkC,EAClC,sCAAsC,GACvC,MAAM,kDAAkD,CAAC;AAO1D,MAAM,CAAC,MAAM,cAAc,GAAkC,IAAI,GAAG,CAAC;IACnE;QACE,2BAA2B,CAAC,IAAI;QAChC;YACE,MAAM,EAAE,2BAA2B;YACnC,eAAe,EAAE,+BAA+B;SACjD;KACF;IACD;QACE,4BAA4B,CAAC,IAAI;QACjC;YACE,MAAM,EAAE,4BAA4B;YACpC,eAAe,EAAE,gCAAgC;SAClD;KACF;IACD;QACE,iCAAiC,CAAC,IAAI;QACtC;YACE,MAAM,EAAE,iCAAiC;YACzC,eAAe,EAAE,qCAAqC;SACvD;KACF;IACD;QACE,8BAA8B,CAAC,IAAI;QACnC;YACE,MAAM,EAAE,8BAA8B;YACtC,eAAe,EAAE,kCAAkC;SACpD;KACF;IACD;QACE,6BAA6B,CAAC,IAAI;QAClC;YACE,MAAM,EAAE,6BAA6B;YACrC,eAAe,EAAE,iCAAiC;SACnD;KACF;IACD;QACE,gCAAgC,CAAC,IAAI;QACrC;YACE,MAAM,EAAE,gCAAgC;YACxC,eAAe,EAAE,oCAAoC;SACtD;KACF;IACD;QACE,sCAAsC,CAAC,IAAI;QAC3C;YACE,MAAM,EAAE,sCAAsC;YAC9C,eAAe,EAAE,0CAA0C;SAC5D;KACF;IACD;QACE,qCAAqC,CAAC,IAAI;QAC1C;YACE,MAAM,EAAE,qCAAqC;YAC7C,eAAe,EAAE,yCAAyC;SAC3D;KACF;IACD;QACE,8BAA8B,CAAC,IAAI;QACnC;YACE,MAAM,EAAE,8BAA8B;YACtC,eAAe,EAAE,kCAAkC;SACpD;KACF;IACD;QACE,gCAAgC,CAAC,IAAI;QACrC;YACE,MAAM,EAAE,gCAAgC;YACxC,eAAe,EAAE,oCAAoC;SACtD;KACF;IACD;QACE,kCAAkC,CAAC,IAAI;QACvC;YACE,MAAM,EAAE,kCAAkC;YAC1C,eAAe,EAAE,sCAAsC;SACxD;KACF;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Resource } from "../types.js";
2
+ export declare const entityExampleResources: Resource[];
3
+ export declare const entityExampleAllResource: Resource;
4
+ //# sourceMappingURL=entity-examples.resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-examples.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity-examples.resource.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAgL5C,eAAO,MAAM,sBAAsB,EAAE,QAAQ,EAQ1C,CAAC;AAEJ,eAAO,MAAM,wBAAwB,EAAE,QAMtC,CAAC"}
@@ -0,0 +1,182 @@
1
+ import { getSupportedEntityTypes, } from "../../tools/utils/entity-mapping.js";
2
+ const ENTITY_EXAMPLE_CONTENT = {
3
+ campaign: `# TikTok Campaign Examples
4
+
5
+ ## Create a Traffic Campaign (daily budget)
6
+ \`\`\`json
7
+ {
8
+ "entityType": "campaign",
9
+ "advertiserId": "1234567890",
10
+ "data": {
11
+ "campaign_name": "Summer Sale 2026 - Traffic",
12
+ "objective_type": "TRAFFIC",
13
+ "budget_mode": "BUDGET_MODE_DAY",
14
+ "budget": 100
15
+ }
16
+ }
17
+ \`\`\`
18
+
19
+ ## Create an App Install Campaign (lifetime budget)
20
+ \`\`\`json
21
+ {
22
+ "entityType": "campaign",
23
+ "advertiserId": "1234567890",
24
+ "data": {
25
+ "campaign_name": "App Install Q1 2026",
26
+ "objective_type": "APP_PROMOTION",
27
+ "budget_mode": "BUDGET_MODE_TOTAL",
28
+ "budget": 5000,
29
+ "app_promotion_type": "APP_INSTALL"
30
+ }
31
+ }
32
+ \`\`\`
33
+
34
+ ## Update Campaign Budget
35
+ \`\`\`json
36
+ {
37
+ "entityType": "campaign",
38
+ "advertiserId": "1234567890",
39
+ "entityId": "1800123456789",
40
+ "data": {
41
+ "budget": 200
42
+ }
43
+ }
44
+ \`\`\`
45
+ `,
46
+ adGroup: `# TikTok Ad Group Examples
47
+
48
+ ## Create an Ad Group with Interest Targeting
49
+ \`\`\`json
50
+ {
51
+ "entityType": "adGroup",
52
+ "advertiserId": "1234567890",
53
+ "data": {
54
+ "campaign_id": "1800123456789",
55
+ "adgroup_name": "US Gaming 18-34",
56
+ "placements": ["PLACEMENT_TIKTOK"],
57
+ "budget_mode": "BUDGET_MODE_DAY",
58
+ "budget": 50,
59
+ "schedule_type": "SCHEDULE_START_END",
60
+ "pacing": "PACING_MODE_SMOOTH",
61
+ "schedule_start_time": "2026-03-01 00:00:00",
62
+ "schedule_end_time": "2026-03-31 23:59:59",
63
+ "optimization_goal": "CLICK",
64
+ "bid_price": 0.5,
65
+ "age": ["AGE_18_24", "AGE_25_34"],
66
+ "gender": ["GENDER_UNLIMITED"],
67
+ "location_ids": ["US"],
68
+ "interest_category_ids": ["123456789"]
69
+ }
70
+ }
71
+ \`\`\`
72
+
73
+ ## Create an Always-On Ad Group (no schedule end)
74
+ \`\`\`json
75
+ {
76
+ "entityType": "adGroup",
77
+ "advertiserId": "1234567890",
78
+ "data": {
79
+ "campaign_id": "1800123456789",
80
+ "adgroup_name": "Retargeting - Website Visitors",
81
+ "placements": ["PLACEMENT_TIKTOK"],
82
+ "budget_mode": "BUDGET_MODE_DAY",
83
+ "budget": 30,
84
+ "schedule_type": "SCHEDULE_ALWAYS",
85
+ "optimization_goal": "CLICK"
86
+ }
87
+ }
88
+ \`\`\`
89
+ `,
90
+ ad: `# TikTok Ad Examples
91
+
92
+ ## Create a Single Video Ad
93
+ \`\`\`json
94
+ {
95
+ "entityType": "ad",
96
+ "advertiserId": "1234567890",
97
+ "data": {
98
+ "adgroup_id": "1700123456789",
99
+ "creatives": [
100
+ {
101
+ "ad_name": "Summer Sale Video Ad",
102
+ "video_id": "v0200fg10000cekdqpbc77ue1tvq1ns0",
103
+ "call_to_action": "SHOP_NOW",
104
+ "landing_page_url": "https://example.com/summer-sale"
105
+ }
106
+ ]
107
+ }
108
+ }
109
+ \`\`\`
110
+
111
+ ## Create a Single Image Ad
112
+ \`\`\`json
113
+ {
114
+ "entityType": "ad",
115
+ "advertiserId": "1234567890",
116
+ "data": {
117
+ "adgroup_id": "1700123456789",
118
+ "creatives": [
119
+ {
120
+ "ad_name": "Product Banner Ad",
121
+ "image_ids": ["imt0000100000011abc123"],
122
+ "call_to_action": "LEARN_MORE",
123
+ "landing_page_url": "https://example.com/new-arrivals"
124
+ }
125
+ ]
126
+ }
127
+ }
128
+ \`\`\`
129
+ `,
130
+ creative: `# TikTok Creative Examples
131
+
132
+ ## Create a Video Creative
133
+ \`\`\`json
134
+ {
135
+ "entityType": "creative",
136
+ "advertiserId": "1234567890",
137
+ "data": {
138
+ "display_name": "Summer Sale Video Creative",
139
+ "video_id": "v0200fg10000cekdqpbc77ue1tvq1ns0",
140
+ "ad_text": "Shop the Summer Sale — 50% off!",
141
+ "call_to_action": "SHOP_NOW",
142
+ "landing_page_url": "https://example.com/sale"
143
+ }
144
+ }
145
+ \`\`\`
146
+
147
+ ## Create an Image Creative
148
+ \`\`\`json
149
+ {
150
+ "entityType": "creative",
151
+ "advertiserId": "1234567890",
152
+ "data": {
153
+ "display_name": "Product Banner Creative",
154
+ "image_ids": ["imt0000100000011abc123"],
155
+ "ad_text": "New arrivals every week",
156
+ "call_to_action": "LEARN_MORE"
157
+ }
158
+ }
159
+ \`\`\`
160
+ `,
161
+ };
162
+ function buildAllExamplesMarkdown() {
163
+ return getSupportedEntityTypes()
164
+ .map((t) => ENTITY_EXAMPLE_CONTENT[t])
165
+ .join("\n\n---\n\n");
166
+ }
167
+ export const entityExampleResources = getSupportedEntityTypes().map((entityType) => ({
168
+ uri: `entity-examples://tiktok/${entityType}`,
169
+ name: `TikTok ${entityType} Examples`,
170
+ description: `Example payloads for creating and updating TikTok ${entityType} entities`,
171
+ mimeType: "text/markdown",
172
+ getContent: () => ENTITY_EXAMPLE_CONTENT[entityType] ??
173
+ `# TikTok ${entityType} Examples\n\nNo examples available.\n`,
174
+ }));
175
+ export const entityExampleAllResource = {
176
+ uri: "entity-examples://tiktok/all",
177
+ name: "TikTok All Entity Examples",
178
+ description: "Combined example payloads for all TikTok Ads entity types",
179
+ mimeType: "text/markdown",
180
+ getContent: buildAllExamplesMarkdown,
181
+ };
182
+ //# sourceMappingURL=entity-examples.resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-examples.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity-examples.resource.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,uBAAuB,GAExB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,sBAAsB,GAAqC;IAC/D,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CX;IAEC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CV;IAEC,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCL;IAEC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BX;CACA,CAAC;AAEF,SAAS,wBAAwB;IAC/B,OAAO,uBAAuB,EAAE;SAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;SACrC,IAAI,CAAC,aAAa,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAe,uBAAuB,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC/F,GAAG,EAAE,4BAA4B,UAAU,EAAE;IAC7C,IAAI,EAAE,UAAU,UAAU,WAAW;IACrC,WAAW,EAAE,qDAAqD,UAAU,WAAW;IACvF,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,GAAG,EAAE,CACf,sBAAsB,CAAC,UAAU,CAAC;QAClC,YAAY,UAAU,uCAAuC;CAChE,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,wBAAwB,GAAa;IAChD,GAAG,EAAE,8BAA8B;IACnC,IAAI,EAAE,4BAA4B;IAClC,WAAW,EAAE,2DAA2D;IACxE,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,wBAAwB;CACrC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Resource } from "../types.js";
2
+ export declare const entityHierarchyResource: Resource;
3
+ //# sourceMappingURL=entity-hierarchy.resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-hierarchy.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity-hierarchy.resource.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA4I5C,eAAO,MAAM,uBAAuB,EAAE,QAUrC,CAAC"}
@@ -0,0 +1,147 @@
1
+ let cachedContent;
2
+ function formatEntityHierarchyMarkdown() {
3
+ return `# TikTok Ads Entity Hierarchy
4
+
5
+ ## Relationship Diagram
6
+
7
+ \`\`\`
8
+ Advertiser (advertiser_id: XXXXXXXXXX)
9
+ ├── Campaign (campaign_id)
10
+ │ └── Ad Group (adgroup_id)
11
+ │ └── Ad (ad_id) ← references Creative
12
+ └── Creative (creative_id, reusable across ads)
13
+ \`\`\`
14
+
15
+ ## Entity Types (4 total)
16
+
17
+ | Entity Type | List Endpoint | Create Endpoint | ID Field |
18
+ |-------------|---------------|-----------------|----------|
19
+ | **campaign** | \`/open_api/v1.3/campaign/get/\` | \`/open_api/v1.3/campaign/create/\` | campaign_id |
20
+ | **adGroup** | \`/open_api/v1.3/adgroup/get/\` | \`/open_api/v1.3/adgroup/create/\` | adgroup_id |
21
+ | **ad** | \`/open_api/v1.3/ad/get/\` | \`/open_api/v1.3/ad/create/\` | ad_id |
22
+ | **creative** | \`/open_api/v1.3/creative/adcreative/get/\` | \`/open_api/v1.3/creative/adcreative/create/\` | creative_id |
23
+
24
+ ## Key Relationships
25
+
26
+ ### Core Hierarchy: Advertiser → Campaign → Ad Group → Ad
27
+ - A campaign has one or more ad groups.
28
+ - An ad group has one or more ads.
29
+ - An ad references creative assets (video_id or image_ids).
30
+
31
+ ### Reusable Entities
32
+ - **Creatives** can be referenced by multiple ads within the same advertiser.
33
+
34
+ ## Creation Order
35
+
36
+ Full campaign structure (top-down):
37
+
38
+ 1. **Advertiser** — pre-exists; discover with \`tiktok_list_advertisers\`
39
+ 2. **Creative(s)** — optional; can upload via Creative Library or reference video/image IDs
40
+ 3. **Campaign** — requires \`campaign_name\`, \`objective_type\`, \`budget_mode\`, \`budget\`
41
+ 4. **Ad Group(s)** — requires \`campaign_id\`, \`adgroup_name\`, plus objective-dependent delivery fields
42
+ 5. **Ad(s)** — requires \`adgroup_id\` and \`creatives\`
43
+
44
+ ## TikTok API Patterns
45
+
46
+ ### Read: GET with advertiser_id in query params
47
+ \`\`\`
48
+ GET /open_api/v1.3/campaign/get/?advertiser_id=123&page=1&page_size=10
49
+ Authorization: Bearer <token>
50
+ \`\`\`
51
+
52
+ ### Create: POST with advertiser_id in JSON body
53
+ \`\`\`
54
+ POST /open_api/v1.3/campaign/create/
55
+ { "advertiser_id": "123", "campaign_name": "...", ... }
56
+ \`\`\`
57
+
58
+ ### Update: POST with entity ID + advertiser_id in JSON body
59
+ \`\`\`
60
+ POST /open_api/v1.3/campaign/update/
61
+ { "advertiser_id": "123", "campaign_id": "456", "budget": 200 }
62
+ \`\`\`
63
+
64
+ ### Status Update: Separate endpoint, POST with IDs array
65
+ \`\`\`
66
+ POST /open_api/v1.3/campaign/status/update/
67
+ { "advertiser_id": "123", "campaign_ids": ["456", "789"], "operation_status": "DISABLE" }
68
+ \`\`\`
69
+
70
+ ### Delete: Separate endpoint, POST with IDs array
71
+ \`\`\`
72
+ POST /open_api/v1.3/campaign/delete/
73
+ { "advertiser_id": "123", "campaign_ids": ["456"] }
74
+ \`\`\`
75
+
76
+ ### Response Shape
77
+ All TikTok API responses follow this structure:
78
+ \`\`\`json
79
+ {
80
+ "code": 0,
81
+ "message": "OK",
82
+ "data": { "list": [...], "page_info": { "page": 1, "page_size": 10, "total_number": 100, "total_page": 10 } }
83
+ }
84
+ \`\`\`
85
+ - \`code: 0\` = success
86
+ - \`code != 0\` = error (check \`message\` for details)
87
+
88
+ ## Pagination
89
+
90
+ TikTok uses page-based pagination (NOT cursor-based):
91
+ - \`page\` — page number (1-based)
92
+ - \`page_size\` — items per page (max 1000 for some endpoints)
93
+ - Response: \`page_info.total_page\` shows total pages
94
+
95
+ ## Available Tools Summary
96
+
97
+ | Tool | Purpose | Batch? |
98
+ |------|---------|--------|
99
+ | \`tiktok_list_entities\` | List entities with filters | |
100
+ | \`tiktok_get_entity\` | Get single entity | |
101
+ | \`tiktok_create_entity\` | Create single entity | |
102
+ | \`tiktok_update_entity\` | Update single entity | |
103
+ | \`tiktok_delete_entity\` | Delete entities | ✓ |
104
+ | \`tiktok_list_advertisers\` | List accessible advertisers | |
105
+ | \`tiktok_get_report\` | Async report with polling | |
106
+ | \`tiktok_get_report_breakdowns\` | Report with breakdown dimensions | |
107
+ | \`tiktok_bulk_update_status\` | Batch status update | ✓ |
108
+ | \`tiktok_bulk_create_entities\` | Batch entity creation | ✓ |
109
+ | \`tiktok_bulk_update_entities\` | Batch entity updates | ✓ |
110
+ | \`tiktok_adjust_bids\` | Batch bid adjustment | ✓ |
111
+ | \`tiktok_search_targeting\` | Search targeting options | |
112
+ | \`tiktok_get_targeting_options\` | Browse targeting categories | |
113
+ | \`tiktok_duplicate_entity\` | Duplicate campaign/adGroup/ad | |
114
+ | \`tiktok_get_audience_estimate\` | Audience size estimation | |
115
+ | \`tiktok_get_ad_preview\` | Ad preview data | |
116
+ | \`tiktok_validate_entity\` | Client-side payload validation | |
117
+
118
+ ## Budget Notes
119
+
120
+ - Budget values are in the advertiser's account currency (no cents conversion)
121
+ - \`budget_mode\`: BUDGET_MODE_DAY (daily) or BUDGET_MODE_TOTAL (lifetime)
122
+ - Minimum budget varies by objective and market
123
+
124
+ ## Campaign Objectives
125
+
126
+ | Objective | Use Case |
127
+ |-----------|----------|
128
+ | TRAFFIC | Drive website/app traffic |
129
+ | APP_PROMOTION | Drive app installs or re-engagement |
130
+ | WEB_CONVERSIONS | Optimize for website conversion events |
131
+ | ENGAGEMENT | Community and engagement-focused delivery |
132
+ | VIDEO_VIEWS | Maximize video plays |
133
+ | LEAD_GENERATION | In-app lead forms |
134
+ | PRODUCT_SALES | Dynamic product ads |
135
+ `;
136
+ }
137
+ export const entityHierarchyResource = {
138
+ uri: "entity-hierarchy://tiktok/all",
139
+ name: "TikTok Entity Hierarchy",
140
+ description: "Parent-child relationships between TikTok Ads entities, API patterns, and creation ordering",
141
+ mimeType: "text/markdown",
142
+ getContent: () => {
143
+ cachedContent ??= formatEntityHierarchyMarkdown();
144
+ return cachedContent;
145
+ },
146
+ };
147
+ //# sourceMappingURL=entity-hierarchy.resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-hierarchy.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity-hierarchy.resource.ts"],"names":[],"mappings":"AAQA,IAAI,aAAiC,CAAC;AAEtC,SAAS,6BAA6B;IACpC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoIR,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAa;IAC/C,GAAG,EAAE,+BAA+B;IACpC,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EACT,6FAA6F;IAC/F,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,GAAG,EAAE;QACf,aAAa,KAAK,6BAA6B,EAAE,CAAC;QAClD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Resource } from "../types.js";
2
+ export declare const entitySchemaResources: Resource[];
3
+ export declare const entitySchemaAllResource: Resource;
4
+ //# sourceMappingURL=entity-schemas.resource.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-schemas.resource.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity-schemas.resource.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAqI5C,eAAO,MAAM,qBAAqB,EAAE,QAAQ,EAMzC,CAAC;AAEJ,eAAO,MAAM,uBAAuB,EAAE,QAMrC,CAAC"}
@@ -0,0 +1,135 @@
1
+ import { getSupportedEntityTypes, } from "../../tools/utils/entity-mapping.js";
2
+ const ENTITY_SCHEMA_CONTENT = {
3
+ campaign: `# TikTok Campaign Fields
4
+
5
+ ## Required Fields (create)
6
+ | Field | Type | Description |
7
+ |-------|------|-------------|
8
+ | campaign_name | string | Campaign display name (max 512 chars) |
9
+ | objective_type | string | Campaign objective such as TRAFFIC, APP_PROMOTION, WEB_CONVERSIONS, VIDEO_VIEWS, LEAD_GENERATION |
10
+
11
+ ## Optional Fields
12
+ | Field | Type | Description |
13
+ |-------|------|-------------|
14
+ | operation_status | string | ENABLE or DISABLE |
15
+ | budget_mode | string | BUDGET_MODE_DAY (daily) or BUDGET_MODE_TOTAL (lifetime) |
16
+ | budget | number | Budget in account currency |
17
+ | roas_bid | number | Target ROAS (for ROAS optimization) |
18
+ | is_smart_performance_campaign | boolean | Enable smart performance campaign |
19
+ | app_promotion_type | string | App-promotion mode for APP_PROMOTION campaigns |
20
+
21
+ ## Read-Only Fields
22
+ campaign_id, create_time, modify_time, advertiser_id
23
+ `,
24
+ adGroup: `# TikTok Ad Group Fields
25
+
26
+ ## Required Fields (create)
27
+ | Field | Type | Description |
28
+ |-------|------|-------------|
29
+ | campaign_id | string | Parent campaign ID |
30
+ | adgroup_name | string | Ad group display name |
31
+ | placements | array | Placement enums such as PLACEMENT_TIKTOK |
32
+ | schedule_type | string | Schedule mode when required by TikTok |
33
+ | pacing | string | Pacing mode when required by TikTok |
34
+
35
+ ## Optional Fields
36
+ | Field | Type | Description |
37
+ |-------|------|-------------|
38
+ | budget_mode | string | BUDGET_MODE_DAY or BUDGET_MODE_TOTAL |
39
+ | budget | number | Budget in account currency |
40
+ | schedule_start_time | string | Start time (YYYY-MM-DD HH:mm:ss) — required if schedule_type=SCHEDULE_START_END |
41
+ | schedule_end_time | string | End time (YYYY-MM-DD HH:mm:ss) |
42
+ | bid_price | number | Bid price in account currency |
43
+ | optimization_goal | string | Optimization goal such as CLICK or APP_INSTALL |
44
+ | billing_event | string | Billing event such as CPC, CPM, OCPM |
45
+ | age | array | Age ranges: AGE_13_17, AGE_18_24, AGE_25_34, AGE_35_44, AGE_45_54, AGE_55_100 |
46
+ | gender | array | GENDER_UNLIMITED, GENDER_MALE, GENDER_FEMALE |
47
+ | location_ids | array | Array of location IDs (country codes or region IDs) |
48
+ | interest_category_ids | array | Interest category IDs |
49
+ | languages | array | Language codes (e.g., ["en", "zh"]) |
50
+ | placements | array | Specific placement IDs |
51
+ | device_platforms | array | DESKTOP or MOBILE |
52
+ | operating_systems | array | IOS or ANDROID |
53
+
54
+ ## Read-Only Fields
55
+ adgroup_id, campaign_id (inherited), create_time, modify_time
56
+ `,
57
+ ad: `# TikTok Ad Fields
58
+
59
+ ## Required Fields (create)
60
+ | Field | Type | Description |
61
+ |-------|------|-------------|
62
+ | adgroup_id | string | Parent ad group ID |
63
+ | creatives | array | TikTok creatives array payload required by AdCreateBody |
64
+
65
+ ## Common Creative Fields
66
+ | Field | Type | Description |
67
+ |-------|------|-------------|
68
+ | creatives[].ad_name | string | Ad display name |
69
+ | creatives[].video_id | string | Video ID from TikTok Creative Library |
70
+ | creatives[].image_ids | array | Array of image IDs (for image-based ads) |
71
+
72
+ ## Optional Creative Fields
73
+ | Field | Type | Description |
74
+ |-------|------|-------------|
75
+ | ad_text | string | Ad copy text (max 100 chars) |
76
+ | app_name | string | App name shown in the ad |
77
+ | landing_page_url | string | Destination URL |
78
+ | display_name | string | Display brand name |
79
+ | profile_image_url | string | Brand profile image URL |
80
+ | call_to_action | string | CTA text: LEARN_MORE, SHOP_NOW, DOWNLOAD, SIGN_UP, etc. |
81
+ | patch_update | boolean | Optional partial-update behavior on update |
82
+
83
+ ## Read-Only Fields
84
+ ad_id, adgroup_id (inherited), create_time, modify_time
85
+ `,
86
+ creative: `# TikTok Creative Fields
87
+
88
+ ## Required Fields (create)
89
+ | Field | Type | Description |
90
+ |-------|------|-------------|
91
+ | display_name | string | Creative display name |
92
+
93
+ ## Creative Asset Fields (provide at least one)
94
+ | Field | Type | Description |
95
+ |-------|------|-------------|
96
+ | video_id | string | Video asset ID from Creative Library |
97
+ | image_ids | array | Array of image asset IDs |
98
+
99
+ ## Optional Fields
100
+ | Field | Type | Description |
101
+ |-------|------|-------------|
102
+ | ad_text | string | Ad copy text |
103
+ | call_to_action | string | CTA: LEARN_MORE, SHOP_NOW, DOWNLOAD, etc. |
104
+ | landing_page_url | string | Destination URL |
105
+ | profile_image_url | string | Brand profile image |
106
+ | app_name | string | App name for app install ads |
107
+
108
+ ## Read-Only Fields
109
+ creative_id, advertiser_id, created_time
110
+ `,
111
+ };
112
+ function buildEntitySchemaMarkdown(entityType) {
113
+ return (ENTITY_SCHEMA_CONTENT[entityType] ??
114
+ `# TikTok ${entityType}\n\nNo schema information available.\n`);
115
+ }
116
+ function buildAllSchemasMarkdown() {
117
+ return getSupportedEntityTypes()
118
+ .map((t) => ENTITY_SCHEMA_CONTENT[t])
119
+ .join("\n\n---\n\n");
120
+ }
121
+ export const entitySchemaResources = getSupportedEntityTypes().map((entityType) => ({
122
+ uri: `entity-schema://tiktok/${entityType}`,
123
+ name: `TikTok ${entityType} Schema`,
124
+ description: `Field reference for TikTok ${entityType} entity including required fields, optional fields, and read-only fields`,
125
+ mimeType: "text/markdown",
126
+ getContent: () => buildEntitySchemaMarkdown(entityType),
127
+ }));
128
+ export const entitySchemaAllResource = {
129
+ uri: "entity-schema://tiktok/all",
130
+ name: "TikTok All Entity Schemas",
131
+ description: "Combined field reference for all TikTok Ads entity types",
132
+ mimeType: "text/markdown",
133
+ getContent: buildAllSchemasMarkdown,
134
+ };
135
+ //# sourceMappingURL=entity-schemas.resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-schemas.resource.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/entity-schemas.resource.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,uBAAuB,GAExB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,qBAAqB,GAAqC;IAC9D,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;CAoBX;IAEC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCV;IAEC,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BL;IAEC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBX;CACA,CAAC;AAEF,SAAS,yBAAyB,CAAC,UAA4B;IAC7D,OAAO,CACL,qBAAqB,CAAC,UAAU,CAAC;QACjC,YAAY,UAAU,wCAAwC,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO,uBAAuB,EAAE;SAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;SACpC,IAAI,CAAC,aAAa,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAe,uBAAuB,EAAE,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC9F,GAAG,EAAE,0BAA0B,UAAU,EAAE;IAC3C,IAAI,EAAE,UAAU,UAAU,SAAS;IACnC,WAAW,EAAE,8BAA8B,UAAU,0EAA0E;IAC/H,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,UAAU,CAAC;CACxD,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,uBAAuB,GAAa;IAC/C,GAAG,EAAE,4BAA4B;IACjC,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,0DAA0D;IACvE,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,uBAAuB;CACpC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { entityHierarchyResource } from "./entity-hierarchy.resource.js";
2
+ export { entitySchemaResources, entitySchemaAllResource } from "./entity-schemas.resource.js";
3
+ export { entityExampleResources, entityExampleAllResource } from "./entity-examples.resource.js";
4
+ export { reportingReferenceResource } from "./reporting-reference.resource.js";
5
+ export { targetingReferenceResource } from "./targeting-reference.resource.js";
6
+ import type { Resource } from "../types.js";
7
+ export declare const allResources: Resource[];
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/definitions/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAS/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA6D5C,eAAO,MAAM,YAAY,EAAE,QAAQ,EAUlC,CAAC"}