Google Business Profile MCP

Google Business Profile MCP is a free MCP server that gives your AI agent six tools for reading Google Business Profile and one for changing it. Your agent can list the locations you manage, pull daily performance, see the search terms that showed a profile, and read reviews and posts. It can also make changes, such as updating opening hours, publishing a post, or replying to a review, with a confirmation step for anything destructive. It is its own VS Code extension, it runs on your machine, and it uses your own Google account.

There is no server to host and no config file to edit. You install the extension, sign in to Google once, and the tools appear in every agent it finds: VS Code Copilot, Claude Code, Cursor, OpenAI Codex, Google Gemini, Windsurf, Continue.dev, and Cline.

What you can ask

  • “Which locations do I manage?”
  • “How many calls did the Orlando location get last month?”
  • “Compare website clicks this month with last month”
  • “Which searches showed our profile most in October?”
  • “Update Saturday hours to 9 to 2 for the Orlando location”
  • “Publish a post about the holiday offer”

The six Google Business Profile MCP tools

Tool What it does What you can pass
gbp_list_accounts List the Business Profile accounts you manage Nothing
gbp_list_locations List the locations in an account with address, phone, website, and categories The account and a page size
gbp_daily_metrics Daily performance for a location: impressions on Search and Maps, calls, website clicks, direction requests, and more The location, a date range, and the metrics you want
gbp_search_keywords Monthly search terms that showed the location on Search and Maps, with impressions The location and a range of months
gbp_list_reviews Reviews with their ratings, text, and replies The location and a page size
gbp_list_posts The posts on a location The location

The Google Business Profile admin tool

Changes go through one tool, gbp_admin, with named actions.

Action What it does
update_location Change a location’s name, phone, website, description, or regular hours
create_post Publish a post on a location, with a button if you give one
delete_post Delete a post (needs confirmation)
reply_to_review Reply to a review
delete_review_reply Delete your reply to a review (needs confirmation)

Destructive actions need explicit confirmation

delete_post and delete_review_reply only run with confirm: true. Without it the server changes nothing and returns a warning, so the agent has to ask you first. Reading never needs it.

Three things people use it for

A monthly local report

Ask for calls, website clicks, and direction requests for each location, this month against last. An agency with twenty locations gets the table in one request and skips twenty visits to the dashboard.

Finding what people search before they call

gbp_search_keywords returns the terms that surfaced a profile. Ask which ones grew, and you have the wording to use in the profile and on the site.

Spotting a location that dropped

Ask which locations lost impressions compared with the month before. A sudden fall usually means a category, hours, or address problem worth checking.

Set it up in five steps

A setup wizard opens the first time you launch the extension. OAuth is the usual choice.

  1. Create a project in the Google Cloud Console, or pick one you already have.
  2. Enable the My Business Account Management API, the My Business Business Information API, and the Business Profile Performance API under APIs and Services.
  3. Create an OAuth client ID of type Desktop app.
  4. Paste the client ID and secret into the wizard.
  5. Sign in to Google in the browser window that opens, and authorize.

If your consent screen is set to External, add yourself as a test user first. The wizard also accepts Application Default Credentials from the gcloud CLI and a service account key.

Google gives the Business Profile APIs to approved projects only. Request access with Google’s Business Profile API contact form before setup. Until Google approves the project, calls return a quota or permission error. The Google account you sign in with must own or manage the profiles.

Using Google Business Profile MCP with Claude Code, Cursor and other agents

You do not add a server entry by hand. The extension writes the registration for each agent it finds: ~/.claude.json for Claude Code, ~/.cursor/mcp.json for Cursor, ~/.codex/config.toml for OpenAI Codex, ~/.gemini/settings.json for Gemini, and the matching files for Windsurf, Continue.dev, and Cline. VS Code Copilot picks it up through the VS Code API.

Open a new session in any of them and the tools are in the tool list. To limit which agents get them, switch the others off in VS Code settings under googleBusinessProfileMcp.agents. The command “Google Business Profile MCP: Remove from All Agents” takes every registration back out.

Limits

  • Your Google Cloud project needs Google’s approval for the Business Profile APIs before any call works.
  • Google reports search keywords by month. For rare terms it gives a threshold and not an exact count.

Common questions

Is Google Business Profile MCP free?

Yes. The extension is free and MIT licensed.

Why do I get a quota error straight after setup?

Google has not approved your project for the Business Profile APIs yet. Calls are rejected with a quota or permission error until it does.

Is this an official Google server?

No. It is an independent extension that calls the Business Profile APIs with your own sign-in.

Does it work with Claude Code and Cursor?

Yes. Both are registered automatically, along with Copilot and five other agents.

Where does my data go?

Nowhere except Google. The MCP server runs on your own machine and calls Google’s API with your credentials. There is no telemetry, and the sign-in token is kept in VS Code’s encrypted secret storage.

Install it

Google Business Profile MCP is free and MIT licensed.

Related