Guia

Timeout em chamada MCP? Confira a alteração antes de repetir

7 min de leituraPela equipe do Delta MCP

Sua IA envia uma alteração a uma ferramenta, mas a volta da resposta está quebrada e marcada com um ponto de interrogação, ao lado de uma etiqueta No reply e de outra Check first.

A resposta curta

Quando uma chamada de ferramenta MCP dá timeout, não dá para saber se a alteração aconteceu. Sua IA pode ter perdido a resposta, não o trabalho. Confira antes de repetir: procure na ferramenta o que ela tentou criar. Repita só se não estiver lá. Nunca repita um envio por conta própria.

Neste guia

Por que o timeout não diz se a alteração aconteceu?

Sua IA pediu a uma ferramenta que fizesse uma alteração e esperou. Não veio resposta, então o app de IA parou de esperar e informou uma falha. Esse rótulo descreve a espera, não a alteração. Repetir uma alteração que já foi feita gera dois tickets, duas páginas ou duas mensagens.

Quem programa chama uma alteração assim de escrita. Três coisas podem ter acontecido.

O que pode ter acontecido quando uma chamada de ferramenta MCP deu timeout, e o que repetir faz em cada caso
O que aconteceuA alteração está na ferramenta?Se você repetir
A requisição nunca chegou. Não. Repetir é o certo: a alteração é feita uma vez.
A ferramenta ainda está trabalhando. Ainda não. Ela aparece depois que sua IA desistiu. A alteração é feita duas vezes, a menos que repeti-la não cause dano.
A ferramenta terminou e a resposta se perdeu. Sim. A alteração é feita duas vezes, a menos que repeti-la não cause dano.

A especificação do MCP prevê isso. Um cliente deve definir um timeout em cada requisição e, quando ele passar, cancelar a requisição e parar de esperar. O cancelamento não é garantia. O servidor pode ignorá-lo quando o trabalho já está pronto ou não pode ser interrompido. Ele também pode chegar depois que a resposta foi enviada.

O guia de API da Stripe diz o mesmo: depois que uma conexão falha, você pode não saber se a requisição foi executada. Ele também orienta a tratar um erro do servidor como resultado desconhecido.

O que fazer depois de um timeout, em ordem?

Faça isso nesta ordem. Os dois primeiros levam um minuto.

  1. Pare a nova tentativaAgora

    Diga à sua IA que não repita a chamada: “Don’t retry. First check whether it was made.” Repetir sozinho é como uma alteração acaba feita duas vezes.

  2. Olhe na ferramenta, não no chat1 minuto

    Abra a própria ferramenta: a página do Notion, as issues do GitHub, a pasta. Procure pelo título ou pelo id que você pediu. O chat só sabe que a chamada falhou.

  3. Leia o que encontrar2 minutos

    Encontrada e completa: a alteração foi feita. Siga em frente e não a repita.
    Encontrada pela metade: termine a parte que falta com uma atualização, não com uma criação nova.
    Não encontrada: ela nunca chegou, ou ainda está rodando. Espere um minuto e olhe de novo.

  4. Repita uma vez, e só uma chamada seguraEm seguida

    Se ainda não estiver lá, repita uma vez. A tabela abaixo diz quais chamadas são seguras para repetir. Antes de um envio, veja onde ele chegou.

  5. Se continuar dando timeout, corrija a causaDepois

    Uma chamada que sempre dá timeout tem um limite curto demais ou uma tarefa grande demais. Aumente o limite desse servidor, ou peça menos por chamada.

Quais chamadas são seguras para repetir?

Uma chamada é segura para repetir quando fazê-la duas vezes deixa o mesmo resultado que fazê-la uma vez. As leituras entram nessa regra. Muitas alterações não. O padrão HTTP trata PUT (definir um valor) e DELETE como seguros para repetir, e as linhas abaixo seguem isso. A dica idempotentHint ou a descrição da própria ferramenta vale mais que essas regras.

