This guide covers the Codex setup for Get started with Pressidium MCP.
Read the main guide first for beta requirements, security considerations, supported operations, and general troubleshooting.
Then follow the steps below to connect Codex.
1. Configure the Pressidium MCP server
Create or open ~/.codex/config.toml. Create the .codex directory if necessary.
Add the following configuration while preserving your existing settings. If an mcp_servers.pressidium table already exists, edit it instead of adding another one.
[mcp_servers.pressidium]
url = "https://mcp-dashboard.pressidium.com/dashboard"
enabled = true
tool_timeout_sec = 180
[mcp_servers.pressidium.env_http_headers]
"X-Pressidium-Email" = "PRESSIDIUM_EMAIL"
"X-Pressidium-Password" = "PRESSIDIUM_PASSWORD"
The values in env_http_headers are environment variable names, not ${...} expressions.
Codex reads the actual credential values from the environment when it connects.
The 180-second tool timeout gives operations room for the server's wait period of up to 120 seconds plus communication overhead. A longer client timeout does not guarantee that a background operation will finish during that period.
Do not run an MCP OAuth login for this connection. The current beta authenticates using the Dashboard email and password headers shown above.
2. Set your Dashboard credentials
The setup uses two local environment variables:
PRESSIDIUM_EMAILPRESSIDIUM_PASSWORD
These contain your Pressidium Dashboard credentials. They are not separate credentials issued by Pressidium.
macOS, Linux, or WSL
Open a terminal, run bash, then run:
read -r -p "Pressidium Dashboard email: " PRESSIDIUM_EMAIL read -r -s -p "Pressidium Dashboard password: " PRESSIDIUM_PASSWORD printf '\n' export PRESSIDIUM_EMAIL PRESSIDIUM_PASSWORD
The password is hidden while you type and is not entered as a shell command.
Windows PowerShell
Create or open
~/.codex/config.toml. Create the.codexdirectory if necessary.Add this configuration, preserving your existing settings. Edit an existing
mcp_servers.pressidiumtable instead of adding it twice.
[mcp_servers.pressidium]
url = "https://mcp-dashboard.pressidium.com/dashboard"
enabled = true
tool_timeout_sec = 180
[mcp_servers.pressidium.env_http_headers]
"X-Pressidium-Email" = "PRESSIDIUM_EMAIL"
"X-Pressidium-Password" = "PRESSIDIUM_PASSWORD"Open PowerShell and set your credentials in the terminal:
$env:PRESSIDIUM_EMAIL = Read-Host "Pressidium Dashboard email"
$env:PRESSIDIUM_PASSWORD = [System.Net.NetworkCredential]::new(
'', (Read-Host "Pressidium Dashboard password" -AsSecureString)
).PasswordWhen prompted, fill in your email and password.
Then fully quit Codex and launch it again from this shell.
If Codex is not installed, consult the official documentation to install it.In the CLI, run
/mcpto inspect the connection and tools.Run the verification prompt.
The values remain available only for the current shell session.
Keep your Dashboard credentials out of AI conversations, screenshots, Git repositories, and shared configuration files.
3. Start Codex from the configured environment
After setting the credential variables, start Codex from the same shell:
codex
This allows Codex CLI to inherit PRESSIDIUM_EMAIL and PRESSIDIUM_PASSWORD.
If you open a new terminal session, set the variables again before starting Codex.
Codex IDE extension
The Codex IDE extension shares the same MCP configuration.
Fully restart the IDE with the credential variables available to the process running the extension.
If you use a remote development environment, configure the variables in the environment where Codex actually runs.
WSL environment variables are separate from those available to a native Windows application.
4. Check the MCP connection
In Codex CLI, run:
/mcp
Confirm that the pressidium server is enabled and inspect the available Pressidium tools.
If the server or tools do not appear, check the configuration file, environment variables, and troubleshooting section below.
5. Verify the connection
Start with this request:
Use pressidium_whoami to verify my connection and show the selected team if available. Then use pressidium_list_sites to list the websites I can access. Include website names and whether each is Managed Hosting or standalone EDGE. Do not change any website settings.
Check that the returned account, team, and websites match what you expect in the Pressidium Dashboard.
Inspect the actual tool results as well as the assistant's summary.
If you belong to multiple teams, ask:
List my Pressidium teams. Show me their names and ask which team to select before continuing.
After selecting the intended team, ask Codex to list its sites again.
For larger accounts, ask it to continue through all available pages and state whether the list is complete.
For additional verification prompts and example tasks, return to Get started with Pressidium MCP.
6. Install Pressidium Agent Skills in Codex
Download the related .zip file here and extract it.
On macOS, Linux, or WSL, place the full extracted package in a stable location, with this resulting path:
~/pressidium-agent-skills/pressidium/
From the directory containing the extracted pressidium folder, for a first installation:
mkdir -p ~/pressidium-agent-skills cp -R pressidium ~/pressidium-agent-skills/
Expose each individual skill folder at the client's skill root using symbolic links. This keeps the original package together while making each folder containing SKILL.md discoverable. Both Claude Code and Codex document support for symlinked skill folders.
In Bash, select one destination:
# Claude Code: pressidium_skill_dest="$HOME/.claude/skills"
# Codex: pressidium_skill_dest="$HOME/.agents/skills"
Then run:
pressidium_skill_root="$HOME/pressidium-agent-skills/pressidium" mkdir -p "$pressidium_skill_dest" for pressidium_skill_dir in "$pressidium_skill_root"/blocks/* "$pressidium_skill_root"/composites/*; do [ -f "$pressidium_skill_dir/SKILL.md" ] || continue pressidium_skill_link="$pressidium_skill_dest/$(basename "$pressidium_skill_dir")" if [ -e "$pressidium_skill_link" ] || [ -L "$pressidium_skill_link" ]; then printf 'Already exists; check before replacing: %s\n' "$pressidium_skill_link" else ln -s "$pressidium_skill_dir" "$pressidium_skill_link" fi done
To use both clients, select the other destination and repeat the loop. Keep the original package in place: the links depend on it. Native Windows users should use a client-specific package layout supplied by Support, or follow these instructions inside WSL with the AI client also running there.
Restart the client if the skills do not appear. In Claude Code, inspect the available skill commands; in Codex, open its skill selector. Confirm that Site Guardian is discoverable before asking it to run. Current Codex documentation uses ~/.agents/skills; this setup does not require the older [features] skills = true flag.
Once the skills are installed and visible in Codex, return to Get Started with Pressidium MCP to try the named workflows, explore practical examples, and learn how to interpret operation results.
Troubleshooting
Problem | What to check |
Authentication fails | Verify your Dashboard email and password, account access, and that the dedicated beta account does not use MFA. Confirm both environment variables exist in the process running Codex without printing their values. |
No | Check |
Credentials are set in the terminal but Codex cannot use them | Make sure Codex was started from the same shell where |
Codex attempts an OAuth flow | Do not use MCP OAuth login for this connection. Confirm the configuration uses |
Wrong sites or no sites appear | Verify the connected account and selected team. List your Pressidium teams, select the intended one, and list its sites again. For larger accounts, check that all available pages were retrieved. |
MCP works but Pressidium skills do not appear | Confirm each skill is discoverable under |
A tool reports an unsupported environment or product | Confirm whether the target is Managed Hosting or standalone EDGE and whether you requested production or staging. Some operations are available only for particular products or environments. |
A write operation times out | Check the returned job ID or the Pressidium Dashboard before retrying. A timeout does not necessarily mean the underlying operation stopped. |
For other issues that are not specific to Codex, see the troubleshooting section in Get Started with Pressidium MCP.
