Google Business Profile logo
Local & Reputation
Coming soon

Google Business Profile MCP server

Locations, reviews, posts and local performance across every listing you manage.

Coming soon — Business Profile support is not yet available.

Tools
54
Read-only
29
Write
25
Off by default
Destructive
9
Flagged distinctly
What it does

Google Business Profile through an assistant

Also known as Google My Business. For a business with one location or a hundred, an assistant can pull listing details, read and reply to reviews, publish local posts and media, manage booking and ordering links, see the search terms people actually used to find you, and report on what they did next -- calls, direction requests, website clicks, bookings. The most useful tool is the least obvious one: Google will accept an edit and return success while quietly never publishing it, so there's a check for whether a listing is actually in good standing. Everything that writes is opt-in, and anything that reaches the real world -- mailing a verification postcard, revoking someone's access, deleting a listing -- needs an explicit confirmation on top.

  • Whether a listing is actually eligible to appear -- the answer to "why isn't my change showing up"
  • Reviews across every location in one call, with replies (opt-in, confirmation required)
  • The search terms people used to find each business, month by month
  • Local posts and media -- publicly visible immediately, no approval queue
  • Booking, ordering and reservation links
  • Daily performance: impressions, calls, direction requests, website clicks, bookings
  • Business categories and attributes, with the metadata needed to set them correctly
  • What Google changed on a listing by itself, and how to accept or reject it
  • Verification state, options, and completion
  • Who has access to each account and location (opt-in to change)
Ask your assistant

What people actually ask

Real questions, answered from live Google Business Profile data.

“I updated my hours and nothing changed on Maps. What's wrong?”

google_business_profile_get_voice_of_merchantgoogle_business_profile_get_google_updated_location

“What are people searching to find my shop, and are they actually calling?”

google_business_profile_list_search_keywordsgoogle_business_profile_get_performance

“Show me every review across all my locations I haven't replied to yet.”

google_business_profile_batch_get_reviewsgoogle_business_profile_list_reviews
Tool catalogue

54 Google Business Profile tools

Grouped by what they touch. Every tool is individually toggleable — you expose only what you want.

Account

13 tools5 read-only · 8 write

