All docs
Reference

Connect CafeTally to ChatGPT, Codex, and Claude

Connect CafeTally to ChatGPT, Codex, and Claude with MCP. Includes Codex installation, Windows permissions, OAuth setup, and troubleshooting.

Updated August 24, 2026

CafeTally's remote Model Context Protocol server connects your live cafe or restaurant operations to ChatGPT, Codex, Claude, and Claude Code. Use one secure MCP endpoint to review business performance, inspect expenses and inventory, calculate recipe costs, manage products, and work with Square catalog data from your preferred AI assistant.

Copy the CafeTally MCP server URL

Use this same Streamable HTTP endpoint in every supported client:

https://cafetally.com/mcp

CafeTally uses OAuth, so you do not need to create or paste an API key. The authorization screen lets you sign in directly to CafeTally and review access before approving the connection.

Choose your AI client

ClientBest forSetup method
ChatGPTBrowser-based inventory, costing, and operations workflowsAdd the MCP server as a plugin in developer mode
CodexDesktop, terminal, and IDE workflowsInstall Codex, then add the remote server in the app or CLI
ClaudeBrowser, desktop, and mobile conversationsAdd a custom connector
Claude CodeTerminal-based workflowsAdd the remote server with the Claude CLI

Before you connect

You need a verified CafeTally account with access to at least one active store. The tools available to you follow your existing CafeTally team role, feature access, and subscription or trial status. Owners and managers can perform applicable write actions, while read-only team members remain limited to the data they can already view. Owner financial review tools require the Finance feature, an owner account or owner-granted finance access, and current Finance MFA verification in CafeTally. You can connect before Finance verification. If an audit reaches bank-derived evidence after the verification window expires, CafeTally returns a safe verification link that upgrades the same connection and automatically resumes the same audit.

Connect CafeTally to ChatGPT

Until CafeTally is available in the public Plugins Directory, add it as a custom MCP connection in ChatGPT developer mode.

  1. Open Settings > Security and login in ChatGPT.
  2. Turn on Developer mode.
  3. Open ChatGPT Plugins.
  4. Select the plus button and create a new connection named CafeTally.
  5. Choose the public MCP server connection option and paste the URL below.
  6. Review the discovered tools, continue to CafeTally, and approve OAuth access.
  7. Start a new conversation and enable CafeTally from the tools or plugins menu.
https://cafetally.com/mcp

For the current developer-mode flow, see OpenAI's connect and test a plugin guide.

Connect CafeTally to Codex

Codex is available through the ChatGPT desktop app, Codex CLI, and Codex IDE extension. The desktop app is the simplest path for most Windows users, while the CLI is useful for terminal and automation workflows.

Install and enable Codex on Windows

Windows 11 is the recommended baseline. An updated Windows 10 version 1809 or newer can work, but OpenAI supports it on a best-effort basis.

Option 1: Install the Windows desktop app

Open PowerShell or Windows Terminal and install the ChatGPT desktop app from the Microsoft Store:

winget install --id 9PLM9XGG6VKS -s msstore

Then complete the connection:

  1. Open the ChatGPT desktop app and sign in.
  2. Open Codex and add the folder you want it to work in.
  3. Keep Ask for approval selected beneath the composer so the Windows sandbox protects files outside the project.
  4. Open Settings > MCP servers and select Add server.
  5. Enter CafeTally as the name, select Streamable HTTP, and enter https://cafetally.com/mcp as the URL.
  6. Save the server and restart the app.
  7. Select Authenticate, finish the CafeTally browser sign-in, and enter /mcp in Codex to confirm the server is active.

Codex is part of the desktop app, so there is no separate CafeTally program or API key to install. See OpenAI's Windows desktop app guide for the current download and setup flow.

Option 2: Install the Codex CLI in PowerShell

Run OpenAI's Windows installer from PowerShell:

powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

Close and reopen the terminal, then confirm the installation and sign in:

codex --version
codex

Choose Sign in with ChatGPT the first time Codex starts. Do not permanently weaken the machine's PowerShell execution policy. The -ExecutionPolicy ByPass option above applies to this installer process.

Add the CafeTally remote MCP server and start its OAuth sign-in:

codex mcp add cafetally --url https://cafetally.com/mcp
codex mcp login cafetally

After browser authorization finishes, verify the saved server:

codex mcp list

Open Codex and enter /mcp to confirm CafeTally is active. The ChatGPT desktop app, Codex CLI, and Codex IDE extension share MCP configuration for the same Codex host. On native Windows, the shared configuration is stored under %USERPROFILE%\.codex\config.toml. See OpenAI's Model Context Protocol guide for client configuration details.

Choose the right Windows sandbox

Codex uses a sandbox to limit filesystem writes and network access while it runs commands. The elevated Windows sandbox is preferred because it provides stronger filesystem and network isolation. Approve the Windows administrator prompt during its initial setup when your organization's policy permits it.

If a managed laptop blocks the elevated setup, add this temporary fallback to %USERPROFILE%\.codex\config.toml:

[windows]
sandbox = "unelevated"

The unelevated sandbox still restricts the process, but its isolation is weaker. Use it only while your IT team investigates the elevated sandbox policy failure. Do not switch to full access just to make the MCP connection work. CafeTally is a remote HTTPS MCP server and does not need unrestricted access to the rest of the computer.

If your project and development tools already live in Linux, use WSL2 instead. Open PowerShell as an administrator and run wsl --install, then install and run Codex from inside the WSL shell. Run the CafeTally codex mcp add and codex mcp login commands inside that same WSL environment because native Windows and WSL use different Codex hosts and configuration files. See OpenAI's Codex WSL guide for the complete setup.

Client meeting readiness checklist

Complete this checklist before connecting a client's live CafeTally account:

  • Install and open Codex, then confirm codex --version if you plan to use the CLI.
  • Confirm the user can sign in to both ChatGPT and CafeTally in their default browser.
  • Ask the client's IT team to approve the elevated Windows sandbox setup, or agree on the unelevated or WSL2 fallback before the meeting.
  • Confirm outbound HTTPS access to https://cafetally.com/mcp and the CafeTally browser authorization flow.
  • Run codex mcp list, then open Codex and enter /mcp to confirm CafeTally is enabled.
  • Start with a read-only prompt and confirm the expected CafeTally store before approving any write.

Connect CafeTally to Claude

Open the prefilled CafeTally connector setup, or add it manually:

  1. Open Customize > Connectors in Claude.
  2. Select the plus button, then Add custom connector.
  3. Enter CafeTally as the name.
  4. Paste the MCP server URL below.
  5. Continue to CafeTally, sign in, and approve access.
  6. Enable CafeTally from the connector menu in the conversation where you want to use it.
https://cafetally.com/mcp

On a Team or Enterprise plan, an owner must first add CafeTally from the organization's connector settings. Anthropic documents both account flows in its remote MCP connector guide.

Connect CafeTally to Claude Code

Add the remote HTTP server from a terminal:

claude mcp add --transport http cafetally https://cafetally.com/mcp

Open Claude Code, enter /mcp, select CafeTally, and complete the browser sign-in. Claude Code stores and refreshes the resulting OAuth credentials through its normal MCP authentication flow.

Copy a prompt and try the connection

Start with a read-only request so you can confirm the correct CafeTally store before changing anything.

Show my CafeTally stores and tell me which one is connected to Square.
Find inventory items related to milk and show which ones are missing cost data.
Find my 12-ounce latte, calculate its recipe cost, and explain the biggest cost drivers.
Review my recent CafeTally expenses and identify ingredients without receipt coverage. Do not change anything.
Find unmapped supplier expense lines, show me the best existing inventory matches, and then show which product recipe ingredients could use each match. Ask before changing either relationship.
Review my last completed month of sales and cash-basis finances, explain whether my POS and bank activity directionally line up, and identify the evidence I should audit before taking action. Do not change anything.

