Codex + xCloud

Manage SSL and domains with Codex on xCloud

Managing SSL and domains with Codex means asking OpenAI's terminal agent to read a site's certificate and DNS on xCloud, then install or renew HTTPS after your approval, all from the shell you already have open.

  • Skill: xcloud:ssl
  • Toolsets: ssl-certificates, sites, integrations
  • Free with every xCloud account

YouShow SSL provider and expiry for shop.example.com.

sites_sslread-only

AgentProvider xCloud (Let's Encrypt), status active, expires in 62 days. DNS is not part of this answer, so I have not changed anything.

YouNow check DNS and tell me if the proxy is on.

servers_dns_checkread-only

AgentThe A record points at your server and the Cloudflare proxy is off. dig agrees with xCloud.

. Keep a human in the loop: xCloud stops and asks before anything that creates, deploys, updates, reboots, deletes or buys.

Setup

How Do You Set Up Codex to Manage SSL and domains on xCloud?

Connect Codex once; every job on this account uses the same connection. Then ask in plain words.

  1. Add the xCloud MCP server

    Run this in your terminal. This form comes from xCloud's connect guide; OpenAI's Codex page documents codex mcp add for local commands, so if your version rejects --url, use the config.toml step below.

    Terminal
    codex mcp add xcloud --url https://app.xcloud.host/mcp
  2. Or write it in config.toml

    Codex reads ~/.codex/config.toml. Add a table for the server with its url. A Streamable HTTP server needs only the url, and the same file is where you set a bearer_token_env_var if you use an API key instead of OAuth.

    TOML
    [mcp_servers.xcloud]
    url = "https://app.xcloud.host/mcp"
  3. Sign in and check

    Run the login command, approve the teams and choose Read-only or Full access in the browser, then type /mcp in Codex to see xcloud and its tools. Optional: Codex is also listed for the xCloud Agent Plugins package, which adds the xCloud skills.

    Terminal
    codex mcp login xcloud
  4. Check it worked

    Then ask Codex for the job itself, for example:

    Prompt
    Show SSL provider and expiry for shop.example.com.

In practice

How Does SSL and domains Work from Codex?

Codex runs in a terminal, usually in a repository, so a request for this job is a short imperative line. You type check the certificate on shop.example.com, and Codex calls sites_ssl through the xcloud server you added with codex mcp add and signed into with codex mcp login. The answer comes back as plain terminal text: provider, status, expiry date. If the line you typed names a domain that appears in the repository, Codex can search the project for it and tell you where else the hostname is hard-coded, which is a useful thing to know before a certificate changes.

For DNS, Codex can use the shell it is already in. It runs the xCloud check through servers_dns_check, and because it can execute commands it can also run dig or curl -I in the same turn and show both results one under the other. That pairing is handy right after you edit a record, when you want to know whether xCloud sees what your resolver sees. The install and renew steps are different in kind. They are the calls xCloud holds for an explicit confirmation, so Codex states the site and the provider and waits for you, in addition to whatever approval policy your Codex session uses for tool calls.

Because Codex is happy to be scripted, there is a pattern worth knowing: use it for the reads and keep the writes interactive. A non-interactive run can read every certificate and domain and print a report, but an install or renewal needs someone to answer the confirmation, so it stops there. After an approved install Codex polls ssl-certificates_status until the state settles and then requests the HTTPS URL. For a change to a domain on an existing site it prints the dashboard path, Site, then Domain, because the API only reads domains after creation.

Codex specific: Run codex mcp login xcloud after adding the server, or the xCloud tools stay unavailable and Codex will answer from general knowledge instead of reading your certificate. Type /mcp in Codex to confirm xcloud is listed before you trust an answer about a live site. A scripted or non-interactive run cannot answer xCloud's confirmation, so it will read and report but stop at any install, renewal or deletion.

What xCloud does for ssl and domains

xCloud lets the agent read a site's certificate status, domains and DNS, then install or renew a certificate from xCloud (Let's Encrypt), your own files or a connected Cloudflare account. Adding or changing a domain on an existing site stays in the dashboard, and the agent gives you the path.

  1. Find the site and read its SSL. The agent resolves the site by name or domain, then reads its current SSL state and the list of certificates before it changes anything. That shows the provider, the status and the expiry date.
  2. Check the domain and DNS. It reads the site's primary and additional domains and asks xCloud whether the domain's DNS record points at the server. Each check is one lookup, so the agent repeats it while a record propagates. A record behind Cloudflare's proxy is reported separately.
  3. Choose the certificate source. You pick xCloud's free Let's Encrypt certificate, your own certificate, or the team's Cloudflare integration. If the site already uses a different provider, the agent tells you that switching needs an explicit override and asks first.
  4. Install or renew, once you approve. The agent restates the site and the provider, then installs or renews the certificate. A renewal only runs when the certificate is within seven days of expiry unless you ask for a forced renewal. For a WordPress site turning on HTTPS for the first time, it asks whether to run the database search-and-replace.
  5. Poll to issuance and verify. Install and renew report success before issuance completes. The agent polls the certificate status until it settles, then checks the site over HTTPS before it calls the job done.
  6. Hand off domain changes. If you want to add, change or remove a domain on an existing site, the agent gives you the dashboard path (Site > Domain) and the site's dashboard link, because the API only reads domains after creation.

Reference

SSL and domains Settings and Limits on xCloud

The facts Codex works within when it manages SSL and domains. Where a row names the dashboard, that step stays yours to take there.

