Ads Lighthouse MCP Server

Hosted MCP server for monitoring paid ads on brand searches, reviewing advertisers and affiliate findings, and accessing saved reports through OAuth 2.1.

Hosted MCP Server

npx add-mcp 'https://adslighthouse.com/api/v1/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Ads Lighthouse MCP server

Server URL

https://adslighthouse.com/api/v1/mcp

Streamable HTTP. Sign in with your Ads Lighthouse account (OAuth 2.1 with PKCE). On Scale and above you can also send an API key as a bearer token.

The MCP server is included in every plan, including trials.

What it is

The Model Context Protocol (MCP) is an open standard that lets AI assistants call tools. Our hosted server gives an assistant the same data as the API: projects, keywords, saved checks with their ads, advertisers, affiliate findings, alerts and usage.

Try questions such as: Who advertised on our brand terms in the US last week? Which advertisers use our affiliate IDs? Did anything change on mobile since Monday?

Connect your assistant

Claude

  1. In Claude, open Settings > Connectors and choose Add custom connector.
  2. Paste the server URL and add it.
  3. Choose Connect, sign in to Ads Lighthouse and approve access for your account.

ChatGPT

  1. In ChatGPT, turn on developer mode in Settings > Apps & Connectors > Advanced settings.
  2. Create a connector with the server URL and choose OAuth as the authentication.
  3. Sign in to Ads Lighthouse and approve access. Menu names can change; follow ChatGPT's help if they differ.

Claude Code

  1. Add the server from your terminal, then run /mcp in Claude Code and choose Authenticate.

Claude Code

claude mcp add --transport http ads-lighthouse https://adslighthouse.com/api/v1/mcp

VS Code and GitHub Copilot

  1. Add the server to.vscode/mcp.json in your workspace, or to your user configuration.
  2. Start it from the file and sign in when VS Code asks.

VS Code and GitHub Copilot

{
  "servers": {
    "ads-lighthouse": {
      "type": "http",
      "url": "https://adslighthouse.com/api/v1/mcp"
    }
  }
}

Gemini CLI

  1. Add the server to ~/.gemini/settings.json, then run /mcp auth ads-lighthouse to sign in.

Gemini CLI

{
  "mcpServers": {
    "ads-lighthouse": {
      "httpUrl": "https://adslighthouse.com/api/v1/mcp"
    }
  }
}

Cursor

  1. Add the server to ~/.cursor/mcp.json, or to.cursor/mcp.json in a project.
  2. In Cursor's MCP settings, choose Connect next to ads-lighthouse, sign in to Ads Lighthouse and approve access for your account. This works on every plan.

Cursor

{
  "mcpServers": {
    "ads-lighthouse": {
      "url": "https://adslighthouse.com/api/v1/mcp"
    }
  }
}

Use an API key instead of signing in

On Scale plans and above, any client that can send headers can use an API key instead: send Authorization: Bearer als_your_key with every request. A key acts for the whole account; create a read-only key unless the assistant needs to make changes. On other plans, connect by signing in.

Ads Lighthouse API

Tools

Every tool that takes project_id accepts the project id, the brand domain or the exact project or brand name. Tools that change data need write access, and the assistant should ask you before using them.

