Skip to main content
Glama
742,106 tools. Updated 2026-11-04 13:08

"Using Google Search to Generate a Report" matching MCP tools:

  • Generate a pre-purchase report for a titled asset by VIN (cars, trucks, RVs, trailers, heavy equipment) or HIN (recreational boats). Returns open federal NHTSA recalls (severity-ranked), consumer-complaint crash/fire/injury/death counts, open investigations, VIN check-digit + factory decode, and the exact next-step sources for lien & title-brand. Public NHTSA/USCG data — not an official title record; lien/salvage need a state/NMVTIS check, which the report links.
    ConnectorNo auth
  • Get the stored day-by-day ranking history for one keyword on one search engine over a date range. Reads RankParse snapshots synced on a schedule; it is not a live SERP check. History is inherently single-engine, so engine is required (use get_keyword_rankings first to compare across engines). Days with no synced data are simply absent from rows rather than filled with a zero or placeholder value -- do not treat a missing date as "not ranking". Bing and Yandex are opt-in and lower-frequency than Google; their responses may report availability as provider_limited, meaning that provider did not return enough data for that day rather than the keyword ranking nowhere.
    ConnectorOAuth
  • 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
  • Compare what this account pays for in Google Ads search with what its Search Console site ranks for, over the same dates: paid terms ranking top three, queries with no Google Ads search term found, and paid terms with no organic ranking, with cost, clicks and position. Identical wording only. Read-only; needs Search Console. Tools revision: 8ebdf5be.
    ConnectorOAuth
  • Check the account status for this idea's full Demand Discovery Report and return the user's next step. This call NEVER moves money and never transacts on the user's behalf - it only looks up whether the given email already has an account with available report slots or a report already running. It returns ONE of: the existing report path (alreadyRunning=true, chargeRequired=false, nothing new started), a no-charge slot path when the idea is already covered, or a secure hosted link the user may CHOOSE to open in their own browser to order the report (normally $49). Any purchase happens entirely on that hosted page and is initiated by the user - never by this tool. Once the order is confirmed, call get_demand_report_status with the returned orderId to stream the finished report into chat. The Demand Discovery Report grades the idea on a 0-100 Demand Score™ with a Build / Pivot / Kill verdict™, grounded in real behavioral signals (search, conversation, adoption, capital). It normally follows a free Market Research report (start_demand_report). If that step returned a reportId, pass that EXACT id here - it ties the paid order to the existing record. If you do NOT have a reportId, OMIT it entirely; DD resolves the idea from name/problem/solution. NEVER invent, guess, or placeholder a reportId - a fabricated id is rejected. Call this when the user wants the full/paid report, e.g. "run the $49 report", "yes, validate it for real", "I want the Demand Score", "run Demand Discovery on this", "do the deep report". Pass the SAME name/problem/solution used for the free report so the order ties back to it, the user's email, and the reportId from the free step if you have it. If a paid report already exists for this idea (for example an existing pack slot was already used), this returns that report's status with alreadyRunning=true instead of starting a new order - in that case do NOT re-run the free step or surface a new payment link; poll get_demand_report_status (when pollWith is set) or open the returned link.
    ConnectorNo auth
  • Report a problem with **the Partle marketplace API/MCP itself**. Authenticated. Prefer **OAuth**: connect once via the consent flow and the bearer token is attached automatically. **Fallback**: pass an `api_key` (prefix `pk_`, generate at /account). Required OAuth scope: `feedback:write`. Feedback is attributed to your account so reports are trustworthy and the channel can't be flooded anonymously. Scope — what this is for: - A Partle tool description is unclear or its parameters are surprising. - A Partle response is broken, malformed, or missing fields. - The Partle catalog is missing a category of products you'd expect. - Search relevance is off for a specific class of queries on Partle. Scope — what this is **NOT** for: - General complaints about tasks Partle isn't designed to do (Partle is a local-marketplace search/listing API — not a news API, an HTML hosting service, a portfolio-rebalancing app, a stock brokerage, or a generic dashboard SaaS). - Venting that an invented API key was rejected (Partle keys must be `pk_<hex>`; generate one at /account — don't fabricate them). - Asking the maintainers to do work the user requested but you can't do. If you can't fulfil a user request, tell the user — don't submit feedback about it here. Don't loop — each call adds a row and pages the maintainer. Resubmitting the same text within 24h is de-duplicated (returns the existing id). Args: feedback: Freeform text up to 5000 characters. Be specific — name the tool, the input that was confusing, and what you expected. api_key: Optional API key (`pk_*`, generate at /account). Used when there is no OAuth token, and also when the OAuth token lacks the required scope — an explicitly passed key overrides an ambient token that is scoped too narrowly. An invalid or revoked token still fails regardless. Omit when using OAuth. Returns: ``{"id": int, "message": "Thanks for the feedback!"}`` on success, or ``{"error": ...}`` on auth, rate-limit, or validation failure.
    ConnectorNo auth

