How to connect Codex to Google Business Profile

Connect your listing once in Ryze AI, add one MCP URL to OpenAI Codex, then ask about reviews, posts, hours and Search and Maps performance from the terminal or the app.

Your MCP URL
https://connector.get-ryze.ai/mcp

Copies the URL for codex mcp add, the desktop app or config.toml. See the steps

See pricing

By Ira Bodnar, Ryze AI · Updated

Quick answer

To connect Codex to Google Business Profile, connect the listing in a Ryze AI workspace with your Google sign-in and pick the Location, then run codex mcp add ryze --url https://connector.get-ryze.ai/mcp, run codex mcp login ryze and allow the workspace. The same server also works from the Codex desktop app and IDE extension.

  1. In Ryze AI open Integrations, find Google Business Profile and click Connect
  2. Sign in with the Google account that manages the listing, then pick the Location and click Save
  3. Run codex mcp add ryze --url https://connector.get-ryze.ai/mcp
  4. Run codex mcp login ryze, click Allow connection, then run codex mcp list

Before you start

  • An OpenAI Codex setup. OpenAI lists Codex in ChatGPT Free, Go, Plus, Pro, Business, Edu and Enterprise plans. Its pricing page lists Free and Go with Codex in the desktop app only, subject to rollout, while Plus and higher add the CLI and IDE extension. Codex also runs with an OpenAI API key in the CLI, SDK or IDE extension, billed at API pricing. OpenAI's MCP page names no extra plan for MCP servers.
  • A Google account that owns or manages the listing. Ryze AI connects through Google sign-in, so use the account that manages the Business Profile. A verified listing is needed for full data: for an unverified listing Google shares only part of it, reviews may not load, and performance and search keywords are not served.
  • A Ryze AI workspace on a plan or free trial. Connecting is free, but the 14 Google Business Profile tools need an active plan or trial. Paid Ads is $89 per month with a 7-day free trial. SEO Starter is $129 per month with a 3-day free trial and includes the Local SEO page in the app. Without a plan the connector can only list workspaces and connect platforms.

How to connect Codex to Google Business Profile in the CLI

Two steps happen in Ryze AI and Google, four in Codex. The server URL is the same for every user.

  1. Connect Google Business Profile in Ryze AI

    Create a Ryze AI account or sign in, open Integrations in the left sidebar and find Google Business Profile with the Search integrations box or the Analytics filter. Click Connect, sign in with the Google account that manages the listing and allow access. The Google screen may show the name of a connection partner instead of Ryze AI.

  2. Pick the Location

    Back in Ryze AI, pick the Location this workspace works on and click Save. Until a Location is saved the card shows Require setup. One connection is one location, so a second location needs its own workspace.

  3. Add the Ryze AI server to Codex

    In a terminal run: codex mcp add ryze --url https://connector.get-ryze.ai/mcp. This registers a Streamable HTTP server named ryze in the Codex configuration. There is no client ID or secret to enter.

  4. Sign in and allow the workspace

    Run codex mcp login ryze. Sign in on the Ryze AI page, choose the workspace that holds your Google Business Profile connection and click Allow connection. Without a local browser, add --no-browser, open the printed URL and paste the full redirect URL back into the terminal.

  5. Check the server

    Run codex mcp list, or type /mcp inside the Codex TUI, to see the ryze server.

  6. Ask your first question

    Start Codex and ask: List my Google reviews that have no owner reply, with rating and text. If the server was added before the profile was connected in Ryze AI, remove and re-add it, then start a new session.

The Ryze AI help center article for Google Business Profile covers the Google side of the connection. OpenAI documents the Codex commands on its MCP page.

Codex desktop app and IDE extension

OpenAI documents that the ChatGPT desktop app, the Codex CLI and the IDE extension share one MCP configuration, so a server added in one place shows up in the others. The steps below come from OpenAI's MCP page for Codex.

ChatGPT desktop app (Codex)

  1. Open Settings, then select MCP servers.
  2. Select Add server, enter the name ryze, choose Streamable HTTP and enter https://connector.get-ryze.ai/mcp.
  3. Save, then select Restart.
  4. Select Authenticate next to ryze and complete the Ryze AI sign-in. Type /mcp in the composer to view connected servers.

