Odel
Google Business Profile MCP

Google Business Profile MCP

Local
@a1-x-tech1TypeScriptMITUpdated 1w ago

MCP server for Google Business Profile: locations, reviews, local posts and performance metrics.

A1 Google Business Profile MCP

English | Русский

npm CI Glama License: MIT

A1 Google Business Profile MCP lets an AI app work with your Google Business Profile locations in natural language. Inspect locations and performance, respond to reviews, prepare local posts and update profile information deliberately.

It connects to Google’s current Business Profile APIs and the legacy API where reviews and posts still live. A Google account and OAuth credentials alone are not enough: Google must approve Basic API Access for the Cloud project.

  • 20 tools. Location and account data, performance, reviews, local posts, categories and attributes.
  • Real approval gate. Projects start at 0 QPM; every API call fails until Google approves the Basic API Access application.
  • Separate release boundary. A prepared reply, post or location update changes public business information only after the client confirms the write operation.
  • Four API surfaces. Account Management, Business Information, Performance and legacy v4 work through one business.manage OAuth scope.

Start with a read-only question:

List my locations and show the newest reviews that do not have a reply.

Connect the server · Explore use cases · Open technical documentation


See it work in a minute

You: List my locations and show the newest reviews that do not have a reply.

Assistant: Shows the locations and recent reviews. Nothing changes.

You: Draft a reply to the newest three-star review at the downtown location. Apologize and offer to help.

Assistant: Shows the location, review and proposed reply, then asks for confirmation before publishing it.

You: Confirm.

Assistant: Publishes the reply. It does not alter the review, other locations or posts.

Contents

Quick start

You need Node.js 20+, a verified Google Business Profile, a Google Cloud OAuth client and an approved Basic API Access application.

  1. Get approved access.
  2. Add the server to your AI app.
  3. Start with the read-only question above.
Codex

In Settings → MCP servers, select Add server, choose STDIO, enter the command npx -y mcp-google-business@latest and environment variables GOOGLE_BUSINESS_CLIENT_ID, GOOGLE_BUSINESS_CLIENT_SECRET, GOOGLE_BUSINESS_REFRESH_TOKEN, then select Save and Restart.

codex mcp add google-business \
  --env GOOGLE_BUSINESS_CLIENT_ID=your_client_id \
  --env GOOGLE_BUSINESS_CLIENT_SECRET=your_client_secret \
  --env GOOGLE_BUSINESS_REFRESH_TOKEN=your_refresh_token \
  -- npx -y mcp-google-business@latest
codex mcp list

Codex MCP documentation

Claude Code
claude mcp add \
  --env GOOGLE_BUSINESS_CLIENT_ID=your_client_id \
  --env GOOGLE_BUSINESS_CLIENT_SECRET=your_client_secret \
  --env GOOGLE_BUSINESS_REFRESH_TOKEN=your_refresh_token \
  --transport stdio --scope user google-business \
  -- npx -y mcp-google-business@latest
claude mcp list

Claude Code MCP documentation

Claude Desktop

The current official path is Settings → Extensions. For a custom desktop extension, open Advanced settings → Extension Developer → Install Extension…, select a .mcpb file and follow the prompts.

This repository currently publishes an npm stdio package and does not contain a .mcpb bundle. For Claude Desktop builds that still support local configuration, use the following JSON stdio configuration as a fallback:

{"mcpServers":{"google-business":{"command":"npx","args":["-y","mcp-google-business@latest"],"env":{"GOOGLE_BUSINESS_CLIENT_ID":"your_client_id","GOOGLE_BUSINESS_CLIENT_SECRET":"your_client_secret","GOOGLE_BUSINESS_REFRESH_TOKEN":"your_refresh_token"}}}}

In those builds, save it to ~/Library/Application Support/Claude/claude_desktop_config.json on macOS or %APPDATA%\Claude\claude_desktop_config.json on Windows.

Claude Desktop MCP documentation

Cursor

