Yes, Eureka's MCP server works with both. In ChatGPT, you add it as a developer-mode custom connector. In Codex CLI, you add a short block to a config file. Either way, you're pointing an OpenAI tool at the same server every other AI client in our docs uses: https://api.eureka.md/mcp, authenticated with your own per-doctor API key.
You'll need that key before you start anything below. Eureka issues one per doctor on request, scoped to your own practice, revocable, never shared across accounts.
ChatGPT and Codex CLI, side by side
| ChatGPT | Codex CLI | |
|---|---|---|
| How you connect | Developer-mode custom connector | A [mcp_servers.eureka] block in a config file |
| Where your key goes | Pasted into the connector's API key field | An environment variable, referenced by name |
| Plan or account needed | Whatever ChatGPT plan and settings OpenAI currently requires for developer mode; check your account | Any Codex CLI install |
| Write actions | Depends on what OpenAI currently exposes to your account through developer mode | Full read and write, governed by your own approval settings |
If you use Claude instead, the shape of the setup is nearly identical: see Connect Claude to your EHR.
How do I connect ChatGPT to Eureka?
- In ChatGPT, open Settings, go to Connectors, and switch on Developer mode under Advanced settings.
- Back in Connectors, click Add custom connector. Name it "Eureka," set the server URL to
https://api.eureka.md/mcp, choose API key as the authentication method, and paste youreur_...key. - In a conversation, click the plus icon in the composer, choose Developer mode, and select the Eureka connector. Ask it to use a tool and it will list what's available.
What you get depends on your ChatGPT plan and how OpenAI has configured developer mode for your account. Check Connectors in your ChatGPT settings to see which of our tools show up for you and whether write tools are available.
How do I connect Codex CLI to Eureka?
Codex CLI reads its MCP configuration from ~/.codex/config.toml (or a project-local .codex/config.toml). Add:
[mcp_servers.eureka]
url = "https://api.eureka.md/mcp"
bearer_token_env_var = "EUREKA_MCP_KEY"
Then set the environment variable Codex is pointed at, in your shell profile:
export EUREKA_MCP_KEY="eur_..."
Codex never writes the key itself into the config file, only the name of the variable it should read. The same setup from the command line, without touching the TOML directly:
codex mcp add eureka --url https://api.eureka.md/mcp --bearer-token-env-var EUREKA_MCP_KEY
Codex also has its own approval setting for how much confirmation it asks for before running a tool. Check Codex CLI's current documentation for the exact config key and values, since these have shifted as the CLI has evolved. For a server that can write appointments, orders, and messages, we'd leave that on the more cautious setting rather than the most permissive one.
What can I ask once it's connected?
Ask in plain language. A few examples, kept to the practice-operations side rather than anything clinical:
| Prompt | What it touches |
|---|---|
| "What's on my schedule tomorrow, and who hasn't confirmed?" | appointment, availability |
| "Which patients are carrying a balance over $200?" | billing |
| "Draft a reply to the message from Jane about moving Thursday's visit." | message, appointment |
| "Who's overdue for a follow-up this month?" | recall |
| "What did my payouts add up to last quarter?" | payout |
| "Run my morning brief." | the /prep-day prompt |
The full tool list, including the /prep-day and /post-visit prompts, is documented in the MCP reference.
What are the limits?
Every domain in our MCP server has a separate read tool and a matching *_action write tool, on purpose. Read tools never change anything in your practice. Write tools execute right away, the same as making the change in the app yourself, there's no separate approval queue sitting behind them on our side. The defaults stay conservative where it counts: a new booking leaves the visit unpaid and doesn't message the patient unless you explicitly ask, and prescriptions can't be created through the order tools at all, since e-Rx stays in the app.
Whatever guardrail you get comes from the client you're using: however ChatGPT handles write calls on your account, Codex's approval mode, or simply registering only the read tools if that's all you want your assistant touching. We rely on the same split internally. Our own Slack assistant, the one that drafts replies to patients, runs on a locked read-only subset of these tools, because patient-authored text is the one input we don't trust by default.
Is this HIPAA compliant?
Eureka signs a Business Associate Agreement with every practice we work with. That agreement doesn't automatically extend to ChatGPT or Codex once you point either one at your patient data. At that moment your practice is the covered entity connecting to a separate AI vendor, and the agreement you need is between your practice and that vendor.
A personal ChatGPT subscription generally doesn't come with a BAA. OpenAI launched ChatGPT Health on January 7, 2026, as a consumer product for patients. BAAs live on OpenAI's enterprise and API tiers instead. Confirm directly with OpenAI where your account stands before sending any patient data through ChatGPT or Codex. This isn't legal advice.
One practical way to lower the stakes while you sort that out: keep the connection read-only wherever you can, whether that's choosing read-only tools deliberately in Codex or simply not asking ChatGPT to write anything back to a patient's chart until you're sure of your BAA coverage. For how this compares with what other EHR vendors have shipped on the agent side, see our rundown of EHR MCP servers.
More setup questions, including how API keys are issued and revoked, are answered in our FAQ. To get a key for your practice, ask in your practice Slack channel or reach us at eureka.md/support.