Manage your Google Business Profile, business information and customer engagement. Update listings, publish content, monitor reviews and maintain your local presence across Google services.
Try asking
Encrypted at rest, isolated from the model
Resolved from an AES-256-GCM vault at the moment of the call and attached to the request — the model never sees the secrets.
Lists the locations for the specified account, optionally filtered and sorted, and returns the matching Location objects with pagination info.
Creates a new Location that will be owned by the logged-in user, and returns the newly created Location. A newly created location is unverified and not publicly visible on Google Search or Maps until it is verified.
Returns the specified location as last set by the merchant; may not reflect updates from Google or user-generated content live on Google Maps.
Updates the specified location's fields per the given update mask, and returns the updated Location. Only the fields you provide are changed — others keep their current value. NOTE: this overwrites the current field values — the original state is not stored after the call. The response includes both the before and after state so you have a full record of what changed.
DESTRUCTIVE — REQUIRES EXPLICIT USER CONFIRMATION BEFORE CALLING. Permanently deletes the location. This action is irreversible — the location and its data cannot be recovered via this API (the Google Business Profile website may offer other recovery paths). NEVER call this tool autonomously or as part of an automated flow. You MUST stop, tell the user exactly what will be deleted and that it is permanent, and wait for their explicit written confirmation before proceeding.
Returns the specified location as it appears live on Google Maps and Search, which may differ from the merchant's version, along with masks of what Google changed and what's still pending.
Retrieves attributes for a location as last set by the merchant.
Updates attributes for a given location per the given attribute mask, and returns the updated Attributes. Only the fields you provide are changed — others keep their current value. NOTE: this overwrites the current field values — the original state is not stored after the call. The response includes both the before and after state so you have a full record of what changed.
Retrieves attributes for a location as they appear live on Google Maps and Search, which may differ from the merchant's version.
Gets the specified chain, returning NOT_FOUND if the chain does not exist.
Searches for a chain based on chain name and returns the list of matching chains.
Returns a list of business categories matched by the front of the category name (e.g. 'food' matches 'Food Court' but not 'Fast Food Restaurant').
Returns a list of business categories for the provided language and category (GConcept) IDs.
Returns the list of attributes that would be available for a location with the given primary category and country. Provide exactly one of: `parent` (the resource name of an existing location), OR `category_name` together with `region_code` and `language_code`. Set `show_all` to true to get metadata for all available attributes regardless of `parent`/`category_name` — in that case `region_code` and `language_code` are required. Use `page_token` from a previous response to page through results.
Searches all of the possible locations on Google that are a match to the specified request and returns the matching GoogleLocation entries. Exactly one of `location` or `query` must be provided.
Returns the values for each date in a given time range for a single specified daily metric. Only daily data is available; hourly metrics are not supported.
Returns the values for each date in a given time range for multiple specified daily metrics at once. Only daily data is available; hourly metrics are not supported.
Returns the search keywords used to find a business in Search or Maps, each accompanied by impression counts aggregated on a monthly basis.
Lists the accounts the authenticated user owns or has management rights to (or, with parent_account, the accounts directly accessible from an Organization or User Group), and returns the Account objects with a next-page token. The user's personal account is always the first item unless filtered out, and `type` is the only supported filter field.
Returns the specified account, including its name, type, role, permission level, verification and vetted state, and organization info for organization accounts. If the account does not exist or the caller has no access rights to it, the call fails with statusCode 404 and error code UPSTREAM_ERROR.
Creates an account of the given type and primary owner, and returns the new Account. Personal accounts and Organizations cannot be created; User Groups cannot have a Personal account as primary owner; Location Groups cannot have as primary owner a Personal account that belongs to an Organization, and cannot be owned by another Location Group.
Updates the specified business account's accountName (the only editable field) and returns the updated Account; Personal accounts cannot be updated. Only the fields you provide are changed — others keep their current value. NOTE: this overwrites the current field values — the original state is not stored after the call. The response includes both the before and after state so you have a full record of what changed.
Lists the admins of the specified account and returns each admin's resource name, name (or invitee email while pending), role, and whether their invitation is still pending. Personal accounts have no admins: Google rejects them with statusCode 400 ("A PERSON_ACCOUNT cannot have admins"); use list_location_admins for a location's admins.
Lists the pending invitations for the specified account (at most 1000), optionally filtered by target type, and returns each invitation's resource name, invited role, target type, and target account or location.
Lists all admins of the specified location and returns each admin's resource name, name (or invitee email while pending), role, and whether their invitation is still pending.
Lists the local posts (updates, events, offers) of a location and returns the LocalPost objects with a next-page token. Takes the v4 location name accounts/{accountId}/locations/{locationId}, not the locations/{locationId} form the other location tools use.
Returns the specified local post, including its summary, topic type, call to action, event and offer details, media, state (LIVE, PROCESSING, REJECTED) and Google Search link. Fails with statusCode 404 if the post does not exist.
Creates a local post on the specified location and returns the new LocalPost. EVENT and OFFER posts require event (title and a full schedule), offer should only be set on OFFER posts, call_to_action has no effect on OFFER posts, and ALERT posts can be unavailable for authoring.
Updates the fields of the specified local post named in the update mask, and returns the updated LocalPost. Only the fields you provide are changed — others keep their current value. NOTE: this overwrites the current field values — the original state is not stored after the call. The response includes both the before and after state so you have a full record of what changed.
DESTRUCTIVE — REQUIRES EXPLICIT USER CONFIRMATION BEFORE CALLING. Permanently deletes the local post from the location's Business Profile. This action is irreversible — the post cannot be recovered. NEVER call this tool autonomously or as part of an automated flow. You MUST stop, tell the user exactly what will be deleted and that it is permanent, and wait for their explicit written confirmation before proceeding.
Lists the customer reviews of a verified location and returns the reviews (reviewer, star rating, comment, owner reply) together with the location's average rating, total review count and a next-page token. Takes the v4 location name accounts/{accountId}/locations/{locationId}, not the locations/{locationId} form the other location tools use; unverified locations fail upstream.
Returns the specified review of a verified location, including the reviewer, star rating, comment, media and the owner's reply text. Google does not return the reply's reviewReplyState or policyViolation from this endpoint (they come back null); use list_reviews or batch_get_reviews to see whether a reply is APPROVED, PENDING or REJECTED. Fails with statusCode 404 if the review does not exist or has been deleted.
Returns one paginated list of reviews across up to 50 verified locations of an account, each review paired with its location name, plus a next-page token.
Sets the owner's public reply to the specified review of a verified location, creating the reply if none exists, and returns the saved reply text and time. The returned reviewReplyState is null because Google does not report moderation state here; call list_reviews or batch_get_reviews afterwards to see whether the reply is APPROVED, PENDING or REJECTED with a policy violation. Google's Business Profile API policies prohibit automating or triggering review replies without the business owner's prior specific and express consent, and replies must follow Google's prohibited and restricted content policies. Read the review first, write a reply specific to what the reviewer said, show the draft to the user and post it only once they approve it. Generic or copy-pasted replies across many reviews can be rejected (e.g. REPETITIVE or GENERIC_QUALITY). NOTE: this overwrites the current reply — the original state is not stored after the call. The response includes both the before and after state so you have a full record of what changed.
DESTRUCTIVE — REQUIRES EXPLICIT USER CONFIRMATION BEFORE CALLING. Permanently deletes the owner's reply to the specified review of a verified location; the review itself stays. This action is irreversible — the reply text cannot be recovered. NEVER call this tool autonomously or as part of an automated flow. You MUST stop, tell the user exactly what will be deleted and that it is permanent, and wait for their explicit written confirmation before proceeding.
Google Business MCP Server is open source. Tell the MewCP maintainers.
Pick your app for a step-by-step guide. Most sign in with OAuth, so there is no API key to copy.
Discovery, routing, credentials, tool scoping and execution logs all happen at the gateway→connections stay ACTIVE with no work from you
Google Business runs through a gateway that holds the credentials, scopes the access and records every call.
Managed auth, hosted MCP servers, and every Google Business tool your agent needs.
Free to start.
Add as preferred source on GoogleEvery Monday, one email shows what Google brought your business last week and what your customers are saying, with the full report saved in Notion.