Quais tipos de chamada de ferramenta MCP são seguros para repetir depois de um timeout, e como conferir antes
A chamadaRepetir como está?Conferir antes, por
Leitura: buscar, listar, abrir Sim. Não muda nada. Nada a conferir.
Definir um valor: um status, um título, um rótulo Geralmente. Definir o mesmo valor duas vezes deixa o mesmo resultado, como no PUT do HTTP. Lendo o campo. Se alguém mudou o valor depois, uma nova tentativa sobrescreve a edição dessa pessoa.
Adicionar a algo: um comentário, um registro, uma linha Não. Duas vezes adiciona duas vezes. Abrir o item e procurar o que você adicionou.
Criar: uma página, uma issue, um arquivo Não. Uma nova tentativa cria a segunda. Procurando pelo título ou id que você deu. Repita só se nada corresponder.
Apagar Geralmente, quando nomeia um item exato, como no DELETE do HTTP. Não “o mais recente”: a segunda chamada atinge outro item. Procurando o item. Se sumiu, está feito.
Enviar: uma mensagem, um e-mail, uma notificação Nunca por conta própria. Um envio não pode ser desfeito. Procurando onde ele chegou: a lista de enviados, o canal, o outro lado. Se não der para saber, pergunte antes de enviar de novo.

Uma chave de idempotência evita a duplicata?

Às vezes. Uma chave de idempotência é um rótulo único enviado com a requisição. Se o mesmo rótulo chega duas vezes, o serviço faz o trabalho uma vez e devolve de novo a primeira resposta. Ela foi feita para uma requisição que não recebeu resposta.

  • Como uma chave funciona na Stripe. A API v1 dela aceita uma chave em requisições POST. Ela guarda o primeiro resultado, mesmo um erro, e o devolve de novo para uma nova tentativa com a mesma chave. Mantém as chaves por pelo menos 24 horas. A mesma chave com outros parâmetros é recusada.
  • O que uma nova tentativa precisa fazer. Envie a mesma chave e os mesmos parâmetros. A Stripe diz para não repetir com uma chave nova antes de saber o resultado da primeira vez. Uma chave nova a cada tentativa não dá proteção nenhuma.
  • O que o MCP oferece. Uma requisição tools/call leva o nome da ferramenta e os argumentos dela. O schema da especificação não define chave de idempotência para ela. Uma ferramenta ainda pode receber uma como argumento próprio, então leia os argumentos dela.
  • O que uma ferramenta pode declarar. A dica idempotentHint diz que chamar a ferramenta de novo com os mesmos argumentos não tem efeito adicional. É só uma dica. A especificação diz que os clientes nunca devem basear decisões em dicas de servidores em que não confiam.

Então a chave é um bônus, não um plano. Quando a ferramenta não oferece nenhuma, a conferência acima protege você.

Como mudar o timeout do MCP?

Um limite curto demais corta trabalho legítimo. Um longo demais deixa você esperando. Onde você define depende do app de IA. Veja as configurações do Claude Code.

As configurações do Claude Code que limitam uma chamada de ferramenta MCP, o que cada uma limita e o padrão
ConfiguraçãoO que limitaPadrão
MCP_TOOL_TIMEOUT Quanto tempo uma chamada de ferramenta pode rodar, em milissegundos. 100.000.000 ms, cerca de 28 horas
timeout em .mcp.json O mesmo, para um servidor. Tem prioridade sobre a variável para esse servidor. Um limite rígido: notificações de progresso não o estendem. O valor da variável
CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT Quanto tempo uma chamada pode ficar em silêncio, sem resposta e sem progresso, antes de ser abortada. 0 desliga a verificação. 5 minutos para servidores de rede, 30 minutos para stdio
MCP_TIMEOUT Para iniciar um servidor. Em um servidor remoto, ele também conta no temporizador por requisição abaixo. 30.000 ms, 30 segundos
CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS Quando uma chamada que ainda roda na conversa principal passa para uma tarefa em segundo plano. 0 desliga. Versão 2.1.212 ou posterior. 120.000 ms, 2 minutos

