flin-gmp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_CLIENT_ID | Yes | Desktop OAuth client ID, same convention as flin Search Console | |
| GOOGLE_GMP_SERVICES | No | Comma-separated subset of admin,dv360,cm360,sa360; defaults to all | |
| GOOGLE_CLIENT_SECRET | Yes | Desktop OAuth client secret | |
| GOOGLE_GMP_TOKEN_DIR | No | Absolute path to a dedicated private token directory | |
| GOOGLE_GMP_OAUTH_PORT | No | Loopback port; 0 chooses an available port | |
| GOOGLE_GMP_QUOTA_PROJECT | No | Optional quota project ID, sent as x-goog-user-project |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| health_checkA | Check local configuration and token status. No Google request or browser launch. 'ready' or 'refreshable' describes credentials only, not verified product permissions. |
| authenticateA | Sign in via the local browser and store credentials privately; never returns tokens. Uses a Desktop OAuth client and a loopback callback (180-second timeout). Choose a lower-case account alias such as work for a separate login. force=true replaces the selected account's saved sign-in only after a successful new authorization. Requests permissions for GOOGLE_GMP_SERVICES; some Google scopes also allow writes, but this server only exposes read endpoints. Requires a browser on the server host. |
| list_organizationsA | List accessible GMP organizations (one page, max 1000); not Google Cloud organizations. |
| get_organizationB | Get a GMP organization by ID or organizations/{id} from list_organizations. |
| list_analytics_account_linksB | List Analytics accounts linked to a GMP organization; no GA4 performance data. |
| list_dv360_partnersB | Discover DV360 partners (max 200 per page). Optional native DV360 filter. |
| list_dv360_advertisersB | List advertisers for a discovered partner ID (required by DV360 v4; max 200). |
| get_dv360_advertiserC | Read one DV360 advertiser's settings. |
| list_dv360_campaignsA | List DV360 campaigns settings (max 200). These are not performance metrics. Optional native DV360 filter; use the same filter when requesting the next page. |
| list_dv360_insertion_ordersB | List DV360 insertion orders settings (max 200). These are not performance metrics. Optional native DV360 filter; use the same filter when requesting the next page. |
| list_dv360_line_itemsB | List DV360 line items settings (max 200). These are not performance metrics. Optional native DV360 filter; use the same filter when requesting the next page. |
| list_dv360_creativesB | List DV360 creatives settings (max 200). These are not performance metrics. Optional native DV360 filter; use the same filter when requesting the next page. |
| list_dv360_report_queriesB | List existing DV360 report definitions via Bid Manager v2 (max 100). No report creation. |
| list_dv360_reportsA | List existing runs of a DV360 report query, including available report metadata/URLs. Does not run reports or fetch report CSVs. Use a query ID from list_dv360_report_queries. |
| get_dv360_reportB | Get an existing DV360 report's status and metadata, including its URL when available. |
| list_cm360_profilesB | Discover accessible CM360 user profiles. Choose profileId for subsequent CM360 tools. |
| list_cm360_advertisersB | List CM360 advertisers for a user profile; optional native name/ID search with * wildcards. |
| list_cm360_campaignsC | List CM360 campaigns. Omit archived for both active and archived campaigns. |
| list_cm360_creativesA | List CM360 creatives with names, types, sizes and creativeAssets (one page, max 1000). Filter by advertiser/campaign, IDs, native creative types or name/ID search (* allowed). Omit active/archived to include both states. Preserve filters for nextPageToken. HTML5 backup assets have role BACKUP_IMAGE; assetIdentifier.name is a filename, not a downloadable URL. This returns metadata, not image bytes or rendered HTML5. |
| get_cm360_creativeA | Get full CM360 creative metadata including sizes, assets and available serving URLs. Use IDs from list_cm360_creatives. For HTML5, inspect creativeAssets with role BACKUP_IMAGE. No image download/preview URL is documented for those assets; progressiveServingUrl and streamingServingUrl are documented for video only. Click-through/tracking URLs are not image URLs. Never construct CDN URLs from asset names or execute returned htmlCode. Missing assets/URLs remain missing. |
| list_cm360_reportsB | List saved CM360 report definitions visible to this profile. Does not execute reports. |
| list_cm360_report_filesB | List existing CM360 report files and their status; no new report is generated. |
| get_cm360_report_fileB | Get existing CM360 report file metadata and download URLs; does not download CSV content. |
| list_sa360_customersA | List directly accessible SA360 customer resource names. Use get_sa360_customer_clients on a manager to discover child accounts; this list does not include every child. |
| query_sa360A | Run a read-only Search Ads 360 SELECT query and return one page (max 10000). Use bare numeric customer IDs without hyphens; login_customer_id selects a manager. Google validates selectable fields and metric compatibility. Use search_sa360_fields to discover fields. Preserve the query and other arguments for nextPageToken. |
| get_sa360_customer_clientsC | Discover client accounts beneath an SA360 manager, including hierarchy levels. |
| get_sa360_campaign_performanceA | Campaign impressions, clicks, cost_micros, conversions and conversion value. Dates must be YYYY-MM-DD, inclusive, in the customer account's timezone. Currency is customer.currency_code; divide costMicros by 1,000,000 for currency units. Query an advertiser/client account, not an aggregate manager, for performance metrics. |
| search_sa360_fieldsB | Discover SA360 query fields and compatibility using a metadata SELECT without FROM. Example: SELECT name, category, selectable, filterable WHERE name LIKE 'metrics.%' |
| list_sa360_custom_columnsC | List custom columns available to an SA360 customer. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 29 tools
Product prefixes (dv360, cm360, sa360) plus resource-specific nouns keep nearly all tools distinct, and the descriptions explicitly separate easily confused pairs like report_queries vs reports vs get_report, and creatives vs get_creative. The only mild overlap is between query_sa360 (generic SQL) and get_sa360_campaign_performance (convenience metrics), which a description note mostly resolves.
Almost everything follows list_/get_/search_ + product + resource in snake_case, which is highly predictable. Minor deviation: get_sa360_customer_clients actually enumerates a collection (list_ semantics), and the auth/health tools (authenticate, health_check) have no noun, but these are understandable exceptions.
29 tools spread across four products plus auth/health works out to roughly 6-8 tools per surface, each targeting a distinct resource or lifecycle step. It is on the heavy side but justified by the multi-product scope rather than redundant tools.
The read-only surface is well covered: DV360 discovery through creatives and report queries/runs/files, CM360 profiles to creatives to report files, and SA360 customers, clients, queries, fields, and performance. Gaps remain (single-item get for DV360 campaigns/line items/insertion orders, no performance for DV360/CM360, and Analytics limited to account-link listing), but most are workable via list filters and paging.