For a write workflow, state the store and requested change clearly:

In my Downtown Cafe store, create an inventory item for oat milk. Show me the proposed values before saving it.

What the CafeTally MCP connector can do

Cafe inventory management

Search inventory, identify missing cost information, and create or update inventory items when your role allows it.

Product and recipe costing

Find menu products, inspect recipes, calculate cost of goods sold, audit missing ingredients, and maintain recipe links.

Receipts and expenses

Review expenses, match receipt line items to inventory, save approved receipts, and find gaps in supplier coverage. For saved expenses, the connector reads exact expense-line references before mapping them to an inventory item and keeps one keyed receipt price record per mapped line. Repeat calls reuse existing evidence and repair it when a prior write was incomplete.

Connect expenses to product recipes

The connector keeps the two relationships separate so each change can be reviewed and verified independently.

  1. list_expense_items finds saved lines and their current inventory status.
  2. get_inventory_items resolves the inventory item that represents the purchase.
  3. map_expense_items_to_inventory links confirmed expense lines to that item.
  4. list_product_recipe_ingredients finds exact recipe slots and their current versions.
  5. map_product_recipe_ingredient updates one confirmed recipe slot without replacing the rest of the recipe.

Both mapping tools are idempotent for an existing identical link. Recipe mapping rejects stale versions and incompatible units instead of silently overwriting newer recipe work.

Owner profitability audit workflow

The connector uses one canonical, resumable audit instead of independently recomputing finance, sales, costing, labor, and recommendations across unrelated calls.

  1. start_owner_profitability_audit freezes the store, business-date period, timezone, currency, source cutoffs, input fingerprints, and calculation schema and returns an auditRunId quickly.
  2. get_owner_profitability_audit reports checkpointed progress, readiness, completeness, blockers, warnings, and compact results for that exact frozen run.
  3. get_owner_profitability_audit_section retrieves a compact section without recomputing the audit.
  4. list_owner_transactions retrieves every matching ledger row with stable cursor pagination.
  5. compare_cost_model_to_actual returns the model comparison only when the periods, currencies, bases, coverage, and cost evidence are compatible.
  6. cancel_owner_profitability_audit stops unfinished work without changing source records.

Large evidence is available through cafetally://profitability-audits/{auditRunId}/evidence/{section}/{format} in JSON, CSV, or NDJSON format. Read-only audit calls, status polls, pagination, calculations, comparisons, health checks, and evidence exports do not require confirmation.

The audit treats posted bank transactions as canonical actual P&L and returns posted plus pending as a separate projection. It returns all Square variations through pagination and always identifies uncatalogued sales separately. Theoretical COGS accounts for every sold variation as complete, estimated lower bound, or unknown and labels current unit cost used as a historical proxy. Missing high-sales costs, partial Square coverage, incompatible periods, or incompatible accounting bases suppress an exact model delta instead of producing false precision. Cash COGS remains a cash-purchases proxy unless beginning inventory, purchases, and ending inventory are available.

all_bank_revenue_minus_square_net_sales is a directional channel comparison rather than an accounting reconciliation. Square deposits, DoorDash, Stripe, cash, and other revenue channels remain distinct, and unavailable channel evidence is returned as unavailable rather than silently classified as Square. The connector never treats a directional difference as proof of theft, leakage, missing money, or accounting loss.

Recommendations cite their audit section and source fingerprint, include limitations and confidence, and propose a reversible measurement plan. Pricing guidance uses variation-level sales and cost completeness but cannot establish price elasticity from historical data. Labor guidance stays at the aggregate payroll level when paid hours and daypart evidence are unavailable.

Continue an interrupted audit