Add {"mcpServers":{"google-business":{"type":"stdio","command":"npx","args":["-y","mcp-google-business@latest"],"env":{"GOOGLE_BUSINESS_CLIENT_ID":"your_client_id","GOOGLE_BUSINESS_CLIENT_SECRET":"your_client_secret","GOOGLE_BUSINESS_REFRESH_TOKEN":"your_refresh_token"}}}} to ~/.cursor/mcp.json on macOS/Linux or %USERPROFILE%\.cursor\mcp.json on Windows. Cursor MCP documentation

VS Code

Run MCP: Open User Configuration and add:

{"servers":{"google-business":{"type":"stdio","command":"npx","args":["-y","mcp-google-business@latest"],"env":{"GOOGLE_BUSINESS_CLIENT_ID":"${input:gbp_client_id}","GOOGLE_BUSINESS_CLIENT_SECRET":"${input:gbp_client_secret}","GOOGLE_BUSINESS_REFRESH_TOKEN":"${input:gbp_refresh_token}"}}},"inputs":[{"type":"promptString","id":"gbp_client_id","description":"Google OAuth client ID"},{"type":"promptString","id":"gbp_client_secret","description":"Google OAuth client secret","password":true},{"type":"promptString","id":"gbp_refresh_token","description":"Google OAuth refresh token","password":true}]}

Check it with MCP: List Servers. VS Code MCP documentation

What you can ask it to do

  • List locations, categories, attributes and current profile information.
  • Show calls, direction requests and search keyword impressions for a chosen period.
  • Find fresh reviews, draft a reply and publish it after confirmation.
  • Prepare, update or remove a local post.
  • Update a selected location field or attribute after showing the exact change.

What can change

OperationWhat happensConfirmation boundary
Accounts, locations, categories, attributes, performance, reviews and postsReads existing profile dataNo change
Update a location or its attributesChanges public business profile dataChanges a location
Reply to a reviewPublishes a public owner replyChanges public content
Create or update a local postPublishes or changes public local contentChanges public content
Delete a review reply or local postRemoves public contentDestructive
Raw API requestMay call any write or delete endpointPotentially destructive

The AI client controls confirmations; the server marks tools so the client can distinguish inspection from a live change.

Getting access

Google requires both OAuth and Basic API Access approval.

  1. Use a verified and active Business Profile that has existed for at least 60 days; apply from an owner or manager account and have a business website that matches the application.
  2. Create a Google Cloud project, enable My Business Account Management API, Business Information API, Business Profile Performance API and Google My Business API (legacy v4).
  3. Submit the GBP API contact form as Application for Basic API Access. Before approval, quota is 0 QPM; approved projects receive 300 QPM per API.
  4. Create an OAuth client, obtain a refresh token for https://www.googleapis.com/auth/business.manage, and set the three GOOGLE_BUSINESS_* variables.

Treat the client secret and refresh token as passwords. An access token is a short-lived alternative for one-off use.

Configuration

VariableRequiredDescription
GOOGLE_BUSINESS_CLIENT_IDYes*OAuth client ID.
GOOGLE_BUSINESS_CLIENT_SECRETYes*OAuth client secret.
GOOGLE_BUSINESS_REFRESH_TOKENYes*OAuth refresh token with business.manage.
GOOGLE_BUSINESS_ACCESS_TOKENYes*Short-lived alternative to the OAuth trio.
GOOGLE_BUSINESS_TIMEOUT_MSNoPer-request timeout; default 60000 ms.
GOOGLE_BUSINESS_MAX_RETRIESNoTemporary-error retries; default 3.

* Provide either the OAuth trio or an access token. API host overrides are documented in the tool reference.

Data, limits and background work

  • Google receives the profile requests. Anonymous telemetry includes installation and version data plus tool names, never OAuth secrets, profile data, arguments or prompts. Set ASKADS_TELEMETRY=0 to opt out.
  • Real edit caps. Approved projects receive 300 QPM per API; Google also limits each Business Profile to 10 edits per minute. Performance metrics can lag by a few days, and review replies require verified locations.
  • No background monitoring. The server runs only while called. If your AI app supports scheduled tasks, it can periodically review new feedback or metrics.

Technical documentation

Support

Found a bug or need a scenario? Create an issue or write in Telegram.


Две Моны дают пять

You made it to the end!