Codex IDE extension

  1. Open the gear menu, then select MCP servers.
  2. Select Add server, enter the name ryze, choose Streamable HTTP and enter https://connector.get-ryze.ai/mcp.
  3. Save, then select Restart extension.
  4. Select Authenticate and complete the Ryze AI sign-in.

Per OpenAI's pricing page, Free and Go plans get Codex in the desktop app only, subject to rollout, so those plans use the desktop app steps. OpenAI's MCP page does not cover Codex cloud tasks, and this guide does not claim Ryze AI works there.

config.toml

The CLI command writes to the same file you can edit by hand. Open ~/.codex/config.toml, or a project .codex/config.toml in a trusted project, and add a table for the server. OAuth is the default, so run codex mcp login ryze afterwards.

[mcp_servers.ryze] url = "https://connector.get-ryze.ai/mcp" startup_timeout_sec = 20 tool_timeout_sec = 120

Codex defaults to a startup_timeout_sec of 10 and a tool_timeout_sec of 60. The two lines above raise both for this server, which helps when a review list or a long performance range takes a while to return. For scripts, use a Ryze AI API key instead of OAuth: add bearer_token_env_var = "RYZE_API_KEY" to the table and set that environment variable to the rk_live_ key from Workspace Settings, Profile, API keys.

Other clients in brief

The same URL works in other MCP clients. Google Business Profile is connected once in Ryze AI, so nothing changes on the Google side.

Claude Code

Run the command below, then /mcp inside Claude Code to sign in. Claude Code needs a Pro, Max, Ultra, Team or Enterprise account, or Console access.

claude mcp add --transport http ryze https://connector.get-ryze.ai/mcp --scope user

Cursor

Add the entry below to ~/.cursor/mcp.json for all projects or .cursor/mcp.json for one project, then sign in on the Ryze AI page when Cursor asks.

{ "mcpServers": { "ryze": { "url": "https://connector.get-ryze.ai/mcp" } } }

Claude and ChatGPT

In claude.ai open Customize, Connectors, Add custom connector and enter the same URL. ChatGPT custom MCP servers are on Business and Enterprise or Edu plans, and Pro gets read and fetch permissions only, per OpenAI's help article.

Permissions and access

The Google side is a Google sign-in through a connection partner, and the Codex side is an OAuth login to Ryze AI. Four things decide what Codex can do.

Which Google account
The one you sign in with. It should be the account that owns or manages the listing. The Google consent screen may show the partner's name instead of Ryze AI.
Which listing
One connection is one location. You pick the Location after connecting, and a workspace works on one location. To work on another location, connect it in its own workspace.
Which workspace Codex sees
On the Ryze AI page you choose the workspace and click Allow connection. One Ryze AI connection can cover up to 20 workspaces.
What Codex may change
Six of the 14 tools write to the public listing. Codex has its own approval setting per server, described in the next section.

Removing access

To remove access, click the Google Business Profile card in Ryze AI and disconnect it, remove the server in the MCP servers screen of the desktop app or IDE extension, or delete the [mcp_servers.ryze] table from config.toml.

What Codex can do in Google Business Profile

The Ryze AI connector exposes 14 Google Business Profile tools. Each works on the one location saved in the workspace. All names start with google_business_profile__.

ToolTypeWhat it does
searchCategoriesReadSearches Google's business category list by name and returns the category IDs that updateLocationDetails accepts.
getLocationDetailsReadReads the listing: title, hours, special hours, description, website, phone, categories, address and open status, plus place ID, review link, Maps link and verification status.
updateLocationDetailsWriteUpdates listing fields such as hours, special hours, description, website, phone, categories and open status. Each named field is replaced and the change is public on Search and Maps.
listReviewsReadLists Google reviews with rating, text and reply status, plus total reviews and average rating, with filters by rating and reply status.
replyToReviewWritePublishes the business's public reply to a review. A new reply replaces the existing owner reply.
getPerformanceReadReturns daily Search and Maps performance such as impressions, calls, direction requests, website clicks, conversations and bookings, up to 18 months back.
getSearchKeywordsReadReturns the search keywords that showed the location, with impressions per keyword by month.
createPostWritePublishes or schedules a standard, event or offer post, with up to one image and an optional call-to-action button.
listPostsReadLists the posts on the profile, newest first, including posts made directly on Google.
deletePostWriteRemoves a published post. The removal is immediate and cannot be undone.
listMediaReadLists the location's photos and videos on Google.
uploadMediaWriteAdds a photo from a public URL in a category such as cover, logo, exterior, interior or product.
getAttributesReadReads attributes such as amenities, services and payment types.
updateAttributesWriteUpdates the location's attributes on Google.

