Skip to content

Last updated 2026-10-25

An open-source core for Google Business Profile management

OpenGMB has an open-source core: a community edition of the app, the background worker and the MCP server, public on GitHub under the MIT license. You can read the code and run it yourself with your own Google and API keys, with one owner login who manages as many clients and locations as you need. The hosted plan for $10 a month adds teams and roles, a client portal, billing and custom domains, and we run it for you.

What is in the open-source core?

The community edition, which is a complete tool for one owner and not a demo. It has no sign-up page, no billing and no credits. The repository and this website launched together. The hosted product adds the parts below, and those are not in the repository.

  • Teams and roles
  • A client portal
  • Billing with the monthly credit plan
  • Custom domains
  • The managed service: we run the servers, the Google connection and the updates
  • The app

    Reviews, posts, profile editing, approvals, performance, reports with shareable links, location groups, white-label branding and rank tracking, for one owner who manages as many clients and locations as they need.

  • The worker

    The background jobs: review sync, history backfills and rank-tracking runs.

  • The MCP server and API

    An MCP server like the one we host at opengmb.synectus.com/mcp, API tokens, a REST API and webhooks, plus the source of the Zapier app. A token is read only or read and write.

  • The guardrails

    Rule packs for general, healthcare and legal copy, plus the approval flow, two-factor sign-in and the audit log.

Repository
github.com/synectus/OpenGMB
License
MIT license
GitHub stars
7

Hosted or self-hosted: which one should you pick?

Pick hosted if you want to be working in ten minutes. Pick self-hosted if you want the data on your own server or you like running your own tools. The hosted plan does everything the community edition does, and adds teams, a client portal and billing.

What you compareHosted by usSelf-hosted
Price$10 a month per account, and the $10 is usage credit for AI drafts and rank scans. Google calls are free, with a fair-use limit.No OpenGMB charge, and no credits or billing. You pay for your own server and for your own API keys.
Who signs inTeams with roles, and a client portal for your clients.One owner login, set in the env file. There is no sign-up page.
SetupSign in with Google and import your locations.Docker Compose on a machine with HTTPS in front of it, then your own Google Cloud project.
KeysNone to manage. We run the Google connection.Your own Google OAuth client, set in the env file. Optional Anthropic, DataForSEO, email and image keys go there too.
UpdatesWe deploy them.git pull, then docker compose up -d --build. Migrations run on start and only move forward.
BackupsWe run them.You schedule a Postgres dump and keep your encryption keys safe. A dump alone cannot read stored secrets.
SupportFrom us, through the contact page.The docs and GitHub issues. We make no support promise.

See the numbers behind the hosted plan on the OpenGMB pricing page.

Why did we open source the core of OpenGMB?

We are Synectus, an agency that runs Business Profiles for clients. We built OpenGMB for our own work first. Then we asked what we would want to see before connecting a tool to a client's Google account. The answer was the code.

  • Trust

    A tool that can post as your business should be readable. You can see exactly what it sends to Google.

  • No lock-in

    If our prices or plans stop suiting you, you can run the community edition yourself, with your own keys. Nobody has to ask us for permission.

  • An audit log you can verify

    Every approval is recorded, and the log is checkpointed with a separate signing key so you can check it was not rewritten.

  • Guardrails agencies can inspect

    If you manage client profiles, read the rules that block links, emails and impossible hours before you rely on them.

Open source does not make a tool safe on its own, and we will not pretend it does. It makes the claims checkable for the parts that are public. If we say nothing goes live without approval, the approval code is there for you to read.

Google Business Profile guardrails and approvals

What do you need to self-host OpenGMB?