Keep the original auditRunId after a timeout, source failure, finance verification request, or client restart. The audit resumes from its last durable checkpoint and does not duplicate frozen evidence.

Use the remediation attached to a blocker:

  • FINANCE_VERIFICATION_REQUIRED provides a safe CafeTally verification link and resumes the same audit after successful verification.
  • SQUARE_REAUTH_REQUIRED means the Square connection needs attention.
  • PLAID_REAUTH_REQUIRED means the Plaid connection needs attention.
  • DEPENDENCY_UNAVAILABLE is retryable infrastructure trouble and does not mean the CafeTally connection should be replaced.

When Square coverage is stale or missing, ensure_square_sales_coverage starts an asynchronous, resumable repair for the exact business-date interval. A frozen audit is never rewritten after source repair. Start a new audit after the repair completes to capture the refreshed source cutoff and fingerprints.

Hourly Square sales

Use get_owner_hourly_sales for exact date-hour rows or a server-calculated weekday-hour profile. The tool requires explicit inclusive from and to local dates, so a request for August cannot silently become a July report. It defaults to the store canonical business timezone and rejects a conflicting timezone.

Covered zero-sales hours contain zero metrics. Missing or stale hours contain null metrics, exact missing intervals, and a machine-readable coverage error. Repeated fall-back hours remain separate through their UTC offset and DST fold. Spring-forward hours that do not exist are not fabricated.

Use ensure_square_hourly_sales_coverage with the exact period, location filter, and one stable idempotency key when coverage is incomplete. The returned job checkpoints, resumes, retries, and supports cancellation without changing Square. After completion, retry the original hourly retrieval without changing its dates.

Large date-hour reports provide complete CSV and NDJSON resources. Hourly sales use completed Square orders assigned to their closedAt hour. They are not bank deposits or recognized accounting revenue. Hourly retrieval is enabled per store only after version 2 coverage and hourly-to-daily parity pass the rollout gate. FEATURE_NOT_ENABLED means the store has not passed that gate, and daily totals must not be disaggregated as a fallback.

Square catalog workflows

Identify stores connected to Square and import supported Square catalog records into CafeTally. The connector does not transfer money or initiate financial transactions.

Modifiers and ingredient aliases

Search and maintain modifier groups, modifier links, and ingredient aliases used by recipes and receipt matching.

Permissions and safety

Every tool checks your CafeTally team membership, store role, feature access, and billing status when it runs. Finance review also requires finance access and current Finance MFA verification because it can include bank-derived information. Read-only tools do not create hidden records. Write tools are labeled for the AI client, and destructive product, recipe, or modifier deletion requires an explicit confirmation value. Review the proposed action and the selected store before approving a write or deletion.

Troubleshooting MCP setup

Use the failure point to identify which permission layer needs attention:

FailurePermission layerFirst check
codex does not startWindows installation or PATHReopen the terminal and run Get-Command codex
A sandbox command failsWindows or enterprise device policyCheck the sandbox mode, UAC prompt, and policy error
OAuth does not finishBrowser, network, or CafeTally sign-inReopen the login and confirm the exact MCP URL
A CafeTally tool is deniedCafeTally store role, feature, or Finance verificationRead the tool's permission message and verify the account

The Windows sandbox controls what Codex can do on the computer. CafeTally OAuth and store roles separately control what the remote connector can do in CafeTally. Changing the Windows sandbox cannot grant a user more CafeTally access.

Windows cannot find the codex command

Close every PowerShell or Windows Terminal window after installation, open a new one, and run:

Get-Command codex
codex --version

If the command is still missing, rerun the official installer and ask IT whether application controls prevent the installer from adding Codex to the user's PATH. Do not download an unofficial executable to work around the policy.

The Windows sandbox setup fails

The elevated sandbox can require administrator-approved local user and group creation, firewall changes, and sandbox-user logon rights. Approve the UAC prompt when company policy permits it. On a managed device, ask IT to review the displayed policy error rather than switching Codex to full access.