O padrão de 60 segundos para servidores remotos. Um servidor acessado por HTTP, SSE ou como conector do claude.ai tem um segundo temporizador. Ele roda em cada requisição até o primeiro byte de resposta do servidor. Dura 60 segundos, a menos que MCP_TOOL_TIMEOUT, o timeout do servidor ou MCP_TIMEOUT esteja configurado com um valor maior. Servidores stdio locais não têm temporizador por requisição.

Para definir para um servidor, acrescente "timeout": 600000 à entrada dele em .mcp.json. São dez minutos.

Uma chamada lenta nem sempre é uma que falhou. A partir da versão 2.1.212, o Claude Code passa uma chamada MCP da conversa principal para uma tarefa em segundo plano depois de dois minutos. Ele entrega o resultado quando a chamada termina.

A documentação de MCP do Cursor não descreve nenhuma configuração de timeout. A especificação do MCP não cita nenhum número. Ela diz que os SDKs devem permitir configurar timeouts por requisição, e que um cliente deve sempre manter um máximo.

Para trabalho que leva minutos, um servidor pode usar MCP Tasks. Ele devolve um identificador na hora, e o cliente consulta o resultado de tempos em tempos, mesmo depois de reconectar. Os dois lados precisam oferecer suporte, e o suporte dos clientes varia.

O que o Delta MCP faz quando uma resposta se perde?

O Delta MCP é um app gratuito no seu computador, entre sua IA e as ferramentas dela. Quando uma alteração não recebe resposta, ele não adivinha e não simplesmente repete. Ele lê a ferramenta.

Antes de a alteração sair, o Delta MCP escolhe uma leitura que possa mostrar se ela aconteceu. Essa leitura é o objeto lido de novo, ou uma lista lida de novo. Quando não vem resposta, ele faz essa leitura na hora. O que a leitura mostra decide:

O que o Delta MCP faz quando uma alteração não recebe resposta, conforme o que a leitura mostra
A leitura mostraO Delta MCP
A alteração foi feita. A tarefa segue, e a resposta diz que ela foi verificada.
A alteração não foi feita. Ele envia a alteração mais uma vez, com os mesmos argumentos. Nunca faz isso sozinho para uma mensagem ou outro envio. Nesses casos, a resposta diz que ela não foi vista, que ainda pode aparecer, e a tarefa para.
Não está claro, ou não dá para ler nada que mostre. A resposta diz que o resultado é desconhecido, e por quê. A tarefa para. Olhe a ferramenta antes de fazer a alteração de novo.

Uma ferramenta chamada do jeito que está não pode ser revertida pelo Delta MCP. Se uma chamada anterior deu certo, ela continua feita, e a resposta a lista para que sua IA não a repita. Cada tarefa que altera algo fica guardada em Activity, com cada alteração antes e depois.

Como uma tarefa é verificada e aplicada

Perguntas

É seguro repetir uma chamada MCP depois de um timeout?

Uma leitura, sim. Uma alteração, não, antes de conferir. O timeout só diz que não veio resposta: a ferramenta pode ter feito a alteração mesmo assim. Procure-a na ferramenta, e repita só se ela não estiver lá. Nunca repita um envio por conta própria.

Se a requisição deu timeout, minha alteração no MCP foi feita?

Pelo timeout, não dá para saber. A requisição pode nunca ter chegado, a ferramenta pode ainda estar trabalhando, ou ela terminou e a resposta se perdeu. Abra a ferramenta e procure a alteração.

Como aumentar o timeout da ferramenta MCP no Claude Code?

