O aplicativo de desktop do ChatGPT consegue falar com um servidor MCP em execução na sua própria máquina; o ChatGPT no navegador não. Essa única distinção decide todo o resto desta página, e é a parte que a maioria dos guias erra, porque ela mudou depois da primeira leva de conectores do ChatGPT.
Segundo a documentação de MCP da OpenAI (verificada em 12 de agosto de 2026), o aplicativo de desktop, o Codex CLI e a extensão de IDE aceitam dois tipos de servidor: servidores STDIO, que são processos locais iniciados por um comando, e servidores streamable HTTP, que ficam em um endereço. Os três clientes compartilham um único arquivo de configuração, então um servidor adicionado uma vez fica disponível em todos eles. O ChatGPT na web é outra história: ele pode usar ferramentas remotas baseadas em MCP fornecidas por plugins, e uma conversa comum na web não tem caminho até nada que esteja rodando no seu laptop.
Este guia cobre o caminho do desktop de ponta a ponta — onde fica a configuração, como adicionar um servidor local, o que os modos de aprovação de fato controlam e os limites que vale conhecer antes de apontar um assistente para os seus próprios arquivos.
Ajuda manter dois modelos mentais separados.
O aplicativo de desktop é o cliente local. A configuração de MCP dele fica
no arquivo do Codex, ~/.codex/config.toml, e ele aceita comandos locais. Esse
é o caminho para qualquer coisa que leia arquivos, bancos de dados ou
bibliotecas de aplicativos na sua máquina.
O aplicativo web é o cliente remoto. O caminho de MCP dele passa por plugins e, para trabalho prático com servidores próprios, pelo developer mode — um beta que a OpenAI descreve como suporte completo de cliente MCP para todas as ferramentas, de leitura e de escrita. Está disponível na web nas contas Pro, Plus, Business, Enterprise e Education, e você o liga nas próprias Settings → Security and login do ChatGPT. O developer mode fala SSE e streaming HTTP. Ele não tem noção de processo local, então um servidor no seu laptop precisa de um endpoint HTTPS público antes que o aplicativo web consiga vê-lo — o que, para um arquivo pessoal, costuma ser uma troca ruim.
Se os seus dados são locais, use o aplicativo de desktop. É o que o resto deste guia faz.
Três caminhos equivalentes; escolha o que achar menos trabalhoso.
Pela interface. Abra Settings → MCP servers, escolha Add server, dê um nome, selecione STDIO e informe o comando que inicia o servidor. Salve e depois selecione Restart.
Pelo terminal. O Codex adiciona a mesma entrada:
codex mcp add <server-name> -- <command>
Editando o arquivo. O ~/.codex/config.toml recebe uma tabela por servidor:
[mcp_servers.context7]
command = "npx"
args = ["-y", "@upstash/context7-mcp"]
Qualquer que seja o caminho, a entrada vai parar no mesmo lugar, e o Codex CLI
e a extensão de IDE também a leem. Para confirmar que o servidor realmente
subiu, digite /mcp na caixa de mensagem — os servidores conectados aparecem
ali. Como em
Claude Desktop e Claude Code,
reiniciar não é opcional: o cliente lê a configuração MCP na inicialização.
O Speak-Y traz um servidor MCP dentro do aplicativo de macOS, e ele é gratuito
em todos os planos, incluindo o Free. Do lado do Speak-Y, abra
Configurações → Integrações. Claude Desktop, Claude Code e Cursor ganham ali um
Install de um clique, porque a configuração deles é JSON e o aplicativo
consegue mesclar com segurança. A da OpenAI não é JSON, então a entrada chamada
OpenAI Codex CLI oferece um Setup guide e um botão Copy values —
duas linhas para colar sob [mcp_servers.speaky] em ~/.codex/config.toml:
[mcp_servers.speaky]
command = "/Applications/Speak-Y.app/Contents/MacOS/Speak-Y"
args = ["--mcp"]
O cartão diz Codex CLI e não ChatGPT por um motivo que vale internalizar: há um único arquivo, e o aplicativo de desktop o lê. Cole os valores uma vez e as transcrições ficam disponíveis no aplicativo de desktop do ChatGPT, no Codex CLI e na extensão de IDE, igualmente.
Depois reinicie o ChatGPT e pergunte algo que só as suas gravações possam responder — «procure nas minhas gravações do Speak-Y a reunião de planejamento da semana passada e liste o que decidimos» é um primeiro teste justo. Há mais padrões em 20 prompts para as suas notas de reunião.
Aqui a precisão importa mais do que a tranquilização, então: treze ferramentas, divididas em dois grupos.
Cinco leem a biblioteca diretamente. Listar gravações, buscar nelas, puxar uma transcrição, trazer a gravação mais recente, listar etiquetas. Elas trabalham sobre os arquivos da sua máquina e não precisam do aplicativo Speak-Y aberto.
Oito passam pelo aplicativo em execução — etiquetar, renomear quem falou, editar o título de uma gravação, transcrever um ditado de novo, sincronizar e listar, criar ou publicar em um canal de equipe. O aplicativo guarda o banco de dados e as chaves de criptografia, então nada muda enquanto ele estiver fechado.
Nada apaga. Não existe ferramenta que remova uma gravação, um canal ou um espaço de trabalho. Publicar em um canal é a única ação que você não desfaz pela janela de conversa — isso é feito no aplicativo.
O MCP permite que um servidor anote cada ferramenta com um readOnlyHint, e o
cliente da OpenAI usa exatamente isso. Os valores documentados de
default_tools_approval_mode são auto, prompt, writes e approve, e
writes pede confirmação para toda ferramenta que não esteja marcada como
somente leitura. Ferramentas individuais podem ter uma regra própria.
Isso só funciona se o servidor for honesto sobre as próprias ferramentas. O
Speak-Y marca as suas cinco ferramentas de leitura como somente leitura e as
suas ações como alteradoras de dados, então writes produz o comportamento que
se deseja: buscas e transcrições fluem sem interrupção, enquanto etiquetar ou
compartilhar interrompe o fluxo e pede confirmação. Cada ação fica registrada
no log em Configurações → Integrações, onde um único botão desliga as ações e
mantém a leitura funcionando.
Se você prefere eliminar a possibilidade de vez, inicie o servidor preso à
leitura: acrescente --read-only em args, e as ferramentas que alteram dados
nem chegam a ser publicadas para aquele cliente.
args = ["--mcp", "--read-only"]
Um servidor que rotula uma escrita como leitura derruba tudo isso — é a razão prática para se importar com quem escreveu os servidores MCP que você instala. A própria documentação de developer mode da OpenAI aponta a mesma classe de risco: prompt injection, erros do modelo em ações de escrita e servidores abertamente maliciosos.
Uma biblioteca pessoal consultável no ChatGPT resolve metade do problema: a sua própria memória. A outra metade é a de todo mundo — decisões tomadas em conversas em que você não esteve. Gravações publicadas em um espaço de equipe têm criptografia de ponta a ponta e são pesquisáveis pelo mesmo assistente, o que transforma o «por que decidimos aquilo?» de uma interrupção em uma pergunta que dá para simplesmente fazer.
O aplicativo de desktop consegue. A documentação de MCP da OpenAI lista servidores STDIO — iniciados por um comando na sua máquina — ao lado de servidores streamable HTTP remotos, para o aplicativo de desktop, o Codex CLI e a extensão de IDE. O ChatGPT na web não consegue: ele alcança apenas ferramentas remotas baseadas em MCP fornecidas por plugins.
No arquivo de configuração do Codex, ~/.codex/config.toml, em uma tabela [mcp_servers.<name>]. O aplicativo de desktop, o Codex CLI e a extensão de IDE compartilham esse mesmo arquivo, então um servidor adicionado em qualquer um deles aparece nos outros.
Depende do modo de aprovação. Os valores documentados de default_tools_approval_mode são auto, prompt, writes e approve; writes pede confirmação para toda ferramenta que não esteja marcada como somente leitura, e ferramentas individuais podem ter uma regra própria. Essa configuração só faz sentido com servidores que declaram as próprias ferramentas com honestidade, como o Speak-Y faz.
Nada é enviado pela conexão em si — o servidor MCP do Speak-Y é executado no seu Mac e lê a biblioteca local. Mas tudo o que o ChatGPT realmente ler passa a fazer parte da conversa e viaja até o modelo com o restante do chat, então as transcrições sobre as quais você pergunta saem mesmo da máquina como contexto da conversa.
Porque é a mesma configuração. O arquivo do Codex é TOML e não JSON, então o Speak-Y entrega os dois valores para você colar em vez de escrever o arquivo por você — e o aplicativo de desktop do ChatGPT lê esse mesmo arquivo.