How-to

Como Conectar Seu Banco ao Codex CLI

5 min read
Direct answer: Adicione uma tabela [mcp_servers.bankbridge] em ~/.codex/config.toml com url = "https://bankbridge.money/api/mcp" e bearer_token_env_var = "BANKBRIDGE_API_KEY", defina experimental_use_rmcp_client = true no topo do arquivo, exporte sua chave bbk_ e reinicie o Codex. Execute /mcp dentro de uma sessão para confirmar que todas as 11 ferramentas do BankBridge foram carregadas.

O Codex faz MCP de um jeito um pouco diferente

Se você já adicionou servidores MCP ao Claude Desktop ou Cursor antes, você editou JSON. O Codex CLI não usa JSON. Sua configuração fica em ~/.codex/config.toml, e servidores MCP vão em tabelas [mcp_servers.<name>], uma tabela por servidor.

Há um segundo detalhe. O Codex suporta dois tipos de servidores MCP: servidores stdio locais que ele inicia como processos filhos (você passa um command e args) e servidores HTTP remotos por streaming aos quais ele se conecta pela rede (você passa uma url). O BankBridge é do tipo remoto, um servidor hospedado ao qual você só aponta. E servidores remotos atualmente ficam atrás de uma feature flag. Esqueça a flag e o Codex carrega zero ferramentas sem sequer um aviso.

A documentação da OpenAI cobre o mecanismo, mas é escassa em exemplos completos e funcionais, que é presumivelmente por que você está aqui. A configuração toda são quatro linhas de TOML e uma variável de ambiente.

Obtenha uma chave de API do BankBridge

O BankBridge é um servidor MCP hospedado que dá aos agentes acesso somente leitura aos seus dados bancários ao vivo. Cadastre-se em bankbridge.money com seu email (link mágico, sem senha) e conecte um banco pelo painel.

O fluxo de vinculação roda dentro de uma interface segura fornecida pelo banco. Você escolhe sua instituição, faz login lá e aprova o acesso somente leitura. O BankBridge armazena um token de acesso criptografado, nunca sua senha bancária, e nenhum dos seus dados financeiros fica em cache nos nossos servidores. Cada pergunta que o Codex faz é respondida com uma busca ao vivo.

Com um banco conectado, crie uma chave de API. Ela começa com bbk_ e é mostrada exatamente uma vez, então copie agora. O preço é de $5/mo por banco conectado, cancele quando quiser.

A entrada no config.toml

Abra ~/.codex/config.toml. Se o arquivo ainda não existir, crie-o. Adicione isto:

experimental_use_rmcp_client = true
[mcp_servers.bankbridge]
url = "https://bankbridge.money/api/mcp"
bearer_token_env_var = "BANKBRIDGE_API_KEY"

Três coisas que vale saber. Primeiro, experimental_use_rmcp_client = true é uma configuração de nível superior. Ela precisa aparecer acima de qualquer cabeçalho [section]. O TOML atribui cada chave à tabela sob a qual ela aparece, então se a flag acabar dentro de [mcp_servers.bankbridge], o Codex a trata como uma opção aleatória do servidor e seu servidor remoto nunca carrega.

Segundo, url aponta para o endpoint hospedado do BankBridge. Não há nada para instalar, sem wrapper de npx, sem processo local para ficar cuidando.

Terceiro, bearer_token_env_var nomeia uma variável de ambiente em vez de guardar a própria chave. O Codex lê o segredo real do seu shell, o que mantém a chave fora de um arquivo que costuma acabar em repositórios públicos de dotfiles.

Exporte a chave no seu shell

Uma linha:

export BANKBRIDGE_API_KEY="bbk_your_key_here"

Rode no terminal onde você vai iniciar o Codex e adicione ao ~/.zshrc ou ~/.bashrc para que novos shells também tenham. Manter a chave em uma variável de ambiente também torna a rotação indolor: troca o export, deixa o TOML em paz. Temos um guia curto sobre como rotacionar sua chave se precisar.

Confirme que as 11 ferramentas carregaram

Inicie uma nova sessão com codex. Dentro da TUI, digite /mcp. O Codex lista cada servidor configurado junto com as ferramentas que ele expõe. Builds recentes também trazem um subcomando codex mcp list que você pode rodar no shell sem iniciar uma sessão.