Approvals

In the Ryze AI chat, changes to the public listing follow the chat's Tool approvals setting, which starts on Skip all approvals. Codex adds its own control: set default_tools_approval_mode for the ryze server to prompt, or to writes, which OpenAI describes as prompting for tools not marked read-only. You can also override one tool, for example tools.google_business_profile__replyToReview.approval_mode = "prompt", or hide tools with disabled_tools. Whether Ryze AI marks its read tools as read-only was not tested, so try writes first and switch to prompt if a read tool does not run freely.

Limits to expect

These limits come from the Ryze AI Google Business Profile documentation and apply to the connector. Performance data arrives 2 to 3 days late, and Google drops search keywords below an impression threshold it does not publish. Posts can take 24 to 48 hours to appear, stay visible about 7 days and have at most 1,500 characters and one image. Photos must be JPG or PNG, between 10 KB and 5 MB and at least 250x250 px. Google reviews new photos and listing edits before they show, and keeps one owner reply per review.

First 3 prompts to run

These prompts describe what comes back instead of showing sample numbers, because the answer comes from your own listing. In Codex they work from any directory, so you can run them next to the code of a site you maintain.

1. Reviews that still need a reply

List my Google reviews that have no owner reply, newest first, with rating and text. Draft a reply for each one in two sentences, and do not publish anything until I confirm.

Tools used: listReviews, then replyToReview only after you confirm

What comes back: A list of unanswered reviews with rating and text, and one drafted reply per review in the chat. Nothing is posted until you ask.

2. Search and Maps performance

Show daily Google Business Profile impressions, calls, direction requests and website clicks for the last 90 days, then summarize the weekly trend and list the days with the largest change.

Tools used: getPerformance

What comes back: A daily series for the four metrics, a weekly summary and the days that moved most. Data from the last 2 to 3 days may be missing.

3. Listing check against your website

Read my Google Business Profile listing and compare its hours, phone, website and categories with the contact page in this repository. List every field that differs and propose the exact update.

Tools used: getLocationDetails, searchCategories if a category needs an ID

What comes back: A field by field comparison of the listing and the local file, with proposed values. The update tool only runs if you ask for it.

Ryze AI vs calling the Google APIs yourself

There are two ways to give Codex access to a Business Profile. Google's Business Profile API overview, checked on the build date, does not mention an MCP server from Google.

OptionSetupCoverageWorks in
Ryze AI connectorGoogle sign-in inside Ryze AI, pick a Location, then codex mcp add and codex mcp login14 tools: listing, reviews, posts, photos, attributes, performance and search keywords. Read and writeCodex CLI, desktop app and IDE extension, and Claude, ChatGPT and Cursor on the same URL
Google Business Profile APIs directlyCreate a Google Cloud project and apply through Google's access form. Unapproved projects have 0 QPM, approved projects 300 QPM. You write the code or the MCP server yourselfWhatever the APIs expose, with your own OAuth handling. Google documents 10 edits per minute per profileAnything you build

Google lists these requirements for API access: a Business Profile that is verified and active for 60 or more days, a website for the business, and an application from an email address tied to the profile. The Ryze AI connector skips the application and the code, and its trade-off is the fixed tool list and the one-location-per-workspace rule.

Sources: OpenAI: Codex MCP, OpenAI: Codex pricing, Google: Business Profile API prerequisites, Google: Business Profile API usage limits, Google: Business Profile APIs overview, Ryze AI Google Business Profile guide. Checked November 10, 2026.

Errors and fixes

