# MCP tools

Every tool the Adwarp MCP server exposes, grouped by area, plus the structured targeting spec.

The MCP server exposes the tools below. [tools.json](https://github.com/adwarp-dev/adwarp/blob/main/docs/tools.json) is the complete, generated list: every tool's name, description, input JSON Schema, platform (`linkedin` or `google`), and whether it works on the hosted endpoint (`hosted`, `hostedSupport` and `hostedNote`, as in [Hosted limitations](https://adwarp.dev/docs/hosted#hosted-limitations)). It is built from the server's own registration code with `pnpm gen:tools`, and CI fails when it drifts.

## Accounts

- `list_ad_accounts`: The LinkedIn ad accounts your app can access. Hosted.

## Targeting

- `list_targeting_facets`: The facets you can target on, by short name. Hosted.
- `search_targeting`: Typeahead a facet for entity URNs. Hosted.
- `list_facet_entities`: Every entity of a small facet, such as seniorities. Hosted.
- `estimate_audience`: Audience size for a structured targeting spec. Hosted.

## Audiences

- `upload_audience_csv`: Cleans a CSV and uploads it as a matched audience. It normalizes column names, drops non-matcher columns, hashes emails, and converts company domains to website URLs. Contact and company lists are both supported. Local only.
- `audience_from_salesforce`: A SOQL query to a matched audience. See [Salesforce](./salesforce.md). Local only.
- `audience_from_hubspot`: A HubSpot list, or a CRM search by property filters, to a matched audience of contacts or companies. Pass `dryRun` first to see the counts and a masked sample. Local only. See [HubSpot](./hubspot.md). Local only.
- `get_audience_status`: Matching status and resolved size. Hosted.

## Conversions

- `list_conversions`: The account's existing insight-tag conversions, to select one to track. Hosted.

## Campaigns

- `create_campaign_group`: Create the LinkedIn campaign group and campaign (the ad group), as drafts. Hosted.
- `create_campaign`: Create the LinkedIn campaign group and campaign (the ad group), as drafts. Hosted.
- `update_campaign`: Change an existing campaign (the ad group) in place: targeting, name, status, budget, bid, bidding strategy, schedule, or ad rotation. Pass `dryRun` first to preview the patch. Hosted.
- `create_text_ad`: Create draft ads. Hosted.
- `create_image_ad`: Create draft ads. Hosted.
- `list_campaigns`: The account structure, campaign groups and their ad groups, with drafts included, unlike reporting, which only shows entities with spend. Hosted.
- `list_ads`: The ads in an ad group, drafts included. Hosted.
- `delete_ad`: Removes the creative and, best effort, its Direct Sponsored Content post. Hosted.
- `update_ad`: Pauses, resumes, or archives a single ad by setting its `status` to `PAUSED`, `ACTIVE`, or `ARCHIVED`, without touching the rest of its ad group. Setting `ACTIVE` starts spend, so the assistant sets it only when you explicitly ask. An `ACTIVE` ad serves only while its ad group is active, and LinkedIn refuses to pause an ad that is still in review. Pass `dryRun` first to preview the patch. Hosted.

## Orchestrator

- `launch_from_brief`: Audience, campaign group, campaign, and draft ads in a single call. Hosted.

## Reporting

- `performance_summary`: An account rollup with top and bottom performers and flags. Hosted.
- `get_performance`: Per-entity metrics at any level. Hosted.
- `performance_trend`: Weekly or monthly trend with deltas. Hosted.

## Competitor intel

- `inspect_competitor_ads`: Discovers any company's ads through the official LinkedIn Ad Library API. In `api` mode it returns metadata only. In `auto` mode it also queues at most 10 ads on the optional [remote creative worker](https://github.com/adwarp-dev/adwarp/tree/main/services/creative-worker) for creative copy and screenshots, and returns cached results or job status. Supply both `advertiser` and `companyId` to filter broad name matches before creatives are queued. Hosted, limited.
- `get_competitor_creatives`: Reads completed remote creative jobs by ad id, without queuing new work. Hosted.

## Change journal

- `log_ad_change`: Record a change made elsewhere, or attach a hypothesis. Local only.
- `list_ad_changes`: Recorded changes, newest first. Local only.
- `compute_lift`: Before and after performance for each recorded change. Local only.

## Google Ads

- `gads_list_accounts`: Every Google Ads customer the login can reach. Run it first to prove the setup works. Local only.
- `gads_list_client_accounts`: The client accounts under a manager (MCC) account. Local only.
- `gads_keyword_ideas`: Search volume, competition, and top-of-page bid range for seed terms or a landing page. Local only.
- `gads_list_campaigns`: Campaigns with their ad groups, paused campaigns included. Local only.
- `gads_list_ads`: The ads in an ad group, with their responsive search copy. Local only.
- `gads_list_conversion_actions`: Conversion actions on the account, so a launch can name one. Local only.
- `gads_launch_search_campaign`: A paused Search campaign from a brief, in a single atomic mutate. It validates without creating anything unless told otherwise. Local only.
- `gads_performance`: Performance rows at campaign, ad group, ad, keyword, or search term level. Local only.
- `gads_search`: A raw, read-only GAQL query. Local only.

Canonical page: https://adwarp.dev/docs/tools
Last updated: 2026-10-18