Você está procurando por bankbridge com 11 ferramentas: list_accounts, get_account, list_transactions, search_transactions, get_spending_summary, get_recurring_charges, get_monthly_cashflow, get_merchant_history, list_categories, list_holdings e list_investment_transactions.

Depois pergunte algo real:

Quanto gastei esta semana?

O Codex deve chamar get_spending_summary ou list_transactions e voltar com números da sua conta real. Não há etapa de sincronização e nem snapshot; cada resposta é buscada ao vivo no momento em que você pergunta.

Se o Codex carregar zero ferramentas

A falha é silenciosa, o que a torna mais irritante do que um crash. Passe por estes na ordem.

A flag está ausente ou no lugar errado. Essa é a causa em nove de cada dez vezes. experimental_use_rmcp_client = true pertence ao topo absoluto do config.toml, acima de qualquer [section]. Dentro do bloco do servidor ela não faz nada.

A chave não está no ambiente do Codex. O Codex resolve bearer_token_env_var na inicialização, então um export de uma aba de terminal diferente, ou um que você adicionou ao .zshrc mas nunca deu source, não fica visível. Rode echo $BANKBRIDGE_API_KEY no mesmo shell logo antes de iniciar.

Você colou JSON. Trechos da documentação do Claude Desktop ou Cursor não vão parsear como TOML. Se o Codex reclamar do arquivo de configuração, ou silenciosamente o ignorar, procure por chaves e dois-pontos perdidos.

O Codex está desatualizado. O suporte a MCP HTTP por streaming é relativamente novo. Atualize com npm install -g @openai/codex (ou brew upgrade codex se instalou via Homebrew) e tente de novo.

O que perguntar depois que estiver funcionando

Alguns pontos de partida que mapeiam bem para as ferramentas:

Quais são minhas cobranças recorrentes, ordenadas por custo mensal?
Com quais comerciantes eu mais gastei no mês passado?
Compare minha renda com meus gastos de junho.

Tudo é somente leitura por design. Não há ferramentas para movimentar dinheiro, pagar contas ou executar negociações, então o raio de estrago de um agente curioso é exatamente zero dólar. E a chave não é específica do Codex: a mesma chave bbk_ funciona no Claude Code, Gemini CLI, Cursor e nos outros hosts MCP que documentamos, então conectar seu segundo agente leva cerca de trinta segundos.

FAQ

Onde o Codex CLI procura a configuração do servidor MCP?

Em ~/.codex/config.toml. Cada servidor recebe sua própria tabela [mcp_servers.<name>]. Servidores stdio locais usam as chaves command e args; servidores HTTP remotos por streaming como o BankBridge usam url, além de bearer_token_env_var para autenticação. O arquivo não existe até você criá-lo.

Por que o Codex mostra zero ferramentas MCP depois que adiciono o servidor?

Quase sempre porque experimental_use_rmcp_client = true está ausente ou no lugar errado. Ele precisa ficar no topo do config.toml, acima de qualquer cabeçalho [section]. Servidores MCP HTTP remotos estão atrás dessa flag e, sem ela, o Codex os ignora sem mensagem de erro.

O acesso do BankBridge pelo Codex é somente leitura?

Sim. Todas as 11 ferramentas leem dados: saldos, transações, resumos de gastos, cobranças recorrentes, fluxo de caixa, histórico de comerciantes, categorias e investimentos. Não há ferramentas para transferências, pagamentos ou negociações, então nenhum agente conectado via BankBridge pode movimentar seu dinheiro.

Quanto custa o BankBridge com o Codex CLI?

$5 por mês por banco conectado, independentemente de quantos agentes o utilizam. A mesma chave bbk_ funciona no Codex CLI, Claude Code, Gemini CLI, Cursor e todos os outros hosts MCP. Cancele quando quiser pelo painel e a cobrança para.

Isso funciona também para o Codex Cloud?

Este guia cobre o Codex CLI local, que lê ~/.codex/config.toml. O Codex hospedado na nuvem da OpenAI (o conectado ao GitHub) configura servidores MCP por ambiente nas próprias configurações. O BankBridge funciona lá também; o endpoint e a chave bearer são os mesmos.

Posso manter a chave de API fora do config.toml?

Esse é o padrão aqui. bearer_token_env_var diz ao Codex para ler a chave de uma variável de ambiente, então o config.toml nunca contém o segredo. Exporte BANKBRIDGE_API_KEY no perfil do seu shell e, ao rotacionar a chave, você só altera o export.