gbp-mcp
gbp-mcp
Автономный MCP-сервер для Google Business Profile. Он предоставляет аккаунты, местоположения, отзывы, публикации, медиа, вопросы и ответы, аналитику и несколько действий записи в виде JSON-инструментов для Cursor, Claude Desktop и Claude Code.
Этот репозиторий не является приложением Streamlit GMB-Management-System. Здесь нет веб-интерфейса, экспорта в PDF, графиков Plotly, панели i18n или составления ответов Gemini. Вызовы Google API находятся в этом репозитории (data_fetcher.py, drive_helper.py). Вам не нужно клонировать или запускать проект Streamlit.
Инструменты
Чтение:
list_accountslist_locationsget_daily_metricsget_search_keywordslist_reviewslist_postslist_medialist_questionsprofile_health_check
Запись:
create_local_postupload_image_to_drivereply_to_review
Помощники аутентификации:
start_oauthcomplete_oauth
Каждый инструмент возвращает только JSON (без DataFrame, PDF или объектов графиков).
Идентификаторы местоположений принимают accounts/{accountId}/locations/{locationId}, locations/{locationId} или просто id. Вызовы v4 (отзывы, публикации, медиа) проходят через resolve_location_parent. Даты в формате YYYY-MM-DD. Загрузки на Drive принимают base64-байты изображения (file_base64) и могут возвращать публичный URL для публикаций GBP.
Related MCP server: google-ads-mcp
Требования
Python 3.10+
Клиент OAuth пользователя Google Cloud (Desktop или Web). Сервисные аккаунты не поддерживаются.
Эти области OAuth:
https://www.googleapis.com/auth/business.managehttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/drive.metadata.readonly
Включите Google API, которые будут вызывать ваши инструменты, обычно:
My Business Account Management API
My Business Business Information API
My Business Q&A API
Business Profile Performance API
Google Drive API
Google My Business API (v4 discovery, используется для отзывов / публикаций / медиа)
Установка
git clone https://github.com/marcusbtc/gbp-mcp.git
cd gbp-mcp
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txtСкопируйте .env.example и экспортируйте значения, или поместите их в блок env вашего MCP-клиента. Не коммитьте .env, client_secret.json или файлы токенов.
cp .env.example .envАутентификация (только пользовательский OAuth)
Никогда не помещайте токены, токены обновления или client_secret.json в git.
Вам нужны идентификатор и секрет клиента OAuth Google Cloud (GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET). Опционально: поместите локальный client_secret.json в корень репозитория (игнорируется git).
Добавьте этот URI перенаправления в клиенте OAuth (если вы его не переопределяете):
http://localhost:8753/Затем выберите один из вариантов:
Токен на вызов — передавайте
access_tokenв любом инструменте.Токен окружения — установите
GOOGLE_ACCESS_TOKEN. Опциональное обновление:GOOGLE_REFRESH_TOKENплюс идентификатор/секрет клиента.Локальный помощник (открывает браузер, записывает игнорируемый git файл токена, по умолчанию
.gmb-mcp-token.json):
python mcp_server.py --oauthИнструменты MCP — вызовите
start_oauth, подтвердите доступ, затемcomplete_oauthс параметром запросаcodeиз URL перенаправления.
complete_oauth и --oauth никогда не выводят токены. Переопределите путь к токену с помощью GMB_MCP_TOKEN_PATH. Переопределите перенаправление с помощью GOOGLE_REDIRECT_URI.
Запуск
stdio (по умолчанию — Cursor, Claude Desktop, Claude Code):
python mcp_server.py
# or: python -m src.gmb_mcpОпциональный Streamable HTTP:
python mcp_server.py --http --host 127.0.0.1 --port 8765Endpoint: http://127.0.0.1:8765/mcp
Подключение из Cursor
Добавьте в настройки MCP (проект .cursor/mcp.json или пользовательская конфигурация MCP). Используйте абсолютный путь. Не помещайте токены в коммитимый файл.
{
"mcpServers": {
"google-business-profile": {
"command": "python",
"args": ["mcp_server.py"],
"cwd": "/absolute/path/to/gbp-mcp",
"env": {
"GOOGLE_CLIENT_ID": "<your-oauth-client-id>",
"GOOGLE_CLIENT_SECRET": "<your-oauth-client-secret>"
}
}
}
}Если у вас уже есть токен доступа пользователя и вы предпочитаете не запускать --oauth:
{
"mcpServers": {
"google-business-profile": {
"command": "python",
"args": ["mcp_server.py"],
"cwd": "/absolute/path/to/gbp-mcp",
"env": {
"GOOGLE_ACCESS_TOKEN": "<your-oauth-access-token>"
}
}
}
}Укажите command на интерпретатор venv, если не хотите сначала активировать его, например /absolute/path/to/gbp-mcp/.venv/bin/python.
HTTP вместо stdio (сначала запустите сервер самостоятельно):
{
"mcpServers": {
"google-business-profile": {
"url": "http://127.0.0.1:8765/mcp"
}
}
}Подключение из Claude Desktop / Claude Code
Claude Desktop (claude_desktop_config.json) и Claude Code используют ту же форму stdio:
{
"mcpServers": {
"google-business-profile": {
"command": "/absolute/path/to/gbp-mcp/.venv/bin/python",
"args": ["/absolute/path/to/gbp-mcp/mcp_server.py"],
"env": {
"GOOGLE_CLIENT_ID": "<your-oauth-client-id>",
"GOOGLE_CLIENT_SECRET": "<your-oauth-client-secret>"
}
}
}
}Запустите python mcp_server.py --oauth один раз в этой рабочей директории, чтобы создать .gmb-mcp-token.json, или установите GOOGLE_ACCESS_TOKEN.
Безопасность
Никогда не коммитьте
client_secret.json,.envили.gmb-mcp-token.json.Никогда не вставляйте токены доступа в чат, issues или скриншоты.
Инструменты и помощники OAuth не возвращают токены.
Загрузки на Drive с
make_public=trueсоздают общедоступный URL файла. Используйте это только когда намерены прикрепить изображение к публичной публикации GBP.
Разработка
pip install -r requirements-dev.txt
ruff check src tests mcp_server.py
pytest
python -m py_compile mcp_server.py data_fetcher.py drive_helper.py health_check.py
python mcp_server.py --helpЛицензия
MIT (см. LICENSE).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceAn MCP server that enables interaction with Google's My Business Account Management API, allowing users to perform account management operations through natural language interactions.

google-ads-mcpofficial
Alicense-qualityBmaintenanceMCP server that provides tools and resources for interacting with Google Ads API, enabling search, metadata retrieval, and account management through natural language.865Apache 2.0- Alicense-qualityCmaintenanceMCP server to read, write, create, and format Google Sheets via OAuth2 authentication, providing tools for spreadsheet management.425MIT
- Alicense-qualityCmaintenanceAn MCP server that provides 40 tools for managing Google Business Profiles, including accounts, locations, verifications, reviews, and performance analytics, enabling AI agents to interact with GBP via REST APIs.MIT
Related MCP Connectors
Live Google Maps business search, review, and photo data for AI agents over MCP.
MCP server for Google search results via SERP API
MCP server for interacting with the Supabase platform
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/marcusbtc/gbp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server