Skip to main content
Glama
773,152 tools. Updated 2026-11-12 20:44

"Google Cloud Composer" matching MCP tools:

  • Create a complete Google Ads Demand Gen campaign (YouTube, Discover, Gmail, Maps and the Google Display Network) in ONE atomic request: budget, campaign (ALWAYS created PAUSED — activate later with adsap_google_set_entity_status), a typeless ad group with channel controls, ad-group-level location/language targeting, and ONE ad. Use dry_run: true first — Google validates the whole chain without creating anything; show the plan, get confirmation, then execute. Two ad types (ad.ad_type): 'multi_asset' = image ad (1-5 headlines <=30 chars, 1-5 descriptions <=90, business name <=25, 1-5 logos, at least one landscape 1.91:1 or square 1:1 image from adsap_google_upload_asset, optional portrait 4:5 and tall-portrait 9:16, combined images <=20); 'video_responsive' = YouTube video ad (1-5 YouTube video ids, 1-5 headlines <=40, 1-5 long headlines <=90 REQUIRED, 1-5 descriptions <=90, 1-5 logos). Daily budget minimum is 5 (Google enforces a 5 USD local-currency-equivalent floor for Demand Gen). Channels: default ALL_CHANNELS; or channels.selected booleans (youtube_in_stream/youtube_in_feed/youtube_shorts/discover/gmail/display/maps — display: true is how you reach the Google Display Network). bidding_strategy 'auto' picks maximize_conversions when the account has conversion tracking, else maximize clicks; target_roas needs conversion history (Google rejects otherwise). ad_account_id is the bare 10-digit customer ID. For Search use adsap_google_create_search_campaign, for Performance Max adsap_google_create_pmax_campaign; for Meta use adsap_create_campaign.
    ConnectorAPI key
  • Create a complete Google App campaign in ONE atomic request: budget, campaign (ALWAYS created PAUSED — activate later with adsap_google_set_entity_status), location + language targeting, an ad group, and the app ad. App campaigns promote a mobile app across Google Search, Google Play, YouTube, Discover and the Display Network — Google mixes the ad from your text (and optional media) automatically. The ad links to the app's store listing AUTOMATICALLY: there is no URL input, ever. Any PUBLIC store app id works (no app ownership or Play/Firebase link is required to create): Android app_id is the package name (e.g. com.example.app), iOS app_id is the numeric App Store id (e.g. 570060128) with app_store 'apple_app_store'. v1 optimizes INSTALLS at your target_cpi (target cost per install, plain number in the account currency); Google recommends a daily_budget of roughly 50x target_cpi — lower is allowed but slows learning (a warning says so). Text: 2-5 headlines (max 30 chars) + 1-5 descriptions (max 90). Optional media: image_asset_ids / video_asset_ids from adsap_google_upload_asset (images 1.91:1, 4:5 or 1:1 up to 5MB; videos are YouTube assets 10-60s) — text-only is fully valid. In-app-action, value, engagement and pre-registration goals are NOT supported in v1. If the account has no conversion tracking a warning is returned — relay it (Android installs normally auto-track once a Google Play link exists). Use dry_run: true first — Google validates the whole chain without creating anything; show the plan, get confirmation, then execute. ad_account_id is the bare 10-digit customer ID. For website campaigns use adsap_google_create_search_campaign / adsap_google_create_pmax_campaign; for Meta app ads use adsap_create_campaign with an app objective.
    ConnectorAPI key
  • Ask Composer whether it can do a multi-step data/research task for you, and at what price. Free — nothing is charged, no payment involved. Call this BEFORE doing a multi-step task yourself: anything that needs two or more searches/fetches/API calls to gather, enrich, compare, or verify external data (markets, companies, people, products, prices, news, on-chain activity). Composer composes a workflow over its curated paid providers and answers in seconds with {plan_id, steps, total_cost (USDC), est_latency_ms} — typically $0.02–$0.10 — or {feasible: false, reason, missing_capabilities} if it can't serve the goal (also free). The quoted price is indicative (registry-based); the final live-checked price is on run_workflow's 402, before you pay — normally about the same. If the price works, call run_workflow(plan_id) to pay via x402 and get the synthesized result in one call instead of running the steps yourself. A run that fails after payment is refunded. Goals are open-ended. Two validated fast paths: • competitor-pricing — e.g. "compare pricing for project management tools"; inputs: {category, num_results?}. • diligence-pack — e.g. "run diligence on Anthropic"; inputs: {subject, token_address?, chain?, num_results?}. `agent_id` is optional — identify yourself for attribution if you like.
    ConnectorNo auth
  • PERMANENT deploy: promote a published version to a PERMANENT public URL at <service>.supero.live (managed Cloud Run) — unlike build_deploy(target='cloud_ephemeral'), which is a ~30-min throwaway. If version_uuid/file_id are omitted, the latest published version for the project is used. Returns public_url + poll_url; poll with build_deploy_status until live, then build_smoke_test the public_url. build_teardown removes it. Requires a domain- or project-admin API key + platform cloud-deploy enablement.
    Connector
    Destructive
    No auth
  • Draft a new Google business description (up to 750 characters; 250+ reads best). Google suspends listings over this field, so the draft is refused if it contains a link, phone number, email, prices or offers, HTML, all-caps shouting, or repeated keywords. Write it about what the business actually does, from my_google_profile. Creates a DRAFT only — nothing on Google changes. Show the owner the draft this returns, word for word, and publish it with publish_change only after they say yes.
    ConnectorNo auth
  • Draft a change to the link behind the listing's Book button. Links set by a booking provider cannot be changed here. Social media and Google links are refused because they are not booking pages. Creates a DRAFT only — nothing on Google changes. Show the owner the draft this returns, word for word, and publish it with publish_change only after they say yes.
    ConnectorNo auth