ToolWhat it doesAccess
get_accountPlan, monthly allowances, usage and rate limitRead
list_projectsProjects in the accountRead
get_project_detailsOne project's configuration and data coverageRead
create_projectCreate a project and start its first checksWrite, uses checks
list_keywordsMonitored keywords with saved checks and ads in a windowRead
add_keywordsAdd keywords to a projectWrite
remove_keywordStop monitoring one keywordWrite
list_observationsSaved checks with the paid ads they foundRead
list_advertisersAdvertiser domains with visibility and signalsRead
list_affiliate_findingsYour affiliate IDs seen behind ads that use your brandRead
list_alert_eventsAlerts fired for the accountRead
run_realtime_checkStart an on-demand check of a project's keywordsWrite, uses checks
get_check_statusProgress of an on-demand checkRead
get_summaryHeadline numbers for a project and windowRead
get_timeseriesChecks, ads and advertisers by local day, week or monthRead
get_advertiserOne advertiser's metrics, category and saved adsRead
list_competitorsOther advertisers ranked by ad occurrences, with your categoriesRead
set_advertiser_classificationSave your team's category for an advertiser domainWrite
get_keyword_reportOne keyword's saved checks, ads and advertisers in a windowRead
list_keyword_adsAdvertisers or distinct ads seen for one keywordRead
list_affiliate_idsYour affiliate IDs seen in saved ad URLsRead
set_affiliate_case_statusSet the review status of a non-compliant affiliate IDWrite
list_shopping_productsSponsored product listings seen on Google Shopping capturesRead
export_paid_resultsThe rows of the Paid results CSV export, as JSONRead
export_paid_results_by_keywordThe rows of the Paid results By keyword view, as JSONRead
export_affiliate_casesThe rows of the Non-compliant affiliates CSV export, as JSONRead
get_advertiser_historyWhen and where one advertiser appeared, with the observation scheduleRead
get_advertiser_heatmapPresence by local hour and weekdayRead
list_ad_copy_versionsOne advertiser's distinct ad copy, newest firstRead
list_ad_copy_changesRecent ad copy changes across advertisersRead
update_projectChange a project's monitoring plan, brand or affiliate settingsWrite
delete_projectPermanently delete a project and its saved dataWrite
remove_keywordsStop monitoring several keywordsWrite
preview_check_demandForecast the monthly checks and allowance for a proposed changeRead
get_monitoring_optionsMarkets, search engines, devices and schedules you can configureRead
search_locationsFind cities and regions available for monitoring in a marketRead
list_check_activityA project's recent background activity and queued searchesRead
get_time_zoneYour personal time zone preferenceRead
update_time_zoneChange your personal time zone preferenceWrite
get_themeYour personal appearance preferenceRead
update_themeChange your personal appearance preferenceWrite
list_alert_rulesAlert rules configured in the accountRead
get_alert_ruleOne alert ruleRead
create_alert_ruleCreate an alert rule (email, Slack or webhook)Write
update_alert_ruleEnable, disable or change an alert ruleWrite
delete_alert_ruleDelete an alert rule and its alert historyWrite
send_test_alertQueue a synthetic alert through a rule's channelWrite
rotate_webhook_secretReplace a webhook rule's signing secretWrite
get_alert_eventOne alert with its delivery recordRead
list_teamMembers, roles and open invitationsRead
invite_team_memberEmail an invitation to join the accountWrite, uses checks
resend_invitationSend an open invitation again with a new linkWrite, uses checks
cancel_invitationRevoke an open invitationWrite
change_member_roleMake a member an admin or an admin a memberWrite
remove_team_memberRemove a person from the accountWrite
list_accountsThe account this credential can useRead
get_account_overviewPlan limits, subscription dates, meters and forecastRead
get_email_preferencesYour product email and newsletter preferencesRead
update_email_preferencesTurn product emails or the newsletter on or offWrite
list_google_connectionsYour Google Ads and Search Console connections in a projectRead
list_google_accountsGoogle Ads customers or Search Console sites a connection can readRead
run_google_ads_reportKeyword or search term performance from Google AdsRead
run_search_console_reportSearch Console clicks, impressions, CTR and positionRead
trace_redirectsQueue a server-side trace of a saved ad destinationWrite, uses checks
get_redirect_chainOne traced redirect chainRead
list_redirect_chainsTraced redirect chains of a projectRead
list_policy_rulesA project's policy rulesRead
get_policy_ruleOne policy ruleRead
create_policy_ruleDeclare a policy rule for a projectWrite
update_policy_ruleRename, pause, reconfigure or rescope a policy ruleWrite
delete_policy_ruleDelete a policy rule and keep its casesWrite
preview_policy_ruleWhat a draft rule would match, without saving itRead
evaluate_policy_rulesCheck saved ads against the enabled rules and record casesWrite
list_policy_casesCases opened by policy rulesRead
get_policy_caseOne case with its timelineRead
list_policy_case_evidenceThe saved ads that matched a case's ruleRead
update_policy_caseChange a case's status or ownerWrite
add_policy_case_noteAdd a note to a case's timelineWrite
create_reportRequest a project PDF report for a window and filtersWrite
list_reportsA project's PDF reports, newest firstRead
get_report_statusStatus of one PDF reportRead
get_report_download_linkA short-lived link to download a ready reportRead

Security

  • You choose the account and whether the assistant may make changes when you approve the connection. Disconnect any app in Settings > API and MCP.
  • Access tokens expire after one hour and refresh tokens rotate on every use. A reused refresh token ends the connection.
  • The assistant acts as you: if you leave the account, or the account no longer has an active plan or trial, its access ends too.
  • Creating a project and starting an on-demand check use your plan's allowance and need an idempotency key, so a retried call never runs the checks twice.
  • Assistants can misread data. Check important findings in the app, where each observation shows its full context.