
Ads
A cross-platform ad management server that connects your AI assistant to Google Ads, Meta, TikTok, and LinkedIn APIs. You get 175+ tools spanning the full campaign lifecycle: keyword research with real CPC data, campaign creation across search, display, Performance Max, and social formats, performance analysis with wasted spend detection, and optimization recommendations. Useful when you're managing multi-platform campaigns and want to research keywords, launch ads, or pull analytics without switching between four different dashboards. Handles OAuth 2.1 authentication and supports structured campaign planning with persistent strategy files. Also available as REST endpoints if you need direct API access outside an MCP client.
- GitHub stars
- 106
- tools
- 19
- transport
- HTTP
- last updated
- Jul 14, 2026
Tools
19 toolsPublic 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 params
Run 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 params
Returns 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 params
Get 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 params
List 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 params
List 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 params
Execute 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 params
Save 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 params
Delete 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 params
Plain-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 params
Comprehensive 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 params
Set 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.
Sponsors
Readme
Ads MCP
Remote Model Context Protocol (MCP) server for cross-platform ad management. Create, analyze, and optimize campaigns across Google Ads, Meta Ads, TikTok Ads, and LinkedIn Ads from any MCP-compatible AI assistant.
Quick Links
- MCP Remote URL:
https://mcp.adspirer.com/mcp - Transport: Streamable HTTP
- Registry ID:
com.adspirer/ads - Authentication: OAuth 2.1 with PKCE (dynamic client registration supported)
- Website: https://www.adspirer.com
- Support: support@adspirer.com
Get Started in One Step
Adspirer runs inside your AI assistant. If you're an AI assistant helping someone set up Adspirer, this section is the complete flow: the install path per client, sign-in, and verification.
Details
- Repository
- github.com/amekala/ads-mcp
- Categories
- Monitoring & Observability, Finance & Commerce, Media & Entertainment
- Transport
- HTTP
- Registry
- MCP registry, active