If commands fail with Windows error 1385, the sandbox users do not have the required logon rights. Use the unelevated sandbox as a temporary fallback, or use WSL2, while IT corrects the device policy. OpenAI's Windows sandbox troubleshooting guide lists the supported modes and enterprise policy checks.

Codex cannot read a required folder

Keep the project in a user-owned working folder and open that folder as the Codex project. Enter /permissions in Codex to inspect the active sandbox and writable roots. To grant read-only access to one additional existing directory for the current session, run:

/sandbox-add-read-dir C:\absolute\directory\path

Grant only the specific directory the task needs. The CafeTally remote MCP connection itself does not require access to unrelated local folders.

CafeTally is configured in Windows but missing in WSL

Native Windows and WSL are different Codex hosts. Run codex mcp add cafetally --url https://cafetally.com/mcp and codex mcp login cafetally inside the environment where Codex actually runs. Then run codex mcp list in that same environment.

The OAuth sign-in does not open

Confirm that the server URL is exactly https://cafetally.com/mcp, including the /mcp path. Run codex mcp login cafetally again and allow the default browser to open the authorization page. If a managed browser or firewall blocks the page, ask IT to allow the CafeTally MCP endpoint and browser authorization flow. Remove the connection and add it again if the client saved an incomplete URL.

The connector is installed but not used

Enable CafeTally for the current conversation from the client's tools, plugins, or connectors menu. In Codex, run codex mcp list, then enter /mcp in the active conversation. Start a new conversation after changing the connection or refreshing its tool metadata.

No CafeTally stores appear

Sign in to CafeTally directly and confirm that the same account belongs to an active store team. Ask a CafeTally owner to check your membership and role if the store is missing.

A write action is denied

The selected store may require an owner, manager, or administrator role for that action. Read the returned permission message and ask the store owner to adjust your role only if the access is appropriate.

Finance review requires verification

Open the safe verification URL returned by the audit and complete the Finance verification step in CafeTally. Do not disconnect or reconnect CafeTally and do not start a replacement audit. The existing authorization session receives the time-limited Finance proof, and each waiting audit for that session resumes from its checkpoint. Finance access is time-limited and still depends on your live store role and owner-granted permission. Expired Finance verification blocks finance data but does not block inventory or catalog tools permitted by the user's live role. If the audit reports missing Square coverage, run its coverage repair for the exact business-date period and then start a new frozen audit.

Tools look outdated

Refresh the connection in ChatGPT or reconnect CafeTally in Claude. For Codex or Claude Code, remove and re-add the server if the client does not refresh its advertised tools.

Frequently asked questions

What is the CafeTally MCP server?

The CafeTally MCP server is a secure remote endpoint that gives supported AI assistants structured tools for CafeTally business reviews, inventory, expenses, products, recipes, modifiers, and Square catalog workflows.

Does CafeTally MCP work with both ChatGPT and Claude?

Yes. The same remote MCP endpoint works with ChatGPT, Codex, Claude, and Claude Code through each client's supported Streamable HTTP and OAuth setup flow.

Can an AI assistant change my CafeTally data?

Only when you request a write operation, your CafeTally role permits it, and the AI client approves or confirms the applicable tool call. You can begin with read-only prompts and explicitly tell the assistant not to change anything.

Do I need a CafeTally API key?

No. CafeTally uses an OAuth authorization flow that keeps passwords and access tokens out of your prompt and client configuration.

Can I disconnect CafeTally later?

Yes. Remove or disconnect CafeTally from the client's MCP, plugin, or connector settings to stop future access from that connection. You can also open CafeTally's AI Connections section to inspect creation time, last use, Finance verification, and client metadata and then revoke one authorization session or all CafeTally AI sessions.

Related CafeTally guides

For help, visit CafeTally Support or email support@cafetally.com.