Claude Code e Codex CLI sono due strumenti che utilizzano il Model Context Protocol (MCP), ma differiscono significativamente nella configurazione e nell'autenticazione. Claude Code aggiunge server tramite il comando claude mcp add e li memorizza in ~/.claude.json o in un file .mcp.json all'interno del progetto. Codex, d'altra parte, legge tabelle TOML da ~/.codex/config.toml e si autentica con codex mcp login.
Differenze tra Claude Code e Codex CLI
Secondo la documentazione di OpenAI, Codex CLI, l'app desktop di ChatGPT e le estensioni IDE condividono la stessa configurazione MCP. Anthropic, invece, utilizza due file diversi a seconda del contesto. Le principali differenze tra Claude Code e Codex riguardano il formato dei file, l'ambito e il processo di login.
Per facilitare l'uso di entrambi gli strumenti, è possibile creare uno script di avvio comune che gestisca le differenze. Un esempio pratico è la configurazione di un server di note basato su Python e SQLite, che richiede circa 80 minuti per essere configurato in entrambe le CLI. Inoltre, è possibile collegare un server ospitato con OAuth, come Notion, tramite login del browser.
Passaggi per la configurazione
Il progetto include 12 passaggi dettagliati, ciascuno con i comandi necessari, esempi di output e potenziali errori comuni. Tra questi passaggi ci sono la configurazione del server, la gestione delle autorizzazioni, la creazione di liste di strumenti consentiti e l'esecuzione di un test di fumo headless per verificare il corretto funzionamento di entrambi gli strumenti.
Ecco una tabella riassuntiva delle differenze principali tra Claude Code e Codex CLI:
- Server eintragen: Claude Code utilizza claude mcp add, mentre Codex utilizza codex mcp add o la configurazione manuale di TOML.
- Globale Konfiguration: Claude Code memorizza la configurazione in ~/.claude.json, mentre Codex utilizza ~/.codex/config.toml.
- Projektdatei: Claude Code utilizza .mcp.json nel root del progetto, mentre Codex utilizza .codex/config.toml solo per progetti fidati.
- Format: Claude Code utilizza JSON con la chiave mcpServers, mentre Codex utilizza TOML con tabelle [mcp_servers.NAME].
- Transporte: Entrambi supportano stdio e HTTP, ma Codex aggiunge anche Streamable HTTP.
- OAuth-Login: Claude Code utilizza /mcp nella sessione, mentre Codex utilizza codex mcp login NAME.
- Statusprüfung: Entrambi utilizzano /mcp, ma Claude Code offre anche claude mcp list.
- Statisches Token: Claude Code utilizza --header "Authorization: Bearer ...", mentre Codex utilizza bearertokenenv_var nella tabella TOML.
- Timeouts: Claude Code utilizza la variabile d'ambiente MCPTIMEOUT, mentre Codex utilizza startuptimeoutsec e tooltimeout_sec.
- Freigaben: Claude Code utilizza regole di autorizzazione con mcp_SERVERTOOL, mentre Codex utilizza defaulttoolsapprovalmode e enabled_tools.
È importante notare che Claude Code memorizza i server nel contesto local per impostazione predefinita, il che significa che sono privati e limitati al progetto corrente. Per condividere i server con un team, è necessario specificare --scope project. Inoltre, il file di configurazione del progetto di Codex è valido solo per progetti fidati, il che significa che un repository appena clonato non fornirà server MCP nella sessione.
Prerequisiti e versioni
Il progetto non richiede attrezzature esotiche, ma è necessario utilizzare versioni aggiornate di entrambe le CLI, poiché entrambe si evolvono rapidamente. Ad esempio, Claude Code versione 2.1.219 e successive forniscono dettagli sugli errori di connessione, mentre le versioni precedenti mostrano solo lo stato nudo, rendendo la risoluzione dei problemi più complessa.
Ecco un riepilogo dei requisiti minimi:
- Claude Code: Versione aggiornata, preferibilmente 2.1.219 o successiva.
- Codex CLI: Versione aggiornata, installata tramite npm i -g @openai/codex.
- Node.js: Versione 18 o successiva.
- Python: Versione 3.10 o successiva con venv.
- Account Anthropic: Account Claude o Console.
- Account OpenAI: Account ChatGPT o chiave API.
- Account Notion: Qualsiasi workspace con diritti di scrittura.
- Sistema operativo: Linux, macOS o Windows con WSL.
Prima di iniziare il progetto, è consigliabile verificare le versioni installate e aggiornarle se necessario. Inoltre, è importante considerare i costi associati all'uso di entrambi gli strumenti. Ad esempio, l'uso di Codex con un account ChatGPT consuma il contingente del piano, mentre l'uso di una chiave API separata viene fatturato in base ai prezzi API di OpenAI. Claude Code consuma token API al prezzo standard per un account Console.
Come funziona MCP in entrambi gli strumenti
MCP è un protocollo aperto che consente agli agenti di caricare e utilizzare strumenti da server. Il protocollo stesso ha subito recenti aggiornamenti significativi, con l'ultima revisione datata 2026-07-28. Questa revisione ha reso il core del protocollo stateless, sostituendo il precedente modello bidirezionale con sessione.
Per l'autenticazione, MCP segue il framework OAuth. Un server MCP protetto agisce come un Resource Server OAuth-2.1, mentre il client agisce come un Client OAuth-2.1. I server devono specificare i loro server di autorizzazione tramite Protected Resource Metadata secondo RFC 9728, e i client devono utilizzare Resource Indicators secondo RFC 8707.
Esistono tre modalità di autenticazione per MCP: server non protetti, server con token statico e server con OAuth. I server non protetti non richiedono alcuna autenticazione. I server con token statico ricevono il token tramite intestazione (Claude Code) o variabile d'ambiente (Codex). I server con OAuth aprono un browser per l'autenticazione, che viene poi memorizzata dal client.
Passaggi 1 e 2: Installazione e verifica di entrambe le CLI
Il primo passo è installare e verificare Claude Code. Se Claude Code è già installato, è sufficiente verificare la versione e, se necessario, effettuare il login. I comandi seguenti sono validi per Linux, macOS e WSL:
- claude --version: Verifica la versione di Claude Code.
- claude doctor: Verifica l'installazione, il canale di aggiornamento e i problemi comuni.
Se il comando claude non è disponibile, è necessario installare Claude Code.