Matching MCP Servers

Matching MCP Connectors

  • google search: google web search api, web, images, videos, news, music, favicon, proxy, audio.

  • Scrape Google search results with SERP data, ads, and knowledge panels

  • Report a problem with **the Partle marketplace API/MCP itself**. Authenticated. Prefer **OAuth**: connect once via the consent flow and the bearer token is attached automatically. **Fallback**: pass an `api_key` (prefix `pk_`, generate at /account). Required OAuth scope: `feedback:write`. Feedback is attributed to your account so reports are trustworthy and the channel can't be flooded anonymously. Scope — what this is for: - A Partle tool description is unclear or its parameters are surprising. - A Partle response is broken, malformed, or missing fields. - The Partle catalog is missing a category of products you'd expect. - Search relevance is off for a specific class of queries on Partle. Scope — what this is **NOT** for: - General complaints about tasks Partle isn't designed to do (Partle is a local-marketplace search/listing API — not a news API, an HTML hosting service, a portfolio-rebalancing app, a stock brokerage, or a generic dashboard SaaS). - Venting that an invented API key was rejected (Partle keys must be `pk_<hex>`; generate one at /account — don't fabricate them). - Asking the maintainers to do work the user requested but you can't do. If you can't fulfil a user request, tell the user — don't submit feedback about it here. Don't loop — each call adds a row and pages the maintainer. Resubmitting the same text within 24h is de-duplicated (returns the existing id). Args: feedback: Freeform text up to 5000 characters. Be specific — name the tool, the input that was confusing, and what you expected. api_key: Optional API key (`pk_*`, generate at /account). Used when there is no OAuth token, and also when the OAuth token lacks the required scope — an explicitly passed key overrides an ambient token that is scoped too narrowly. An invalid or revoked token still fails regardless. Omit when using OAuth. Returns: ``{"id": int, "message": "Thanks for the feedback!"}`` on success, or ``{"error": ...}`` on auth, rate-limit, or validation failure.
    ConnectorNo auth
  • Check the account status for this idea's full Demand Discovery Report and return the user's next step. This call NEVER moves money and never transacts on the user's behalf - it only looks up whether the given email already has an account with available report slots or a report already running. It returns ONE of: the existing report path (alreadyRunning=true, chargeRequired=false, nothing new started), a no-charge slot path when the idea is already covered, or a secure hosted link the user may CHOOSE to open in their own browser to order the report (normally $49). Any purchase happens entirely on that hosted page and is initiated by the user - never by this tool. Once the order is confirmed, call get_demand_report_status with the returned orderId to stream the finished report into chat. The Demand Discovery Report grades the idea on a 0-100 Demand Score™ with a Build / Pivot / Kill verdict™, grounded in real behavioral signals (search, conversation, adoption, capital). It normally follows a free Market Research report (start_demand_report). If that step returned a reportId, pass that EXACT id here - it ties the paid order to the existing record. If you do NOT have a reportId, OMIT it entirely; DD resolves the idea from name/problem/solution. NEVER invent, guess, or placeholder a reportId - a fabricated id is rejected. Call this when the user wants the full/paid report, e.g. "run the $49 report", "yes, validate it for real", "I want the Demand Score", "run Demand Discovery on this", "do the deep report". Pass the SAME name/problem/solution used for the free report so the order ties back to it, the user's email, and the reportId from the free step if you have it. If a paid report already exists for this idea (for example an existing pack slot was already used), this returns that report's status with alreadyRunning=true instead of starting a new order - in that case do NOT re-run the free step or surface a new payment link; poll get_demand_report_status (when pollWith is set) or open the returned link.
    ConnectorNo auth
  • Attach real search data to one article idea that is already in the project — runs one live Google search per target keyword and returns volume bands and the pages currently ranking for each. Use after create_article_suggestion_with_input, or on any existing suggestion the operator wants judged on data instead of instinct. Opportunity score and cluster placement are returned only when the project has a completed research run to compare against; on a project without one they are absent, and start_research_run is what produces them. Do not use to find new ideas or map a niche — that is start_research_run. Consumes no credits; daily- and monthly-capped per account.
    ConnectorNo auth
  • Generate an executive-level strategic review report for an idea, synthesising all available validation data (market research, competition, SWOT, revenue model, VC score) into a concise go/no-go assessment with actionable recommendations. Requires prior validation data (run request_revalidation first if none exists). Returns cached report instantly if one exists, otherwise generates fresh analysis. Spends 2 credits only when generating new content. Not read-only; pass an ideaId you own.
    ConnectorNo auth
  • Create the exact invoice previously returned by prepare_client_invoice. This is a confirmed write: it revalidates the report snapshot and client identity, creates a private editable Google Doc plus private PDF and DOCX copies, records the issued invoice, and supersedes an older active invoice for the same report. It does not send email or create an Income row. If tax is positive, confirmTax must be true.
    Connector
    Destructive
    No auth
  • Generate a new sourced encyclopedia article from a title (web search + LLM, ~15s). Returns the existing article instead if the topic is already covered. Daily rate limit applies — search first.
    ConnectorNo auth
  • Get Google Ads performance insights for an account, at campaign, ad-group, or keyword level (cache-first with auto-refresh from Google). Returns an account summary with previous-period comparison, a sortable per-entity table, and an optional daily timeseries. Metrics on both the summary and every row: cost, impressions, clicks, conversions, conversions_value + derived roas/ctr/cpc/cpm/cost_per_conversion/cvr; all_conversions, all_conversions_value, cost_per_all_conversion, view_through_conversions, cross_device_conversions (all_* counts EVERY conversion action, `conversions` counts only the ones included in bidding); engagements, engagement_rate, interactions, interaction_rate; video_views (TrueView/YouTube), video_view_rate, avg_cpv, video_p25/p50/p75/p100_rate; youtube_comments, youtube_likes, youtube_shares (v25 social engagement on Shorts ads on YouTube — 0 outside YouTube/Shorts delivery); and the competitive set search_impression_share, search_lost_is_budget, search_lost_is_rank, top_impression_pct, abs_top_impression_pct. The competitive metrics are Search-network only and read 0 for Display/PMax/Video delivery. search_lost_is_budget is CAMPAIGN LEVEL ONLY (the Google API does not report it for ad groups or keywords) so the key is ABSENT at the other levels rather than 0; at campaign level impression share plus the two lost shares add up to 100%. quality_score (1-10, null when Google reports none) appears only at keyword level. When Google capped most days in range, meta.share_metrics_note is set and rows carry search_share_is_approximate: report those three share figures as estimates. ad_account_id is the bare 10-digit customer ID from adsap_google_list_ad_accounts. Keyword-level row ids are "<ad_group_id>:<criterion_id>" — pass them as-is to adsap_google_set_entity_status / adsap_google_update_entity (entity_type keyword). Only entities with impressions in range appear (PMax has no ad groups/keywords by design). Note: Google reports plain Clicks/CTR/CPC (no Meta-style link-click split). For Meta insights use adsap_get_insights.
    ConnectorAPI key
  • Create a complete Google Ads Performance Max campaign in ONE atomic request: budget, campaign (ALWAYS created PAUSED — activate later with adsap_google_set_entity_status), location/language targeting, and one asset group with text assets plus images previously created via adsap_google_upload_asset. Use dry_run: true first — Google validates the whole chain without creating anything; show the plan, get confirmation, then execute. Asset-group minimums (enforced): 3-15 headlines (<=30 chars), 1-5 long headlines (<=90), 2-5 descriptions (<=90, at least one <=60), business name (<=25), 1-5 logo images (1:1, min 128x128), 1-20 landscape images (1.91:1, min 600x314), 1-20 square images (1:1, min 300x300). Video is optional — without one, Google may auto-generate video from your assets. bidding_strategy 'auto' resolves to maximize_conversions with a conversion-tracking preflight warning when the account has no conversion actions. retail: true attaches the account's ACTIVE Merchant Center link (fails cleanly if none). ad_account_id is the bare 10-digit customer ID. For Search campaigns use adsap_google_create_search_campaign; for Meta use adsap_create_campaign.
    ConnectorAPI key
  • Draft a public reply to one review, using its id from my_reviews. Replaces any existing reply. Two or three sentences in the owner's voice; never offer discounts, argue, or share personal details. 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 deleting one photo from the listing, using its id from my_photos. This one cannot be undone. 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
  • Use this when the user asks which companies use a particular technology (for example Intercom, Zendesk, HubSpot, Shopify, Stripe), or which technologies are most used. With a slug: companies detected using that technology, 20 per page. company_count is every company detected using it; listed_count is how many the list can page through, so stop at page ceil(listed_count / 20). Without a slug: the technology index, most-used first, with company counts (default 100, up to 1,000). Slugs are lower-case with hyphens, e.g. intercom, hubspot, google-analytics, shopify. Works without an API key; no contact reveals.
    ConnectorOAuth
  • Search the user's Google Contacts (saved contacts + Google's auto-collected "other contacts") across all connected Google accounts, by name (or partial name/email). Returns each match's name, primary email, full email list (for people with several addresses), and source ('contact' = saved, 'other' = auto-collected). Use this to resolve a person's NAME to an email address before composing/sending a message — on 0 matches, fall back to searching past message history or ask the user directly; on multiple matches, ask the user which one before proceeding. Accounts without the contacts scope are skipped and reported in `errors` with a reconnect hint. Call list_accounts to learn account labels. Read-only — no contact writes.
    ConnectorOAuth
  • Browse ALL of the user's SAVED Google Contacts for one account, one page at a time — unlike search_contacts, no query is needed, so this is how to see the whole address book (or find someone when a name search comes up empty/ambiguous). Returns each contact's name, primary email, full email list, and a `next_page_token`: pass that back as `page_token` to fetch the next page, and stop once it's null. Only ONE account per call (pagination is per-account) — pass `account` when more than one Contacts-enabled Google account is connected (call list_accounts to learn labels); it auto-resolves when only one is connected.
    ConnectorOAuth
  • The Search Console and Bing Webmaster properties the workspace's connected accounts can read. The first console call; every other console tool takes a property from here. Use when: "what sites are in my Search Console", before any console_get_* call, or to check which engine is connected. Not for: third-party sites the user does not own, use seo_get_domain_overview. Live rankings, use seo_get_serp. Returns: List. rows[]: engine (google | bing), property (the id to pass on: sc-domain:example.com, https://example.com/ or a Bing site URL), permission (Google: siteOwner, siteFullUser, siteRestrictedUser, siteUnverifiedUser; Bing: null), verified. NotConnected when no account of that engine is connected; its connect_url is where the user connects one. Cost: 0 credits. The user's own data is free; 60 console calls per minute per workspace. Cached 1 hour. Example: {"engine": "all"}
    ConnectorAPI key
  • The advertisers matching a brand name in Google's ad library, with their ids. Use when: before ads_get_advertiser_ads on Google, because that library is keyed by advertiser id and one brand has one entry per region. Not for: the ads themselves, use ads_get_advertiser_ads with the id this returns. The other libraries, which search their ads directly with ads_search_ads. Returns: List. rows[]: platform, id, name, region, ads_estimate, website. Cost: 1 credit. Cached 7 days. Example: {"platform": "google", "query": "lululemon", "region": "US"}
    ConnectorAPI key