Defina MCP_TOOL_TIMEOUT em milissegundos, ou acrescente um campo timeout à entrada do servidor em .mcp.json. Em um servidor remoto, defina um valor acima de 60.000 para tirar o temporizador de 60 segundos por requisição. MCP_TIMEOUT é a espera para iniciar, não o limite da chamada de ferramenta.

Como mudar o timeout do MCP no Cursor?

A documentação de MCP do Cursor não descreve nenhuma configuração de timeout. Ela diz que uma chamada que falhou aparece marcada como falha no chat, e que você pode repetir ou consultar os registros. Confira primeiro o que a ferramenta já tem.

O MCP tem chaves de idempotência?

Não. Uma chamada de ferramenta leva o nome da ferramenta e os argumentos, e o schema da especificação não define chave de idempotência para ela. Uma ferramenta pode receber uma chave própria como argumento. Ela também pode definir idempotentHint, que é só uma dica.

O que o Delta MCP faz quando uma chamada de ferramenta não recebe resposta?

Ele lê a ferramenta na hora para ver se a alteração aconteceu. Feita: a tarefa segue. Não feita: ele envia a alteração mais uma vez. Uma mensagem ou outro envio nunca é enviado de novo por conta própria. Não está claro: a resposta diz que o resultado é desconhecido, e a tarefa para.

Fontes

  1. Model Context Protocol, Cancellation Os clientes devem definir timeouts, cancelar e parar de esperar; um cancelamento pode chegar depois que o trabalho já foi feito (revisão 2026-07-28).
  2. Model Context Protocol, Schema Reference Uma chamada de ferramenta leva nome e argumentos, sem chave de idempotência; a anotação idempotentHint, e anotações são só dicas (revisão 2026-07-28).
  3. Model Context Protocol, Tasks Um identificador durável para operações longas, consultado e recuperado depois de reconectar; os dois lados precisam optar por usar.
  4. Claude Code, Connect Claude Code to tools via MCP O timeout por servidor, o temporizador de 60 segundos por requisição para servidores remotos, a janela de inatividade, a passagem para segundo plano depois de dois minutos.
  5. Claude Code, Environment variables MCP_TOOL_TIMEOUT, MCP_TIMEOUT, CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT e CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS, com os padrões.
  6. Cursor, Model Context Protocol (MCP) Uma chamada MCP que falhou aparece marcada como falha no chat; repetir ou consultar os registros; nenhuma configuração de timeout é descrita.
  7. Stripe, Idempotent requests Como funciona uma chave de idempotência: o primeiro resultado é guardado e devolvido de novo; as chaves duram pelo menos 24 horas; outros parâmetros são recusados.
  8. Stripe, Advanced error handling Depois que uma conexão falha, você pode não saber se a requisição foi executada; um erro do servidor é um resultado desconhecido; nenhuma chave nova antes de saber o resultado.
  9. IETF, RFC 9110: HTTP Semantics Métodos idempotentes (métodos seguros, PUT e DELETE), e não repetir uma requisição não idempotente, a menos que você saiba que a primeira nunca foi aplicada.
  10. Delta MCP, Writing a task O que o Delta MCP faz quando uma alteração não recebe resposta: feita, não feita ou resultado desconhecido; um envio não é enviado de novo por conta própria.
  11. Delta MCP, Activity and Undo Cada tarefa que alterou algo fica guardada em Activity, com cada alteração antes e depois.

Continue lendo

Experimente o Delta MCP nas suas próprias tarefas

Grátis, leva dois minutos para configurar e você deixa tudo como estava com um clique.

Grátis · Sem conta · Chip Apple ou Intel

Grátis · Sem conta

Grátis · Sem conta

Acompanhe o lançamento

Para Mac, Windows e Linux. Não precisa de conta.

Em breve

O Delta MCP está quase aqui

O app gratuito para Mac, Windows e Linux chega em breve. Deixe seu e-mail e saiba assim que ele sair. Não precisa de conta.

Seu e-mail serve só para avisar uma vez quando o Delta MCP sair. Sem newsletter. Privacidade