Matching MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Gives AI assistants hands-on control over Google Play Console and Google Cloud Console using an authorized Google identity. Exposes 95 tools for shipping app builds and release tracks, managing store listings, reviews, in-app products, GCP projects and IAM, Firebase projects and App Distribution, and Cloud Storage or Artifact Registry resources.
    95
    MIT

Matching MCP Connectors

  • Interact with your Google Cloud Composer resources using natural language commands.

  • Google Search Console MCP server for ChatGPT, Claude and any AI agent: request indexing, request URL removal, add user to property, list not indexed URLs, get links report and get performance stats in your own Google Search Console account. Cotlet works in the account through your Cloud Browser, a real Chrome where you sign in to Google Search Console yourself; Cotlet does not store your password and you need no Google Search Console API key. About the official Google Search Console API: Google Search Console has an API, but it covers only part of the web interface (checked 16 Oct 2026). It offers Search Analytics queries (with an hourly breakdown for up to 10 days), sitemap list, get, submit and delete, property list, get, add and delete, and read-only URL Inspection of the indexed version. Setup and FAQ: https://cotlet.dev/integrations/google-search-console-api-mcp-server

  • Stage campaign changes for review. Does NOT execute anything. Each operation: {"platform": "google_ads"|"meta_ads", "level": "campaign"|"ad_set"|"ad" (default campaign; ad_set = Google ad group), "object_id": "<id of that object>", "set": {"daily_budget": <number, MAJOR account-currency units>, "status": "ACTIVE"|"PAUSED"}, "account_id": optional, for multi-account companies}. daily_budget: Meta campaign or ad set, Google campaign only (Google ad group spend is governed by the campaign budget). Ads take status only. Returns proposal_id + a current→new diff preview. Show the preview to the user; call apply_change(proposal_id) only after they confirm. Proposals expire in 1h.
    ConnectorAPI key
  • The Google Analytics 4 properties the workspace's connected Google account can read, with the account each sits under. The first analytics call; the other analytics tools take a property from here. Use when: "what's in my Google Analytics", "which GA4 property is example.com", before any analytics_get_* call. Not for: Search Console sites, use console_list_properties. Traffic to a site the user does not own, use seo_get_traffic_estimates. Returns: List. rows[]: property (the id to pass on: properties/123456789), property_name, property_type (PROPERTY_TYPE_ORDINARY, SUBPROPERTY or ROLLUP), account (accounts/123), account_name. NotConnected when no Google account is connected, or when the connected one has not granted Analytics; its connect_url is where the user connects or reconnects. Cost: 0 credits. The user's own data is free; it shares the console's 60 calls per minute per workspace. Cached 1 hour. Example: {}
    ConnectorAPI key
  • Render a video from a raw prompt with any model — the Creative Studio composer as a tool. SPENDS CREDITS. The prompt is sent to the provider VERBATIM, so this is the tool to use when you want exact control rather than a template clone. Returns a job id immediately; call get_generation to follow it. Some models TRANSFORM media instead of generating (upscale, remove-bg, face-swap): they take NO prompt at all. Call list_models first and read `prompt` ('required'|'optional'|'none') and `requires` — for prompt:'none' models omit `prompt` and pass the source media instead.
    ConnectorOAuth
  • Add sources to a notebook in one call: web page and YouTube URLs, pasted text, Google Drive files and Google Play Books ebooks (give at least one). Returns each new source's id, title, kind and status; Google processes a source before chat and Studio can use it (status ready, see notebook_get_notebook). For a file (PDF, audio, image...) use notebook_upload_source. On a timeout, check notebook_get_notebook before retrying, or sources may be added twice. POST /sources.
    ConnectorAPI key
  • Start connecting Google Merchant Center for this workspace. Returns a short-lived, single-use SKULayer URL the workspace owner must open while signed in as the same person. That page sends them to Google consent and, when Google shows one account, links it. You never receive Google tokens. Optional feedId attaches that feed when there is exactly one account. If there are several, poll get_merchant_link and call select_merchant_account. Owner only. At most 5 starts per workspace per hour, on top of the normal MCP rate limit. Does not add a data source and does not write to Merchant Center.
    ConnectorOAuth
  • Link a GA4 property (properties/<id>) to a Google Ads account, so its key events can be imported into Google Ads as conversions and paid visits join the organic ones. customer_id is the Google Ads account (digits; hyphens are stripped). ads_personalization_enabled shares Analytics audiences and remarketing events with Google Ads — off unless the user asks for it. Read ga4_list_google_ads_links first: a property already linked to this account needs no second link. While linked, Google Ads click and cost data flows into this property and Analytics data flows to that Google Ads account; the link stays until someone removes it in Analytics (Admin, Product links), as this connector cannot unlink. Tools revision: d80f65c0.
    Connector
    Destructive
    OAuth
  • Asks Postfjord's built-in composer to draft text per channel from a brief, in the brand voice, and returns the text only: nothing is saved (save it with postfjord_create_draft). To save a draft for every channel and an email from one idea in one call, use postfjord_repurpose_idea instead. Uses the workspace AI budget. Usually you can write the post yourself instead; use this when the user explicitly wants Postfjord's composer.
    ConnectorOAuth
  • 🗺️ GARIMPO LEADS — Busca estabelecimentos no Google Maps (como o botão "Google Maps" da tela) e devolve uma PRÉVIA: nome, telefone, site, endereço, avaliação. Não grava nada — para salvar, mande os escolhidos em add_domain_checker_leads com um list_name. Usa a chave Google Places da conta (gera custo): até 5 cidades × 5 tipos por chamada.
    ConnectorOAuth
  • EXPERIMENTAL. Finishes WhatsApp's passkey confirmation after linking got stuck on it. Call this only after the user tried get_pairing_qr or request_pairing_code and that result said WhatsApp asked for a passkey (passkeyRequired, or the passkey notice). Needs desktop Google Chrome and a browser extension the page links to. It does not work on a phone or in a cloud or virtual machine. Returns a link only, no QR code. Tell the user to open that link on desktop Chrome with their phone nearby. The page installs the extension if needed; the user presses Start, scans the QR code, then confirms the passkey. About 2 minutes after Start. When they say it's done, call get_session_status. Do not call get_pairing_qr, request_pairing_code or restart_session while they are on that page.
    ConnectorOAuth
  • Compare 2-3 developer tools, libraries or programming languages side by side. Returns each entry's full Markdown-KV block separated by "===". Alternatives and worksWith are enriched with tagline + agent-readiness for resolved slugs. If any requested slugs are not found, they appear in a trailing "Note: slugs not found: ..." line; the comparison still returns for the ones found. Examples: - Three search engines: {slugs: ["meilisearch-oss", "algolia", "elasticsearch-oss"]} - Two ORMs: {slugs: ["drizzle-orm", "prisma"]} - Three auth providers: {slugs: ["auth0", "clerk", "keycloak"]} - Hosted vs self-hosted for the same vendor: {slugs: ["redis-cloud", "redis-oss"]} — shows deployment trade-off - Postgres engine vs hosted offerings: {slugs: ["postgresql", "supabase-cloud", "cockroachdb-cloud"]} - Two languages for a CLI: {slugs: ["go", "rust"]} Edge cases: - Cross-category comparisons (e.g., {slugs: ["auth0", "redis-cloud"]}) are allowed but rarely useful. Same-category comparisons answer "which should I pick?" better; cross-category answers "these coexist in my stack" — a compatibility question. - Minimum 2 slugs, maximum 3. Four or more is a validation error; for more, run pairs. - Invalid or unknown slugs are listed under "slugs not found"; the partial comparison returns for valid ones. - Duplicate slugs in the array are deduplicated. - A few tools are single entries (no -cloud/-oss split): stripe, auth0, firebase, twilio, openai, pinecone, algolia. Don't pass "stripe-cloud" — it doesn't exist. Risk: read-only, closed-world, idempotent — no state change possible.
    ConnectorNo auth
  • Reads a plain text file from the local filesystem by its absolute path — the primary, default tool for reading a local text file (use this unless the file is a PDF, Word, Excel, or PowerPoint document, which have their own readers). Reads anywhere on this Mac — home, external disks, cloud drives, /tmp — with one exception: credential and identity locations (keychains, ~/.ssh, ~/.aws, browser logins, another user's home, Time Machine backups) are never read. Supports .txt, .md, .csv, .json, .xml, .log, .yaml, .toml and common code file types; auto-detects UTF-8 with Latin-1/Windows-1252 fallback. For files in OneDrive use onedrive_read_file, in Google Drive gdrive_read_file; for PDFs pdf_read, Word word_read, Excel excel_read.
    ConnectorOAuth
  • PUBLISH a reply to this review's public Google profile. This is a public, customer-visible action - call it ONLY when the user has explicitly approved this exact text (Google's policy: a person approves every reply; one call per approved reply, never in bulk). If Google refuses the request, the text is preserved in ReputeMap with a manual fallback (status 'manual_required') - words are never lost. Google also moderates replies: google_state 'pending' = it is checking the reply before showing it; status 'rejected_by_google' = it will not show it (policy_violation and detail say why) - write a different reply.
    Connector
    Destructive
    No auth
  • Update an existing identity: description and tags (removeTagKeys drops tags), its cloud-identity blocks (aws, gcp, azure, ngs; each replaces the stored block, and removeCloudIdentities detaches the ones it names), networkResources and nativeNetworkResources (each replaces the whole array), and the SpiceDB and memcache access lists. Provider blocks can modify real resources in the connected cloud account, including AWS IAM roles, GCP service accounts, and Azure managed identities. A new identity: create_identity. Giving one workload AWS, GCP, or Azure access: grant_cloud_access.
    Connector
    Destructive
    OAuth
  • Generate a full song from a text brief via Google Flow Music (Lyria). prompt — free text: genre, mood, BPM, instruments, and whether you want vocals or an instrumental (e.g. "dreamy synthwave, retro 80s, 110 bpm, instrumental"). The Producer agent turns it into a finished track (usually ~2-3 minutes, and it returns TWO variants). model — "lyria" (Lyria 3.5, the default flagship) or "lyria-pro" (Lyria 3 Pro, legacy). lyrics — optional explicit words to sing; omit for the model to write its own / stay instrumental. SAVE THE RESULT. Each returned clip carries a public `audio_url` (a Google Cloud Storage .m4a, no auth header needed) plus `download_path` on our server. Unless the user said otherwise, download the audio into their project. Fields per clip: clip_id, title, duration (seconds), lyrics, audio_url, wav_url, image_id (cover, feeds music_video), image_url. Returns {"clips": [...], "media": [...], "conversation_id": "..."} when done, or a job_id to poll with check_job if it isn't ready within ~90s. conversation_id — pass the one from an earlier result to keep working on the same track ("same song but 30 seconds shorter"); the Producer remembers what it just made. Omit it for a fresh start. Every result carries one, so a follow-up is always possible.
    ConnectorNo auth
  • Set which Google Ads account is the user's MCC (My Client Center / manager). This becomes the `login-customer-id` HTTP header for every subsequent Google Ads API call against a sub-account under the manager. Required for agency users with multiple client accounts under one MCC; single-account users normally don't need to call this. Validates that the customerId is in the user's accessible-accounts list AND that Google Ads reports it as a manager account (`isManager=true`). Pass a sub-account ID and the call rejects. After setting, the displayed names of sibling sub-accounts in list_ad_accounts will resolve correctly instead of falling back to 'Account 1234567890'.
    Connector
    Destructive
    OAuth