AdKit — Ads MCP

Run ad campaigns and browse ad libraries on Meta, Google, and TikTok — directly from AI coding agents like Claude, Cursor, and Windsurf.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

  • Adkit Projects: List the user's AdKit projects. Call this FIRST — most tools (manage, library, studio, status, setup) require a projectId. Single-project users auto-resolve; users with several project
  • Adkit Status: Return project context, connected platforms, available ad accounts, and Studio setup. Requires projectId from adkit_projects.
  • Adkit Setup: Launch browser-based AdKit setup flows. Requires projectId from adkit_projects. Returns dashboard URLs the user can open.

What data it sees

Do you need an account

No: the server works without sign-in

Run ad campaigns and browse ad libraries on Meta, Google, and TikTok — directly from AI coding agents like Claude, Cursor, and Windsurf.

AdKit is a remote MCP server that connects your AI agent to the major ad platforms. Create campaigns, analyze performance, spy on competitor creatives, and generate AI ad copy — all without leaving your editor.

Key capabilities

  • Campaign management — Create, edit, pause, and monitor ad campaigns across Meta Ads, Google Ads, and TikTok Ads
  • Ad library browser — Search competitor ads on Meta Ad Library, Google Ads Transparency Center, and TikTok Creative Center
  • Performance analytics — Pull real-time metrics, spending data, and conversion stats
  • AI creative generation — Generate ad copy, headlines, and descriptions optimized for each platform

No API keys required — authenticate via OAuth in seconds. Works with any MCP-compatible client.

Server tool list (9)

Raw names from tools/list. Only developers need these.

adkit_projectsList the user's AdKit projects. Call this FIRST — most tools (manage, library, studio, status, setup) require a projectId. Single-project users auto-resolve; users with several projects must pick one.
adkit_statusReturn project context, connected platforms, available ad accounts, and Studio setup. Requires projectId from adkit_projects.
adkit_setupLaunch browser-based AdKit setup flows. Requires projectId from adkit_projects. Returns dashboard URLs the user can open.
adkit_checkinOnboarding only. Record that this agent successfully used AdKit after setup. Use only when explicitly asked during setup or connection verification.
adkit_feedbackReport AdKit bugs, confusing behavior, missing capabilities, feature requests, etc to AdKit. This is a fire-and-forget, don't block the main task. Use immediately when you notice a problem/bug or have a suggestion etc.
adkit_helpDiscover the AdKit MCP contract with progressive drill-down. Top-level paths: "manage" (campaigns/ads/reporting on Meta, Google, and TikTok, plus drafts), "library" (browse ads library and advertiser list), and "studio" (AI static ad generation). Start with adkit_help() for the root overview, or drill down like adkit_help({ path: "manage google campaigns create" }).
adkit_manageMeta, Google, and TikTok ads management. Each platform has different coverage — call adkit_help({ path: "manage <platform>" }) to see what is available. For Google placement performance, use platform: "google", entity: "results", action: "placements". IMPORTANT: Normalized params use AdKit field names — NOT raw platform API fields. For batch/full AdKit request bodies, pass data as a top-level tool argument, not inside params. Call adkit_help first for the exact params each entity/action expects. File uploads: use entity:"media" action:"request_upload_url" to get a signed PUT URL, upload bytes there, then call media upload with source:"temporary_upload" and the returned uploadId. Avoid base64 for large files. Mutations create drafts by default; only set publish: true with explicit user approval. Drafts are editable — prefer entity: "drafts", action: "update" over delete-and-recreate. All platforms support raw API access via entity "platform-api-request" with action "mutate" for features AdKit does not cover yet. Requires project-level opt-in — call adkit_help({ path: "manage platform-api-request" }) for usage.
adkit_libraryBrowse 200k+ ads from 500+ advertisers across Meta, Google, and LinkedIn. Discover proven ads, research competitors, and add new advertisers to track. NOT for managing your own campaigns - use adkit_manage for that. When presenting results, prefer a compact markdown table (if the client supports it) in a nice and readable format.
adkit_studioAI ad generation workspace. Create ad briefs, generate images (create/clone/resize/edit), list ad media, inspect media items, and share briefs. Use entity "ads" + action "generate" to generate images. Omit id to auto-create an ad, or provide id to add variants to an existing ad. To use a user's own photo as a clone/edit reference: entity:"media" action:"request_upload_url" → PUT file bytes → pass { type:"temporary_upload", id:<uploadId> } in generate references. NOT for live campaign data, spend, or performance reporting — use adkit_manage. Studio ads are creative drafts, not launched ads.
AdKit — Ads MCP: connect to Claude, ChatGPT, Cursor · Connectors.fun