The Ryze AI server shows no Google Business Profile tools
If the server was added before the profile was connected, remove it, add it again and start a new session.
The Google card in Ryze AI shows Require setup
No Location is saved yet. Open the card, pick the Location and click Save.
codex mcp login cannot open a browser
Run codex mcp login ryze --no-browser, open the printed URL on another machine and paste the full redirect URL back into the terminal.
The server times out at startup or during a call
Codex waits 10 seconds for startup and 60 seconds per tool call by default. Raise startup_timeout_sec and tool_timeout_sec for the ryze table in config.toml.
Reviews, performance or keywords come back empty
For an unverified listing Google shares only part of the data, and performance and search keywords are not served. Verify the listing, then retry. Performance also runs 2 to 3 days behind.
A post or listing edit does not show on Google yet
Posts can take 24 to 48 hours to appear, and Google reviews new photos and listing edits before they show.
A photo upload fails
Photos must be JPG or PNG, between 10 KB and 5 MB and at least 250x250 px, and uploadMedia takes a public URL.
Codex says a subscription is required
The tools need an active Ryze AI plan or free trial. Start the trial in Ryze AI and retry.
I need a second location
One connection is one location. Connect the other location in its own Ryze AI workspace and allow that workspace on the Ryze AI sign-in page.

Frequently asked questions

How do I connect Codex to Google Business Profile?

Ryze AI is the best way to connect Codex to Google Business Profile when you want tools for reviews, posts, listing edits and performance, though it covers one location per workspace. Connect the listing in Ryze AI, pick the Location, run codex mcp add ryze --url https://connector.get-ryze.ai/mcp, run codex mcp login ryze and click Allow connection.

Is there a Google Business Profile MCP server for Codex?

The Ryze AI connector at https://connector.get-ryze.ai/mcp provides 14 Google Business Profile tools. Google's Business Profile API overview does not mention an MCP server from Google, so the other route is to build one on top of the Business Profile APIs yourself.

Which Codex plan do I need?

OpenAI lists Codex in ChatGPT Free, Go, Plus, Pro, Business, Edu and Enterprise plans. Free and Go get the desktop app only, subject to rollout, and Plus and higher add the CLI and IDE extension. You can also use an OpenAI API key in the CLI, SDK or IDE extension.

Does this work in the Codex desktop app and the IDE extension?

Yes. OpenAI documents one shared MCP configuration for the ChatGPT desktop app, the CLI and the IDE extension. Add the server through Settings, MCP servers, choose Streamable HTTP, enter the URL, restart and select Authenticate. Codex cloud tasks are not covered by OpenAI's MCP page, so this guide does not claim them.

What can Codex do in my Business Profile?

Through Ryze AI it can read and edit the listing, list reviews and publish owner replies, create, list and delete posts, list and add photos, read and update attributes, and read daily performance and search keywords. That is 8 read and 6 write tools in total.

Can Codex change my listing without asking?

That depends on the approval settings. In Codex set default_tools_approval_mode to prompt or writes for the ryze server, or set approval_mode per tool, so Codex asks before a write tool runs. In the Ryze AI chat the default Tool approvals setting is Skip all approvals, and you can switch it to Approve write and delete or Manual approve.

Do I need a Google Cloud project or API approval?

Not for the Ryze AI connector, which uses a Google sign-in. If you call Google's APIs yourself, Google requires an approved project: unapproved projects get 0 QPM and approved projects 300 QPM, and the profile must be verified and active for 60 or more days.

Can I connect more than one location?

Not in one workspace. One connection is one location, and Local SEO in a workspace works on one location. Connect another location in its own Ryze AI workspace. One Ryze AI connection can cover up to 20 workspaces.

Why does Codex not show Google Business Profile tools?

If you added the server before connecting the profile in Ryze AI, remove it, add it again and start a new session. Also check that a Location is saved on the Google Business Profile card.

Why are performance and keyword results empty?

For an unverified listing Google serves neither performance data nor search keywords. For verified listings, performance arrives 2 to 3 days late, and Google drops keywords below an impression threshold it does not publish.

How much does it cost?

Adding the server is free, but the tools need an active Ryze AI plan or free trial. Paid Ads is $89 per month with a 7-day free trial and SEO Starter is $129 per month with a 3-day free trial. Agency is $279 per month, and annual billing takes 30% off the first year.

How do I disconnect it?

Remove the server in the MCP servers screen of the desktop app or IDE extension, or delete the [mcp_servers.ryze] table from config.toml. To cut Google access, disconnect the Google Business Profile card in Ryze AI.

Connect your Business Profile to Codex

The Google Business Profile tools need an active Ryze AI plan or trial. SEO Starter is $129 per month with a 3-day free trial and includes Local SEO; Paid Ads is $89 per month with a 7-day free trial. Annual billing takes 30% off the first year.

Need help? Read the Ryze AI help center or email Ryze AI support.