One machine with Docker, a Postgres database, and your own Google Cloud project. The stack is Postgres, a one-time migration, then the web app, the MCP server and the worker, all from one image.

  • Required

    Docker

    Docker Engine 24 or newer with the Compose plugin. Plan for about 4 GB of free RAM while the image builds and 2 GB of disk for the image.

    Source: SETUP.md

  • Required

    Postgres

    The Compose file starts Postgres for you and keeps it off the host network. All state, including the job queue, lives in that one volume.

    Source: deploy/selfhost/docker-compose.yml

  • Required

    A public HTTPS hostname

    Google sign-in and notifications need HTTPS. Put Caddy, nginx or Traefik in front, because the stack does not handle TLS.

    Source: SETUP.md

  • Required

    A Google Cloud project with Business Profile API access

    You create the project, request API access and set up the OAuth client. Google decides on approval, and it can take days.

    Source: SETUP.md, GO-LIVE.md

  • Optional

    DataForSEO key and AI key

    A DataForSEO login switches on live rank tracking, billed by them at their price with no markup. An Anthropic key switches on built-in drafts. Resend handles the daily email digest.

    Source: SETUP.md, packages/core/src/config/startup.ts

Google's approval step takes days, so start it first

Business Profile API access is approved by Google for each Google Cloud project, and you request it yourself. The setup guide says it can take days. Until Google approves, keep the app in its default mock mode, which makes no live Google calls, so you can still click around.

While your Google sign-in screen is unverified it stays in Testing. Google then expires refresh tokens after 7 days, and you can add up to 100 test users. Plan to reconnect weekly until you pass verification.

First run, from the repo

$ cd deploy/selfhost$ cp .env.example .env$ docker compose up -d --buildmigrate exits 0, then postgres, web, mcp and worker report healthy

Follow the full steps in the self-hosting guide.

How can you contribute to the open-source core?

Open an issue, send a fix, or improve the docs. Issues and pull requests go to github.com/synectus/OpenGMB. Sign off your commits with the Developer Certificate of Origin (git commit -s). There is no CLA.

We do not merge pull requests on GitHub directly. When we accept one, the maintainers apply it to our main codebase, and it arrives in the public repository with the next sync, with you credited as co-author. The pull request is then closed by that sync commit.

Good first contributions are small ones: a typo in the setup steps, a clearer error message, a guardrail rule you wish existed. If you hit a snag during self-hosting, that is worth an issue too, because the next person will hit it as well.

We are a small team and we will not answer every pull request the same day. We will tell you if a change does not fit, and why. Read about the Google Business Profile MCP server for Claude if you want to build on top of it.

Open-source core questions

Is OpenGMB fully open source?

No. OpenGMB is open core. The community edition is public on GitHub and covers the web app, the background worker, the MCP server, the REST API and webhooks, for one owner who manages many clients and locations. The hosted product adds teams and roles, a client portal, billing with the monthly credit plan, custom domains and the managed service, and those parts are not in the repository.

Can I use the community edition for my clients?

Yes, as long as you are the one who signs in. One owner login can manage many clients and many locations, with reports and shareable report links for each client. If you want your clients or team members to sign in themselves, with roles and a client portal, that is the hosted product.

Which open source license does OpenGMB use?

OpenGMB uses the MIT license. The LICENSE file in the repository is the authoritative text. The license covers the code, not the OpenGMB name or logo, which are trademarks and which a fork may not use.

Can I try self-hosting before Google approves my API access?

Yes. The app starts in mock mode with no live Google calls, so you can look around. To manage real profiles you need Google to approve Business Profile API access for your own Google Cloud project.

Do I need a DataForSEO key or an AI key to self-host?

No. Both are optional. You add them to the env file, and they are your own keys, billed to you. A DataForSEO key switches on live rank tracking, and an Anthropic key switches on built-in drafts. Anything you do not set up is switched off, and the rest keeps working.

Can I check what OpenGMB does with my Google account?

Yes, two ways. You can read the source, and the audit log records who approved each change. Posts and profile edits always need a person's approval. Replies need it too, unless the owner turns on auto-approve for 4- or 5-star reviews, and replies to 1- to 3-star reviews are always manual.

Read the code, then pick how to run it.

Run the community edition yourself, or start hosted with $0.50 free credit and no card.