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
| Client | Best for | Setup method |
|---|---|---|
| ChatGPT | Browser-based inventory, costing, and operations workflows | Add the MCP server as a plugin in developer mode |
| Codex | Desktop, terminal, and IDE workflows | Install Codex, then add the remote server in the app or CLI |
| Claude | Browser, desktop, and mobile conversations | Add a custom connector |
| Claude Code | Terminal-based workflows | Add 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.
- Open Settings > Security and login in ChatGPT.
- Turn on Developer mode.
- Open ChatGPT Plugins.
- Select the plus button and create a new connection named CafeTally.
- Choose the public MCP server connection option and paste the URL below.
- Review the discovered tools, continue to CafeTally, and approve OAuth access.
- 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:
- Open the ChatGPT desktop app and sign in.
- Open Codex and add the folder you want it to work in.
- Keep Ask for approval selected beneath the composer so the Windows sandbox protects files outside the project.
- Open Settings > MCP servers and select Add server.
- Enter
CafeTallyas the name, select Streamable HTTP, and enterhttps://cafetally.com/mcpas the URL. - Save the server and restart the app.
- Select Authenticate, finish the CafeTally browser sign-in, and enter
/mcpin 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 --versionif 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/mcpand the CafeTally browser authorization flow. - Run
codex mcp list, then open Codex and enter/mcpto 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:
- Open Customize > Connectors in Claude.
- Select the plus button, then Add custom connector.
- Enter CafeTally as the name.
- Paste the MCP server URL below.
- Continue to CafeTally, sign in, and approve access.
- 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.
list_expense_itemsfinds saved lines and their current inventory status.get_inventory_itemsresolves the inventory item that represents the purchase.map_expense_items_to_inventorylinks confirmed expense lines to that item.list_product_recipe_ingredientsfinds exact recipe slots and their current versions.map_product_recipe_ingredientupdates 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.
start_owner_profitability_auditfreezes the store, business-date period, timezone, currency, source cutoffs, input fingerprints, and calculation schema and returns anauditRunIdquickly.get_owner_profitability_auditreports checkpointed progress, readiness, completeness, blockers, warnings, and compact results for that exact frozen run.get_owner_profitability_audit_sectionretrieves a compact section without recomputing the audit.list_owner_transactionsretrieves every matching ledger row with stable cursor pagination.compare_cost_model_to_actualreturns the model comparison only when the periods, currencies, bases, coverage, and cost evidence are compatible.cancel_owner_profitability_auditstops 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_REQUIREDprovides a safe CafeTally verification link and resumes the same audit after successful verification.SQUARE_REAUTH_REQUIREDmeans the Square connection needs attention.PLAID_REAUTH_REQUIREDmeans the Plaid connection needs attention.DEPENDENCY_UNAVAILABLEis 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:
| Failure | Permission layer | First check |
|---|---|---|
codex does not start | Windows installation or PATH | Reopen the terminal and run Get-Command codex |
| A sandbox command fails | Windows or enterprise device policy | Check the sandbox mode, UAC prompt, and policy error |
| OAuth does not finish | Browser, network, or CafeTally sign-in | Reopen the login and confirm the exact MCP URL |
| A CafeTally tool is denied | CafeTally store role, feature, or Finance verification | Read 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
- Connect CafeTally to Claude
- Set up products, recipes, and costing
- Work with receipts and price drift
- Configure Square integrations
- Review team roles and security
For help, visit CafeTally Support or email support@cafetally.com.