Google Business Profile MCP
MCP server for Google Business Profile: locations, reviews, local posts and performance metrics.
Connector by A1-x-Tech · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/a1-x-tech-mcp-google-business
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 12 read · 5 write · 3 delete
- Secrets
- 3 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 20
Read from the source code; the running server may list different tools.
Read 12 · Look things up without changing anything.
fetch_multi_daily_metricsget_daily_metricsget_locationget_reviewlist_accountslist_attribute_metadatalist_categorieslist_local_postslist_locationslist_reviewslist_search_keyword_impressionssearch_chains
Write 5 · Create, change, send or run things.
create_local_postreply_to_reviewupdate_local_postupdate_locationupdate_location_attributes
Delete 3 · Delete, drop, revoke or wipe things.
delete_local_postdelete_review_replyraw_request
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
GOOGLE_BUSINESS_ACCESS_TOKENGOOGLE_BUSINESS_CLIENT_SECRETGOOGLE_BUSINESS_REFRESH_TOKEN
Other settings (environment variables or headers).
GOOGLE_BUSINESS_ACCOUNTS_API_BASEGOOGLE_BUSINESS_CLIENT_IDGOOGLE_BUSINESS_INFO_API_BASEGOOGLE_BUSINESS_MAX_RETRIESGOOGLE_BUSINESS_OAUTH_PORTGOOGLE_BUSINESS_PERFORMANCE_API_BASEGOOGLE_BUSINESS_TIMEOUT_MSGOOGLE_BUSINESS_V4_API_BASE
Network hosts it talks to 10
businessprofileperformance.googleapis.com· found in codegithub.com· found in codeglama.ai· found in codegoogleapis.com· found in codemybusiness.googleapis.com· found in codemybusinessaccountmanagement.googleapis.com· found in codemybusinessbusinessinformation.googleapis.com· found in codeoauth2.googleapis.com· found in codesupport.google.com· found in codeusage.gistrec.cloud· found in code
Files it touches
- Your home directory (~)
- Any path the agent passes to its tools
Tools (20)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
create_local_postCreate a local postPublishes a new local post on the Business Profile. Pass the LocalPost as `post`. LocalPost fields: languageCode; summary (the post text); topicType (STANDARD | EVENT | OFFER | ALERT); callToAction {actionType: BOOK | ORDER | SHOP | LEARN_MORE | SIGN_UP | CALL, url}; event {title, schedule{startDate{year,month,day}, startTime{hours,minutes}, endDate, endTime}} — required for EVENT and OFFER; offer {couponCode, redeemOnlineUrl, termsConditions}; media [{mediaFormat: "PHOTO", sourceUrl}]. ALERT posts are restricted to Google-initiated campaigns and are typically rejected. Returns the created pos…
delete_local_postDelete a local postcan change or delete dataDeletes a local post from the Business Profile. Empty response on success. Local posts live only on the legacy v4 API (mybusiness.googleapis.com) — they were never migrated to v1.
delete_review_replyDelete a review replycan change or delete dataDeletes the business's reply to a review (the review itself is the customer's and cannot be deleted). Empty response on success. Reviews live only on the legacy v4 API (mybusiness.googleapis.com) — they were never migrated to v1.
fetch_multi_daily_metricsMultiple daily metrics at onceread-onlyReturns daily time series for SEVERAL performance metrics of a location in one call — same data as get_daily_metrics, but batched. Response: multiDailyMetricTimeSeries[].dailyMetricTimeSeries[] of {dailyMetric, timeSeries.datedValues[]}; values are int64 strings. Prefer this over several get_daily_metrics calls to save quota. Metrics for the most recent days are not available immediately (multi-day lag, typically a few days) — empty values near today are normal, not an error.
get_daily_metricsDaily metric time seriesread-onlyReturns a daily time series for ONE performance metric of a location: impressions by surface (Maps/Search × desktop/mobile), direction requests, call clicks, website clicks, conversations, bookings, food orders or menu clicks. Response: timeSeries.datedValues[] of {date{year,month,day}, value} — value is int64 serialized as a string; a missing value means no data for that day. Metrics for the most recent days are not available immediately (multi-day lag, typically a few days) — empty values near today are normal, not an error.
get_locationGet a locationread-onlyReturns one location by id (Business Information API; v1 uses the bare locations/{id} name, no account prefix). The readMask picks which fields come back: title, categories, storefrontAddress, phoneNumbers, websiteUri, regularHours, specialHours, openInfo, profile (description), storeCode, latlng, metadata (mapsUri, newReviewUri, placeId).
get_reviewGet a reviewread-onlyReturns one review by id — same shape as a list_reviews entry (starRating is an enum ONE..FIVE, reviewReply present only if the business already answered). Reviews live only on the legacy v4 API (mybusiness.googleapis.com) — they were never migrated to v1.
list_accountsList Business Profile accountsread-onlyLists all Google Business Profile accounts the authenticated user can access (the personal account first). Each account has name (accounts/{id} — the id feeds the accountId of other tools), accountName, type (PERSONAL / LOCATION_GROUP / USER_GROUP / ORGANIZATION), role, and verificationState. The API caps pageSize at 20 (unusually small), so follow nextPageToken to see every account.
list_attribute_metadataList available attributesread-onlyLists which attributes (e.g. wheelchair accessibility, wi-fi, payment options) are legal for a location or for a category+region. Pass locationId for a concrete location, OR categoryName+regionCode to explore. Each entry has parent (the attribute id for update_location_attributes), valueType (BOOL / ENUM / REPEATED_ENUM / URL), displayName, repeatable and valueMetadata (legal values).
list_categoriesSearch business categoriesread-onlyLists/searches the reference taxonomy of business categories (e.g. gcid:restaurant). Category names (categories/gcid:...) feed location.categories on update_location and categoryName on list_attribute_metadata. view=FULL also returns serviceTypes and moreHoursTypes per category; filter narrows by display name, e.g. "displayName=coffee".
list_local_postsList local postsread-onlyLists the local posts (What's New / Event / Offer updates shown on the Business Profile) of a location. Each post has name (accounts/*/locations/*/localPosts/{post_id}), summary, topicType, state (LIVE / PROCESSING / REJECTED), searchUrl, createTime and updateTime. Local posts live only on the legacy v4 API (mybusiness.googleapis.com) — they were never migrated to v1.
list_locationsList locations of an accountread-onlyLists the business locations under an account (Business Information API). Each location's name is locations/{id} — that id feeds locationId everywhere else (including the Performance API and, together with the account id, the v4 reviews/posts tools). totalSize is only present when filter is set. Fields are limited by readMask; ask for metadata to get mapsUri/placeId/newReviewUri.
list_reviewsList reviewsread-onlyLists reviews of a location, newest-updated first by default. Response: reviews[] of {name, reviewId, reviewer{displayName, isAnonymous}, starRating (ONE..FIVE enum, not a number), comment, createTime, updateTime, reviewReply{comment, updateTime} if answered}, plus averageRating (1–5) and totalReviewCount. pageSize caps at 50. Reviews live only on the legacy v4 API (mybusiness.googleapis.com) — they were never migrated to v1.
list_search_keyword_impressionsMonthly search keywordsread-onlyReturns the search keywords that surfaced the business on Google, month by month. Response: searchKeywordsCounts[] of {searchKeyword, insightsValue} — insightsValue is a UNION: either an exact {value} or a {threshold} for low-volume keywords (the true count is below it; never sum thresholds as exact counts). Months are calendar months; data for the current month appears with a lag.
raw_requestRaw Google Business Profile API callcan change or delete dataEscape hatch to call any Google Business Profile endpoint directly, for endpoints without a dedicated tool. `service` picks the host: accounts (mybusinessaccountmanagement, v1), businessinfo (mybusinessbusinessinformation, v1), performance (businessprofileperformance, v1) or v4 (legacy mybusiness.googleapis.com — reviews, posts, media). `path` is relative to the host, e.g. "v1/accounts" or "v4/accounts/1/locations/2/media". Remember v1 quirks: readMask/updateMask go in `query`. The Bearer token is attached automatically; a path resolving to a foreign origin is rejected.
Show 5 more tools
reply_to_reviewReply to a reviewCreates OR replaces the business's public reply to a review (PUT upsert — there is no separate create, and calling it again overwrites the previous reply). Only works on verified locations. Returns the ReviewReply {comment, updateTime}. Counts against the 10 edits/min per-profile cap. Reviews live only on the legacy v4 API (mybusiness.googleapis.com) — they were never migrated to v1.
search_chainsSearch chainsread-onlySearches business chains by name (exact/partial/fuzzy), ranked by relevance. Each chain has name (chains/{chain_id}), chainNames, websites and locationCount. Use the chain name when relating a location to its brand (location.relationshipData).
update_local_postUpdate a local postUpdates fields of an existing local post (PATCH with a required updateMask — only masked fields change, e.g. updateMask "summary" with post {"summary": "New text"}). LocalPost fields: languageCode; summary (the post text); topicType (STANDARD | EVENT | OFFER | ALERT); callToAction {actionType: BOOK | ORDER | SHOP | LEARN_MORE | SIGN_UP | CALL, url}; event {title, schedule{startDate{year,month,day}, startTime{hours,minutes}, endDate, endTime}} — required for EVENT and OFFER; offer {couponCode, redeemOnlineUrl, termsConditions}; media [{mediaFormat: "PHOTO", sourceUrl}]. ALERT posts are restrict…
update_locationUpdate a locationUpdates fields of a location (PATCH with a required updateMask — only masked fields change). Pass the new values in `location`, e.g. {"title": "New name"} with updateMask "title". Set validateOnly to check the change without applying it. Note: every profile has a hard cap of 10 edits per minute (not raisable) — batch your changes into one call where possible. Returns the updated Location.
update_location_attributesUpdate location attributesUpdates attributes of a location (PATCH). Each attribute needs its name (attributes/{attribute_id} from list_attribute_metadata's parent field) plus values (BOOL/ENUM), uriValues (URL) or repeatedEnumValue ({setValues, unsetValues}). attributeMask defaults to the names of the attributes you pass; name an attribute in the mask with no values to clear it. Counts against the 10 edits/min per-profile cap.
Signals
- Stars
- 4
- Forks
- 0
- Open issues
- 0
- Last commit
- Oct 4, 2026 (25 days ago)
- Last release
- Sep 20, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.A1-x-Tech/mcp-google-business- Version
- 1.2.0
- Auth
- API key
- Packages
- npm mcp-google-business
- License
- MIT
- Repository
- github.com/A1-x-Tech/mcp-google-business
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
More from A1-x-Tech
- 0.537score
Google Sheets MCP
A1-x-Tech
MCP server for the Google Sheets API: read and write ranges, sheets, formatting, charts, sharing.
ConnectorAFreshness: ALocal★ 1↓ 45/wkClaude Code +5 - 0.535score
Google Slides MCP
A1-x-Tech
MCP server for the Google Slides API: presentations, slides, text, shapes, images and tables.
ConnectorAFreshness: ALocal★ 1↓ 37/wkClaude Code +5 - 0.526score
Google Drive MCP
A1-x-Tech
MCP server for the Google Drive API: search, upload, download, organize and share files.
ConnectorAFreshness: ALocal↓ 38/wkClaude Code +5 - 0.526score
Google Calendar MCP
A1-x-Tech
MCP server for the Google Calendar API: events, recurrence, invitations, availability, calendars.
ConnectorAFreshness: ALocal↓ 36/wkClaude Code +5 - 0.524score
Google Docs MCP
A1-x-Tech
MCP server for the Google Docs API: read and edit documents, styles, tables, images, comments.
ConnectorAFreshness: ALocal↓ 27/wkClaude Code +5 - 0.515score
Avito Ads MCP
A1-x-Tech
MCP server for the Avito Ads API: campaigns, ad groups, creatives, statistics and balances.
ConnectorAFreshness: ALocal★ 1Claude Code +5
Cite this page
Google Business Profile MCP. Agent Mart. https://agentmart.dev/connectors/a1-x-tech-mcp-google-business (last updated 2026-10-25)