Setting or limitWhat applies
Certificate statusA site's SSL state, its certificate list and one certificate's detail and status are all readable
xCloud certificateFree Let's Encrypt certificate issued and renewed by xCloud. The domain's DNS should already point at the server before you ask
Custom certificateYou supply the PEM certificate and its private key. The key is a secret and is never returned by a read
Cloudflare certificateUses the team's connected Cloudflare account. When the zone is connected, xCloud writes the DNS record and the certificate itself at site creation
Switching providerNeeds an explicit force when another provider is already configured, so the agent asks before it replaces a working certificate
Renewal ruleA renewal does nothing unless the certificate is within seven days of expiry; a forced renewal skips that guard. Renewing needs the site SSL permission on your team role
WordPress first HTTPSAn optional database search-and-replace moves existing http:// URLs to https:// when a WordPress site adopts HTTPS for the first time
DNS checkOne lookup per call. A proxied Cloudflare record is flagged, and on a Cloudflare-managed site the proxied record is the finished state, not a fault
Domains (read)The primary domain, additional domains and the domain update status are readable through the API
Domains (write)Adding, changing or removing a domain on an existing site is dashboard-only: Site > Domain. A staging site goes live under Site > Domain > Go Live
Deleting a certificateAvailable through the API, but it can take a site off HTTPS, so the agent restates the target and waits for your approval
Cloudflare 526 errorsA 526 or a certificate warning is an SSL problem, so the agent reads the certificate first. A 522 is different: it usually means ports 80 and 443 are blocked at the origin

Rules Codex has to follow

  • Installing, renewing, switching or deleting a certificate stops for your approval, and the agent names the site and the provider before it asks.
  • A success response means xCloud accepted the work, not that the certificate was issued: the agent polls the status and checks the live HTTPS URL.
  • The agent never replaces a working certificate with a different provider without telling you, and it never turns off the Cloudflare proxy on a site xCloud manages through Cloudflare.
  • Changing a domain on an existing site is a dashboard step; the agent gives you the path and the dashboard link xCloud returned, not a made-up workaround.
  • A custom certificate's private key is a secret: it is never returned by a read and should not be pasted into a shared channel.

Example prompts

What Can You Ask Codex to Do for SSL and domains?

Type these as written and swap in your own repository, site and server names. Reads and routine actions such as backups, cache purges, PageSpeed scans and vulnerability scans run straight away; creating, deploying, updating, rebooting, deleting, buying or starting a broken-link scan stops and asks first.

Prompt
Show SSL provider and expiry for shop.example.com.
Prompt
Check DNS for example.com against the Frankfurt server and run dig next to it. Is the Cloudflare proxy on?
Prompt
Install the free xCloud certificate on shop.example.com once DNS resolves, poll the status and curl -I the HTTPS URL.
Prompt
Check the SSL certificate on shop.example.com and tell me when it expires.
Prompt
Is the DNS A record for example.com pointing at my Frankfurt server yet? Tell me if the Cloudflare proxy is on.
Prompt
Issue a free SSL certificate for example.com once DNS resolves, then confirm the site loads over HTTPS.
Prompt
Renew the certificate on the shop site and tell me the new expiry date.
Prompt
List every domain and additional domain on the shop site and say which is primary.
Prompt
Which of my sites have a certificate that expires in the next 30 days?
Prompt
Use my connected Cloudflare account for the certificate on shop.example.com, and show me what will change first.
Prompt
Visitors get a Cloudflare 526 error on shop.example.com. Check the certificate and tell me what is wrong.

Codex and SSL and domains: Frequently Asked Questions

What people ask before they let Codex manage SSL and domains through xCloud.

Can I run a certificate expiry check with Codex from a script?

Yes, for reads. A non-interactive Codex run can read each site's certificate and expiry and print a report, provided you already ran codex mcp login xcloud. Installing, renewing or deleting a certificate needs someone to answer xCloud's confirmation, so those stay in an interactive session.

Does Codex renew a certificate that is not close to expiry?

Not by default. A normal renewal only fires when the certificate is within seven days of expiry, and Codex tells you when it would do nothing. If you want it earlier, ask for a forced renewal and Codex confirms the site and provider with you before it runs.

Can an AI agent add a domain to an existing site?

No. The API reads a site's domains, additional domains and domain update status, but adding, changing or removing a domain on an existing site is a dashboard step under Site > Domain. A domain is chosen when the site is created. The agent can tell you what is currently set and give you the path.

Which certificate options can the agent install?

Three: xCloud's free Let's Encrypt certificate, a custom certificate you supply, and a certificate through your connected Cloudflare account. The agent checks the current state first and asks before it changes anything. Switching a site from one provider to another needs an explicit override.

Why did the agent say a renewal did nothing?

A normal renewal only fires when the certificate is within seven days of expiry. If you need it earlier, ask for a forced renewal and the agent will confirm before it runs. Renewing also needs the site SSL permission on your team role.

Does the agent set up my DNS records?

It reads and checks them rather than writing them. It can tell you whether a domain's record points at your server and whether the Cloudflare proxy is on. DNS and the certificate are written for you only at site creation, when the domain's zone is on a Cloudflare account you connected to xCloud.

What does the agent do about a Cloudflare 526 error?

It treats it as an SSL problem. It reads the site's certificate status and expiry, and fixes it with an installation or renewal after your approval. A 522 is a different fault, usually closed ports 80 and 443 on the origin, so it is checked against the firewall instead.

Other agents

SSL and domains with Other Agents

The same job, the same xCloud tools, a guide for each client.

Run Your Hosting from Codex

xCloud MCP, the Agent Skills and the Public API are free with every account. Connect once and ask.