MCP

calculate-mcp: guia de introdução ao servidor MCP de cálculo de alta precisão e dados binários

Se você faz com frequência aritmética de inteiros de alta precisão, operações bit a bit ou decomposição IEEE 754, o calculate-mcp vale a pena experimentar — roda via npx com zero instalação no cliente MCP, desde que seu cliente suporte configuração de serviços MCP.

Official source · KonghuanSmart/calculate-mcp

Install

{"mcpServers":{"calculate-mcp":{"command":"npx","args":["-y","calculate-mcp"]}}}

Para quem é

  • Desenvolvedores que precisam de aritmética de inteiros de alta precisão: baseado em BigInt nativo, inteiros de 64 bits, 128 bits ou mais sem perda de precisão, com suporte a representação em complemento de dois de 8/16/32/64 bits, com e sem sinal.
  • Quem faz depuração de baixo nível, engenharia reversa ou análise de protocolos: operações bit a bit, troca de ordem de bytes (endianness) e decomposição de layout IEEE 754 podem ser feitas diretamente em um único servidor MCP.
  • Quem precisa encadear vários cálculos em uma única execução: o mecanismo de execução em lote encadeado batch_calc usa {"$step": index, "field": "..."} para referenciar resultados de etapas anteriores, evitando copiar manualmente valores intermediários.
  • Casos em que não é adequado: não é uma ferramenta genérica de chat ou busca; roda em Node.js e exige que o cliente suporte configuração MCP em modo stdio. O README não menciona compatibilidade com navegadores ou ambientes sem Node — isso não foi confirmado.

Primeira tentativa em 3 minutos

Pré-requisito: Node.js instalado na sua máquina e um cliente MCP que suporte configuração mcpServers (o README fornece esse formato).

Caminho principal recomendado (marcado como Option A, Recommended no README): adicione à configuração do cliente:

{"mcpServers":{"calculate-mcp":{"command":"npx","args":["-y","calculate-mcp"]}}}

Após salvar, reinicie ou recarregue o cliente; ele usará o npx para baixar e iniciar o servidor automaticamente (modo stdio), sem instalação manual.

Para a primeira chamada, recomenda-se escolher uma capacidade de cálculo pura e somente leitura, por exemplo usar int_convert para uma conversão de inteiros de precisão arbitrária, ou ieee754_convert para decompor um número de ponto flutuante — são cálculos numéricos locais, sem gravação de arquivos ou envio remoto.

Sinal de sucesso: as ferramentas fornecidas pelo calculate-mcp aparecem na lista de ferramentas do cliente (o README descreve 29 ferramentas especializadas no total) e as solicitações de cálculo retornam resultados corretos. Se a lista de ferramentas estiver vazia, verifique se o formato da configuração do cliente está idêntico ao acima.

Método secundário (apenas referência, não o caminho principal): o README menciona a possibilidade de executar localmente em modo stdio (npm start, após compilar o TypeScript para build/), adequado para quem quer modificar o código-fonte ou rodar offline.

Observação: npx -y baixa e executa o pacote a partir do npm; a primeira execução requer acesso à internet. Este é o método explicitamente recomendado pelo README oficial.

Casos de uso

Caso 1: verificar a representação em bits de um inteiro de 128 bits. Cenário: você está conferindo um inteiro maior que 64 bits em um campo de protocolo. Use int_convert para conversão de inteiros de precisão arbitrária, inserindo seu número grande e especificando a base/largura desejada; como a implementação usa BigInt nativo, inteiros de 64 bits, 128 bits ou mais não sofrem perda de precisão, e há suporte a representações em complemento de dois de 8/16/32/64 bits, com e sem sinal — você pode comparar diretamente se a saída em complemento corresponde ao esperado.

Caso 2: análise binária com vários passos em uma única chamada. Cenário: você precisa aplicar operações bit a bit a um número, depois trocar a ordem dos bytes e depois fazer a decomposição IEEE 754. Use a execução em lote encadeada do batch_calc: escreva todas as etapas em uma única chamada em lote, com as etapas seguintes referenciando o resultado anterior via {"$step": index, "field": "..."}. Resultado esperado: uma única chamada retorna todos os resultados intermediários e finais; os nomes exatos dos parâmetros de cada etapa devem ser verificados no schema da ferramenta no seu cliente, pois o README não lista os detalhes de parâmetros de cada ferramenta — esta parte precisa ser confirmada em tempo de execução.

Limites de uso

  • Natureza de leitura/escrita: todas as ferramentas acima realizam cálculos numéricos ou de codificação/decodificação locais; o README não menciona gravação de arquivos, envio à rede ou operações de conta, nem apresenta qualquer mecanismo de desfazer — não se pode afirmar que nada seja "reversível".
  • Credenciais: nenhuma; a configuração não contém chaves nem tokens.
  • Pré-requisito de execução: ambiente Node.js; a implementação é TypeScript puro + biblioteca padrão do Node.js + Zod, sem dependências de bindings nativos pesados.
  • Limitações oficiais declaradas: o README não fornece informações sobre limites de taxa, fronteiras de permissão ou privacidade de dados — essas informações essenciais não foram confirmadas, portanto não se deve presumir nada sobre os limites de privacidade ao usar a ferramenta.
  • Ainda não confirmado: a lista completa de parâmetros de cada ferramenta, a compatibilidade com sistemas operacionais e o número de versão específico do pacote npx.