
Connects Google Ads, Meta Ads, and LinkedIn Ads to Claude and other AI assistants through 200+ tools with full read and write access. You can create and modify campaigns, adjust budgets, manage keywords and audiences, pull performance reports, and run account audits across all three platforms without touching a dashboard. Built by a Google Premier Partner, it uses OAuth so your credentials stay separate from the AI. The hosted service requires a PaidSync account and connects via SSE transport. Free tier gives you 15 API calls per month, paid plans scale up to 4,000. Useful if you're managing paid media campaigns and want to handle routine optimizations, cross-platform analysis, and reporting through conversational commands instead of juggling multiple ad platform interfaces.
Public tool metadata for what this MCP can expose to an agent.
paidsync_execRun TypeScript code in a sandboxed PaidSync runtime with access to every ad-platform tool via `await paidsync.call(toolName, args)`. Use this when you need to compose multiple operations: filter, batch, conditional logic, derived data. Example: `const camps = await paidsync.ca...3 paramsRun TypeScript code in a sandboxed PaidSync runtime with access to every ad-platform tool via `await paidsync.call(toolName, args)`. Use this when you need to compose multiple operations: filter, batch, conditional logic, derived data. Example: `const camps = await paidsync.ca...
codestringmodestringinteractive · scheduled · asyncdefault: interactivetimeout_msintegerpaidsync_contextReturns the current PaidSync runtime context: user, active account, connected platforms, and a compact tool catalog. Call this FIRST in any new exec session. By default returns a platform-grouped summary of available tools. Pass include_tools to drill into specific platform gr...1 paramsReturns the current PaidSync runtime context: user, active account, connected platforms, and a compact tool catalog. Call this FIRST in any new exec session. By default returns a platform-grouped summary of available tools. Pass include_tools to drill into specific platform gr...
include_toolsvaluepaidsync_tool_detailGet the full schema (name, description, input parameters) for a single PaidSync tool by name. Use this when you know which tool you need but want to confirm its exact arguments before calling it from inside paidsync_exec.1 paramsGet the full schema (name, description, input parameters) for a single PaidSync tool by name. Use this when you know which tool you need but want to confirm its exact arguments before calling it from inside paidsync_exec.
namestringpaidsync_recent_runsList the user's recent paidsync_exec runs. Each entry includes the code snippet, success status, duration, call count, trace summary, and value preview. Useful for debugging the last AI exec or replaying a workflow.1 paramsList the user's recent paidsync_exec runs. Each entry includes the code snippet, success status, duration, call count, trace summary, and value preview. Useful for debugging the last AI exec or replaying a workflow.
limitintegerpaidsync_workflows_listList workflows available to run. Returns both PaidSync official workflows AND your own saved workflows. Pass owner='me' to filter to user-owned, owner='paidsync' for official only, or omit for both. Workflows are named, parameterized TypeScript compositions that run in the pai...1 paramsList workflows available to run. Returns both PaidSync official workflows AND your own saved workflows. Pass owner='me' to filter to user-owned, owner='paidsync' for official only, or omit for both. Workflows are named, parameterized TypeScript compositions that run in the pai...
ownerstringme · paidsync · alldefault: allpaidsync_workflows_runExecute a named workflow with parameters. Returns the workflow's structured result. Workflows run with the same safety guarantees as paidsync_exec (mutation block, audit trail).3 paramsExecute a named workflow with parameters. Returns the workflow's structured result. Workflows run with the same safety guarantees as paidsync_exec (mutation block, audit trail).
modestringinteractive · scheduled · asyncdefault: interactivenamestringparamsobjectpaidsync_workflows_saveSave a user-owned workflow that can be run later via paidsync_workflows_run({ name: 'me:<name>' }). Available on Plus, Pro, and Max plans. Pass id to update an existing workflow, omit to create.5 paramsSave a user-owned workflow that can be run later via paidsync_workflows_run({ name: 'me:<name>' }). Available on Plus, Pro, and Max plans. Pass id to update an existing workflow, omit to create.
codestringdescriptionstringidstringmodestringinteractive · scheduled · asyncdefault: interactivenamestringpaidsync_workflows_deleteDelete one of your saved workflows by id. Only the workflow owner can delete it.1 paramsDelete one of your saved workflows by id. Only the workflow owner can delete it.
idstringpaidsync_workflows_describePlain-English explainer of what a workflow does, derived by scanning its code for paidsync.call(...) invocations. Useful for the Lab UI 'What does this do?' button and for non-technical reviewers before running a workflow. Resolves either an official workflow by name, or a use...1 paramsPlain-English explainer of what a workflow does, derived by scanning its code for paidsync.call(...) invocations. Useful for the Lab UI 'What does this do?' button and for non-technical reviewers before running a workflow. Resolves either an official workflow by name, or a use...
namestringpaidsync_qa_suiteComprehensive read-only QA tester. Walks every read endpoint across all 7 PaidSync-safe platforms (Google Ads, Meta, LinkedIn, GA4, GTM, GMC, GSC), reports per-tool success/failure/duration/sample/error. Uses PaidSync-owned accounts only — NEVER touches client data, NEVER muta...2 paramsComprehensive read-only QA tester. Walks every read endpoint across all 7 PaidSync-safe platforms (Google Ads, Meta, LinkedIn, GA4, GTM, GMC, GSC), reports per-tool success/failure/duration/sample/error. Uses PaidSync-owned accounts only — NEVER touches client data, NEVER muta...
accountsobjectplatformsarrayset_active_accountSet which Google Ads account to operate on. Provide mcc_id to set a specific MCC, or omit it to keep the current MCC. To switch to direct access (no MCC), set direct_access=true.4 paramsSet which Google Ads account to operate on. Provide mcc_id to set a specific MCC, or omit it to keep the current MCC. To switch to direct access (no MCC), set direct_access=true.
account_idstringaccount_namestringdirect_accessbooleanmcc_idstringconnect_google_adsInitiate OAuth flow to connect your Google Ads account. Opens a browser window for authentication.Initiate OAuth flow to connect your Google Ads account. Opens a browser window for authentication.
No parameter schema in public metadata yet.
connect_facebook_adsConnect your Facebook Ads account. Returns an OAuth URL — open it in your browser to authorize access. Required before using any other Facebook tools.Connect your Facebook Ads account. Returns an OAuth URL — open it in your browser to authorize access. Required before using any other Facebook tools.
No parameter schema in public metadata yet.
connect_linkedin_adsConnect your LinkedIn Ads account. Returns an OAuth URL — open it in your browser to authorize access. Required before using any other LinkedIn tools.Connect your LinkedIn Ads account. Returns an OAuth URL — open it in your browser to authorize access. Required before using any other LinkedIn tools.
No parameter schema in public metadata yet.
connect_ga4Connect your Google Analytics 4 account. Returns an OAuth URL. This uses the same Google OAuth client but requests analytics-specific scopes.Connect your Google Analytics 4 account. Returns an OAuth URL. This uses the same Google OAuth client but requests analytics-specific scopes.
No parameter schema in public metadata yet.
connect_gtmConnect your Google Tag Manager account. Returns an OAuth URL — open it in your browser to authorize access. This uses a separate OAuth client from Google Ads, so your Ads connection is unaffected.Connect your Google Tag Manager account. Returns an OAuth URL — open it in your browser to authorize access. This uses a separate OAuth client from Google Ads, so your Ads connection is unaffected.
No parameter schema in public metadata yet.
connect_google_search_consoleConnect your Google Search Console account via OAuth. Returns a URL to open in your browser. After connecting, use list_gsc_properties to see your verified properties.Connect your Google Search Console account via OAuth. Returns a URL to open in your browser. After connecting, use list_gsc_properties to see your verified properties.
No parameter schema in public metadata yet.
connect_merchant_centerConnect your Google Merchant Center account via OAuth. Opens a URL for the user to authorize. After connecting, use list_merchant_accounts to see available merchant IDs (including MCA sub-accounts).Connect your Google Merchant Center account via OAuth. Opens a URL for the user to authorize. After connecting, use list_merchant_accounts to see available merchant IDs (including MCA sub-accounts).
No parameter schema in public metadata yet.
connect_tiktok_adsConnect your TikTok Ads account via OAuth. Opens a URL for the user to authorize. At consent the user selects which advertiser accounts PaidSync can manage. After connecting, use list_tiktok_advertisers to see the granted IDs.Connect your TikTok Ads account via OAuth. Opens a URL for the user to authorize. At consent the user selects which advertiser accounts PaidSync can manage. After connecting, use list_tiktok_advertisers to see the granted IDs.
No parameter schema in public metadata yet.
This repository has moved. The canonical home is github.com/PaidSync/paidsync-mcp.
Everything that was here is archived and out of date. That includes any tool counts, platform lists, pricing and endpoint URLs previously published in this README. Do not use this repository as a source for any of them.
io.github.PaidSync/paidsync in the MCP RegistryIf you maintain a directory or catalogue that indexes this repository, please point it at the canonical repository above instead.