# Google Business Profile MCP
**English** | [Русский](./README.ru.md)
[](https://www.npmjs.com/package/mcp-google-business)
[](https://glama.ai/mcp/servers/A1-x-Tech/mcp-google-business)
[](https://github.com/A1-x-Tech/mcp-google-business/actions/workflows/ci.yml)
[](./LICENSE)
**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](#quick-start) · [Explore use cases](#what-you-can-ask-it-to-do) · [Open technical documentation](#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](#quick-start)
- [What you can ask it to do](#what-you-can-ask-it-to-do)
- [What can change](#what-can-change)
- [Getting access](#getting-access)
- [Configuration](#configuration)
- [Data, limits and background work](#data-limits-and-background-work)
- [Technical documentation](#technical-documentation)
- [Support](#support)
## 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](#getting-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**.
```bash
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](https://learn.chatgpt.com/docs/extend/mcp?surface=cli)
Claude Code
```bash
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](https://code.claude.com/docs/en/mcp)
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:
```json
{"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](https://support.claude.com/en/articles/10949351-getting-started-with-local-mcp-servers-on-claude-desktop)
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](https://cursor.com/docs/mcp)
VS Code
Run **MCP: Open User Configuration** and add:
```json
{"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](https://code.visualstudio.com/docs/agent-customization/mcp-servers)
You made it to the end!