Showing 10 of 10 tools

  • google_business_profile_accept_invitation
    Write

    Accept a pending admin invitation, taking on whatever role the inviter offered. The role is set by the invitation and cannot be negotiated here -- read it from google_business_profile_list_invitations first if it matters. Accepting only adds access for this user, so it is not confirm-gated; use google_business_profile_remove_account_admin or the Business Profile console to give the access back up.

  • google_business_profile_create_account
    Write

    Create a new business account to group locations or users under. Only LOCATION_GROUP (a container for locations, the usual choice for a chain or an agency's client) and USER_GROUP (a container for people, used to grant a team access in one place) can be created -- PERSONAL and ORGANIZATION accounts are not creatable through the API. Confirm-gated because there is no delete-account method: an account created by mistake stays in the user's account list permanently and can only be removed by Google support.

  • google_business_profile_decline_invitation
    Write

    Decline a pending admin invitation. The invitation is consumed -- declining does not leave it pending for later, and there is no undecline, so the inviter has to send a fresh invitation if this was a mistake. Nothing this user already has access to is affected.

  • google_business_profile_get_account
    Read-only

    Full details for one account: its display name, type (PERSONAL, LOCATION_GROUP, USER_GROUP, ORGANIZATION), this user's role on it (PRIMARY_OWNER, OWNER, MANAGER, SITE_MANAGER), verificationState, permissionLevel, and vettedState. Use this over google_business_profile_list_accounts when you already have the account name and want the fields list_accounts does not return -- notably verificationState and vettedState, which govern whether the account may own verified listings.

  • google_business_profile_invite_account_admin
    Write

    Invite a Google account to administer a Business Profile account. This only sends an invitation -- the invitee has to accept before they get any access, so it cannot silently escalate anyone's privileges. It does still grant standing access to every location under the account once accepted, so it is confirm-gated. Roles offered are OWNER (owner-level access) and MANAGER (managerial access). PRIMARY_OWNER is not offered because making someone primary owner is an ownership transfer rather than an access grant, and SITE_MANAGER is a legacy social-pages role the API refuses to create account admins with.

  • google_business_profile_invite_location_admin
    Write

    Invite a Google account to administer one location. Like the account-level invite this is two-party -- the invitee must accept before they get access -- but it is still a standing grant on a live listing, so it is confirm-gated. Roles are OWNER, MANAGER, and the legacy SITE_MANAGER (social pages only). Prefer this over google_business_profile_invite_account_admin when the person should only reach one listing rather than everything under the account.

  • google_business_profile_list_account_admins
    Read-only

    Everyone who administers an account, with each admin's resource name, email, and role. Read this before any admin change -- the admin resource name it returns is the only valid input to google_business_profile_remove_account_admin, and the role column is what tells you whether a removal would strand the account without an owner.

  • google_business_profile_list_accounts
    Read-only

    Every Google Business Profile account this connection's Google account can access. Not scoped to this connection's authorized locations -- use this to discover accounts before authorizing locations from Settings -> Connections -> Manage Locations.

  • google_business_profile_list_invitations
    Read-only

    Pending admin invitations addressed to this account, for both account-level and location-level access. These are invitations waiting on this user to accept or decline, and each one's resource name is what google_business_profile_accept_invitation and google_business_profile_decline_invitation take. Returns every pending invitation -- the API's targetType filter is not exposed, so filter the result yourself if you only care about one kind.

  • google_business_profile_list_location_admins
    Read-only

    Everyone who administers a single location, with each admin's resource name, email, and role. Location admins are separate from account admins -- someone with access to the parent account will not necessarily appear here, and vice versa, so check both when auditing who can edit a listing.

+ 3 more account tools — see the full catalogue

Location

13 tools9 read-only · 4 write

Showing 10 of 10 tools

  • google_business_profile_create_location
    Write

    Create a new business location owned by the authenticated user. Set validateOnly: true first -- it runs the full validation and returns the errors without creating anything, and a dry run is the cheapest safety mechanism here. Resolve primaryCategoryId through google_business_profile_list_categories rather than guessing; the category drives local ranking and Google accepts any well-formed id. Pass requestId (a UUID) so a retried call does not create a duplicate listing. Note that the new location will not be usable by this connector's other tools until it is added to this connection under Settings -> Connections -> Manage Locations, and that a created location still has to be verified before it appears publicly.

  • google_business_profile_delete_location
    Write
    Destructive

    Permanently delete a business location. This removes a LIVE listing: the reviews customers wrote, the photos on it, and the ranking history the profile has accumulated are all attached to that listing and go with it. There is no undo and no API path to restore it. Requires confirm: true. Prefer google_business_profile_update_location to correct a listing, or mark it closed via the Business Profile console, rather than deleting. Some locations cannot be deleted through the API at all -- those return an error and must be handled at business.google.com/manage.

  • google_business_profile_get_google_updated_attributes
    Read-only

    The location's attributes as they appear LIVE on Maps and Search, which may have been changed by Google or by user-generated content since the merchant last saved them. Compare against google_business_profile_get_location_attributes -- the merchant's saved version -- to find attributes that drifted, then correct them with google_business_profile_update_location_attributes.

  • google_business_profile_get_google_updated_location
    Read-only

    The location as it appears LIVE on Maps and Search, which is not necessarily what the merchant saved -- Google and user-generated content can overwrite fields on their own. The response carries two masks: diffMask lists fields where the live consumer view differs from the merchant's information, and pendingMask lists merchant edits still in flight and not yet published. Use it to audit whether a profile drifted. To accept Google's version of a field, read the value here and patch it back with google_business_profile_update_location; to reject it, patch your own value back the same way. google_business_profile_get_location returns the merchant's version instead -- reach for that one when you want to know what you set, this one when you want to know what customers see.

  • google_business_profile_get_location
    Read-only

    Full details for one authorized location.

  • google_business_profile_get_location_attributes
    Read-only

    The attributes currently set on a location as the merchant last saved them -- amenities, service options, accessibility, payment methods and the like. This is the merchant's view; use google_business_profile_get_google_updated_attributes to see what consumers actually see on Maps and Search, which can differ. Pair with google_business_profile_list_attribute_metadata to learn what each attribute id means and what it could be set to.

  • google_business_profile_list_attribute_metadata
    Read-only

    The attributes a location is ALLOWED to carry, given its primary category and country -- each with its id, display name, value type (BOOL, ENUM, URL, REPEATED_ENUM), permitted values, and a deprecated flag. Run this before google_business_profile_update_location_attributes: the legal attribute set is a function of (primary category, country) and cannot be known in advance, and a deprecated attribute will accept a write and silently discard it, so writing without checking deprecated here means reporting success on a no-op. Scope it EITHER by location (easiest -- Google resolves the category and country for you) OR by categoryName + regionCode; the two forms are mutually exclusive.

  • google_business_profile_list_categories
    Read-only

    Search Google's business category list and return the stable categories/gcid:* ids. This is the ONLY way to obtain a valid category id -- google_business_profile_update_location and google_business_profile_create_location both take a primaryCategoryId and neither can discover one, so without this tool an agent is guessing at an opaque token, and a wrong primary category is one of the most damaging things you can do to a listing's local ranking because Google accepts any well-formed id without complaint. Always resolve the category here before setting one. Search is PREFIX-ONLY and matches the display name, never the id -- "food" returns "Food Court" but not "Fast Food Restaurant", so retry with a shorter stem before concluding a category does not exist. The available set differs by country. displayName is localized and output-only; only the id is writable.

  • google_business_profile_list_locations
    Read-only

    Locations under a Business Profile account, with their title, address, phone, categories, and hours.

  • google_business_profile_search_chains
    Read-only

    Find a brand/chain Google already knows about (Walmart, Starbucks) and return its chains/{chain_place_id} name plus location count and websites. Unlike google_business_profile_list_categories this search is fuzzy, not prefix-only -- misspellings and partial names match. Use it when a location belongs to a known brand and you need the chain to relate it to; use google_business_profile_search_google_locations instead when you are looking for one specific storefront.

+ 3 more location tools — see the full catalogue

Place actions

6 tools3 read-only · 3 write

Showing 6 of 6 tools

  • google_business_profile_create_place_action_link
    Write

    Add a booking, ordering, reservation or appointment link to a location's Business Profile. This puts a live action button in front of customers on Maps and Search, so point it at a working destination. Run google_business_profile_list_place_action_types for this location FIRST -- valid types vary by location and country, and a type that is fine elsewhere is rejected here. Setting isPreferred: true SILENTLY UN-PREFERS whatever link was previously preferred for that same action type at this location; only one link per type can be preferred, and the demotion is not reported back. Creating the same (uri, placeActionType) again at the same location is treated as a duplicate of the original request rather than a second link.

  • google_business_profile_delete_place_action_link
    Write
    Destructive

    Permanently remove a place action link from a location. The booking, ordering or reservation button disappears from Maps and Search, and customers who would have used that path simply cannot -- this is a direct cut to a revenue channel, and there is no undo. Requires confirm: true. If the destination merely moved, use google_business_profile_update_place_action_link to repoint the uri instead of deleting. Links owned by a third-party aggregator (isEditable false) cannot be deleted through this connection.

  • google_business_profile_get_place_action_link
    Read-only

    One place action link in full -- its uri, type, isPreferred flag, create and update times, providerType (MERCHANT or AGGREGATOR_3P) and isEditable. Use it to confirm the state of a single link before editing it; google_business_profile_list_place_action_links already returns the same fields for every link at once, so reach for this one only when you have an id and want just that link.

  • google_business_profile_list_place_action_links
    Read-only

    Every booking, ordering, reservation and appointment link currently live on a location's Business Profile, with each link's id, uri, type, whether it is the preferred link for its type, and who owns it. Check providerType and isEditable on the results before trying to change one: links placed by a third-party aggregator come back with isEditable false and cannot be updated or deleted through this connection. This is the tool to start from -- the ids it returns are what google_business_profile_get_place_action_link, _update_place_action_link and _delete_place_action_link take.

  • google_business_profile_list_place_action_types
    Read-only

    The place action types -- booking, ordering, reservation, appointment -- that are actually available for a location or a country, with their localized display names. Run this BEFORE google_business_profile_create_place_action_link: the valid set varies by location and by country, so a type that works for one listing is rejected for another, and there is no other way to find out which apply. Filter by location (preferred, it accounts for the location's category and country) or by regionCode, not both. With neither, every type Google defines is returned, which does not tell you what this location can use.

  • google_business_profile_update_place_action_link
    Write

    Change an existing place action link's destination uri, its action type, or its preferred flag -- those three are the only editable fields. Repointing the uri is the right way to fix a broken booking or ordering path; deleting and recreating loses the link's history. Setting isPreferred: true SILENTLY UN-PREFERS the previous preferred link of the same action type at this location, with no mention of it in the response. Links whose providerType is AGGREGATOR_3P come back with isEditable false and will reject this call -- check google_business_profile_list_place_action_links first. Changing the uri or type to one that already exists at this location fails as ALREADY_EXISTS.

Media

5 tools2 read-only · 3 write

Showing 5 of 5 tools

  • google_business_profile_add_media
    Write

    Add a photo or video to a location's Business Profile from a publicly-fetchable URL. Google must be able to fetch that URL itself -- there is no byte-upload path here. Note LOGO is a deprecated alias: Google silently stores it as PROFILE, so pass PROFILE directly rather than expecting a distinct logo slot. Runs on Google's legacy v4 API, where a 404 may mean the route itself was withdrawn rather than the location being missing.

  • google_business_profile_delete_media
    Write
    Destructive

    Permanently remove a photo or video from a location's Business Profile. Requires confirm: true -- this is irreversible, and the merchant may hold no other copy of the image, so a wrong delete can destroy the only remaining original. Google's copy is not a backup: read the item with google_business_profile_get_media and save its URL first if there is any doubt. To re-file a photo rather than remove it, use google_business_profile_update_media. Runs on Google's legacy v4 API, where a 404 may mean the route itself was withdrawn rather than the photo being missing.

  • google_business_profile_get_media
    Read-only

    Metadata for one media item -- its format, category, dimensions, Google-hosted URL, attribution, and view count. Reach for this over google_business_profile_list_media when you already hold a media name and want that single item, rather than paging a library that can run to thousands of photos. Runs on Google's legacy v4 API, where a 404 may mean the route itself was withdrawn rather than the photo being missing.

  • google_business_profile_list_media
    Read-only

    Photos and videos on a location's Business Profile.

  • google_business_profile_update_media
    Write

    Re-file an existing photo or video under a different category -- for example moving a shot mis-filed as ADDITIONAL into INTERIOR or FOOD_AND_DRINK. Category is the ONLY thing Google lets this endpoint change; a photo's description or image cannot be edited after upload, so replacing either means deleting the item and adding it again. COVER and PROFILE are rejected as targets by Google (and LOGO with them, since it is a silent alias for PROFILE) -- set those two through the Business Profile console. Runs on Google's legacy v4 API, where a 404 may mean the route itself was withdrawn rather than the photo being missing.

Reviews

5 tools3 read-only · 2 write

Showing 5 of 5 tools

  • google_business_profile_batch_get_reviews
    Read-only

    Reviews across SEVERAL locations in one request -- the only cross-location read anywhere in the Business Profile API. For a multi-location merchant this collapses N calls into one, which matters because the API quota is the binding constraint on any portfolio-wide reputation sweep; prefer it over looping google_business_profile_list_reviews. Google caps it at 50 locations per call, and the call is scoped to a single Business Profile account, so locations spanning two accounts need one call each. Runs on Google's legacy v4 API, where a 404 may mean the route itself was withdrawn rather than the locations being missing.

  • google_business_profile_delete_review_reply
    Write
    Destructive

    Remove this business's reply to a review, leaving the review unreplied. Requires confirm: true -- this destroys published, merchant-authored text with no API path to recover it, and the removal is immediately visible on Search and Maps. To correct a reply rather than retract it, use google_business_profile_reply_to_review, which overwrites in place. Runs on Google's legacy v4 API, where a 404 may mean the route itself was withdrawn rather than the reply being absent.

  • google_business_profile_get_review
    Read-only

    One review by id -- star rating, comment, reviewer, timestamps, and the business's reply if there is one. Reach for this over google_business_profile_list_reviews when you already hold a review id and want to re-read that single review, for example to confirm a reply landed, rather than paging the list again to find it. Runs on Google's legacy v4 API, where a 404 may mean the route itself was withdrawn rather than the review being missing.

  • google_business_profile_list_reviews
    Read-only

    Customer reviews for a location, including any existing reply.

  • google_business_profile_reply_to_review
    Write
    Destructive

    Post or overwrite a public reply to a customer review. Permanent and immediately public on Search/Maps -- requires confirmReply: true.

Verification

5 tools3 read-only · 2 write

Showing 5 of 5 tools

  • google_business_profile_complete_verification
    Write

    Finish a PENDING verification by submitting the PIN the business already received on the postcard, email, SMS, or phone call. This cannot initiate anything and sends nothing to anyone -- it only redeems a code a human already has -- so it needs no confirmation. Get the verification id from google_business_profile_list_verifications. Not needed for AUTO verifications, which are instantly VERIFIED on creation.

  • google_business_profile_fetch_verification_options
    Read-only

    Which verification methods this location is eligible for, and where each one would send the PIN -- the mailing address for ADDRESS, the specific email addresses for EMAIL, the phone number for PHONE_CALL/SMS. Read-only and safe: nothing is sent and nothing is started. Always run this before google_business_profile_start_verification, because eligibility varies by location and by language, and asking for a method that is not offered just errors. The email destination in particular cannot be chosen freely -- start_verification only accepts an address this call returned. Service-area businesses configured as CUSTOMER_LOCATION_ONLY may need a ServiceBusinessContext that this tool does not expose; if the call errors for one of those, use the Business Profile console.

  • google_business_profile_get_voice_of_merchant
    Read-only

    Whether this location is in good standing and actually in control of its listing on Google. This is the correct first call for "why isn't my change showing up?" and a prerequisite for trusting any write tool in this connector: if hasVoiceOfMerchant is false, google_business_profile_update_location still returns HTTP 200 but the edits never reach Google Maps. Also returns hasBusinessAuthority (whether another listing could take over as the dominant one) and exactly one of four reason objects explaining why Voice of Merchant is absent -- verify (verification needs starting or continuing), waitForVoiceOfMerchant (under review for quality, just wait), complyWithGuidelines (the listing is suspended or disabled and needs reinstatement, see recommendationReason), or resolveOwnershipConflict (this location duplicates another one that is in good standing).

  • google_business_profile_list_verifications
    Read-only

    Verification attempts for a location and their status (PENDING, COMPLETED, FAILED), newest first. Read-only history -- to see whether the listing is actually healthy use google_business_profile_get_voice_of_merchant, to see which methods are available use google_business_profile_fetch_verification_options, and to finish a PENDING attempt use google_business_profile_complete_verification with the PIN.

  • google_business_profile_start_verification
    Write
    Destructive

    Start verifying a location. This reaches the physical world and NOTHING here can be recalled. ADDRESS physically mails a postcard to a real street address -- once this returns, paper is in the post. EMAIL, SMS and PHONE_CALL send a real message or place a real call to a real person. AUTO changes the listing to VERIFIED immediately with no further step. There is no cancel or delete method anywhere in the Google verification API, and calling this again does NOT resend the same PIN -- it starts another attempt and mails another postcard, so never retry it on a timeout without first checking google_business_profile_list_verifications. Run google_business_profile_fetch_verification_options first: eligible methods vary by location and language, and a method Google is not offering will simply error. Supported here are ADDRESS (needs mailerContact, the contact name to address the postcard to), EMAIL (needs emailAddress, which Google accepts only if fetch_verification_options returned it), PHONE_CALL and SMS (need phoneNumber), and AUTO (needs nothing). TRUSTED_PARTNER is not supported by this tool because its verification token is a nested object and these schemas are flat; use the Business Profile console for that. Service-area businesses configured as CUSTOMER_LOCATION_ONLY may also need a ServiceBusinessContext this tool does not expose.

Posts

5 tools2 read-only · 3 write

Showing 5 of 5 tools

  • google_business_profile_create_post
    Write

    Publish a Local Post to a location's Business Profile -- publicly visible immediately, no approval queue.

  • google_business_profile_delete_post
    Write
    Destructive

    Permanently remove a published Local Post. Requires confirm: true -- the post and everything it accrued are gone, with no API path to restore either. To fix wording, use google_business_profile_update_post instead: deleting and re-creating resets the post's age and discards its engagement. Runs on Google's legacy v4 API, where a 404 may mean the route itself was withdrawn rather than the post being missing.

  • google_business_profile_get_post
    Read-only

    One Local Post by name -- its summary, topic type, call-to-action, media, state, and timestamps. Reach for this over google_business_profile_list_posts when you already hold a post name and want to read that single post, for example to check its current text before editing it. Runs on Google's legacy v4 API, where a 404 may mean the route itself was withdrawn rather than the post being missing. Note that post-level insights no longer exist anywhere in the API -- v4 reportInsights was removed and the Performance API is location-level only.

  • google_business_profile_list_posts
    Read-only

    Local Posts (updates, offers, events) published to a location.

  • google_business_profile_update_post
    Write

    Edit a published Local Post's summary text or call-to-action link in place. Always prefer this over deleting and re-creating a post to fix a typo: a replacement post starts from zero, losing the original's age and all the engagement it has accrued. Edits are live on Search and Maps immediately, with no approval queue. Pass every field you are changing in one call -- Google caps profile edits at 10 per minute and will not raise it. Runs on Google's legacy v4 API, where a 404 may mean the route itself was withdrawn rather than the post being missing.

Performance

2 tools2 read-only · 0 write

Showing 2 of 2 tools

  • google_business_profile_get_performance
    Read-only

    Daily performance metrics for a location -- impressions (Maps/Search, desktop/mobile), calls, website clicks, direction requests, conversations, bookings, food orders. Ask for every metric you need in one call: they are fetched in a single request, so batching them is a direct saving against the daily quota rather than a convenience. One location per call, though -- the Performance API has no cross-location batch, so a portfolio costs one call per location. Daily granularity only (hourly is not supported); for the monthly search terms people used to find the business, use google_business_profile_list_search_keywords.

  • google_business_profile_list_search_keywords
    Read-only

    The search terms people actually typed to find this business on Google Search and Maps, with a monthly impression count for each -- the only source of this data in the Business Profile API and the primary input for local SEO work. Counts come back as one of two arms and you must check which: `impressions` is an exact figure, while `isThreshold: true` means only `threshold` is set and the real count is some unknown number BELOW it. Google obscures low-volume terms that way, so a thresholded keyword is not a zero and must not be summed or ranked as if it were an exact count. Monthly granularity only -- for daily impressions, calls and clicks use google_business_profile_get_performance.

Every tool name and description, machine-readable: /llms-full.txt

Access & safety

You decide what it can touch

The same model applies to every connector, and it defaults closed.

Authorize once

Connect Google Business Profile through its own consent screen. Credentials are encrypted with AES-256-GCM and never returned by any API response or tool call.

Writes off by default

A new connection switches on a read-oriented default set only. Every write tool must be enabled deliberately before any client can call it.

Roles enforced server-side

READ, WRITE and ADMIN gate tool invocation on the server, not just in the UI. A READ member's token is refused any write tool.

Start with what's live today

Free plan, no card required. Connect in minutes.