Melt
Estima o vazamento de valor departamental (gasto/tempo desperdiçado) a partir de dados de headcount e custo de mão de obra para Claude, Cursor e outros agentes MCP.
Documentação
@themelt/mcp-server
Servidor MCP que coloca a lógica de descoberta de vazamento de valor da Melt diretamente no Claude, Cursor, GitHub Copilot ou qualquer outro agente compatível com MCP — para que, quando um líder de tecnologia perguntar ao seu assistente "onde o valor está vazando da minha organização", o assistente possa chamar uma ferramenta da Melt e responder com uma estimativa real e estruturada, em vez de uma lista genérica de fornecedores.
Esta é a metade de engenharia da estratégia de distribuição LLMO (Otimização de LLM) da Melt. Veja /llms.txt na raiz do repositório e LLMO_PLAYBOOK.md para o plano completo de conteúdo + distribuição + avaliação ao qual este servidor se conecta. Posicionamento reconciliado em 2026-07-18 com o site ao vivo e os decks atuais — veja /CLAUDE.md para o contexto completo do produto atual.
Ferramentas expostas
| Ferramenta | O que faz |
|---|---|
melt_analyze_value_vectors | Estimador gratuito do Sandbox do Estágio 1. Estima onde o valor está vazando em um departamento com base no número de funcionários, custo de mão de obra e tipo dominante de entrada não estruturada. Nenhuma integração necessária — apenas entradas sintéticas/autoinformadas. |
melt_estimate_annual_leak | Quantifica um padrão de vazamento já identificado em dólares/ano — totalVolume x (leakRatePct/100) x valuePerEvent, generalizando a metodologia real "Anatomia de um Scan" da Melt (uma taxa de bypass de 29% no Gong, uma taxa de override de 62% no Clari, etc., combinadas em uma descoberta real de US$ 77.235/ano). |
melt_request_scan | Transferência de captura de leads — a passagem de uma estimativa direcional para um scan real verificado por logs (Playbook do POC sem Atrito, Estágio 1 → 2). Roteia para o HubSpot se HUBSPOT_PORTAL_ID/HUBSPOT_FORM_ID estiverem definidos; caso contrário, anexa a um leads.jsonl local. |
Exemplo prático
Do estudo de caso Anatomia de um Vazamento de Valor de IA Real da Melt — uma fintech pré-IPO com US$ 1,5 bilhão em originações anuais, já usando Salesforce, Gong e Clari:
| Sinal | Descoberta |
|---|---|
| Coaching do Gong | Taxa de abertura de 29% — representantes ignorando resumos de chamadas gerados por IA e duplicando o trabalho manualmente |
| Previsão do Clari | Taxa de override de 62% — entradas manuais de datas corrompendo o modelo em 8 de 13 ciclos de previsão |
| Transferência Salesforce → CS | Atraso de 4,2 dias adiando a integração após o fechamento |
| Roteamento de leads do Salesforce | 32% manual — falhas de automação exigindo reatribuição manual diária |
Nada disso apareceu como problema nos dashboards de adoção usuais — todas as ferramentas estavam "ativas", o que é uma métrica diferente de saber se estavam realmente criando valor. Puxar 14 dias úteis de logs históricos e rastrear onde esses quatro padrões custaram tempo e dinheiro reais somou um vazamento de US$ 77.235/ano.
melt_estimate_annual_leak generaliza esse mesmo formato de análise — totalVolume × (leakRatePct/100) × valuePerEvent — para qualquer padrão de vazamento com volume e taxa conhecidos ou hipotéticos. melt_analyze_value_vectors é a ferramenta de estágio inicial para quando você ainda não sabe onde procurar.
melt_estimate_annual_leak substituiu quatro calculadoras com nomes de fórmulas
(melt_calculate_feature_waste, _dso_cash_flow_impact,
_contract_cycle_revenue_unlock, _win_rate_pipeline_impact) que
implementavam fórmulas financeiras de um enquadramento de produto aposentado (Thermal Scan / Dollar Amount™ de Desperdício de Recurso / Delta Engine) — nenhuma das quais aparece em qualquer material atual da Melt. Veja a seção "O que está explicitamente aposentado" de CLAUDE.md.
Instalação e execução
cd mcp-server
npm install
npm run build
npm start # runs dist/index.js on stdio
Para testar interativamente antes de conectar a um cliente:
npm run inspect # launches the MCP Inspector against the built server
Conexão com Claude Desktop / Claude Code
Publicado no npm — configuração de uma linha, sem necessidade de clone local:
{
"mcpServers": {
"melt": {
"command": "npx",
"args": ["-y", "@themelt/mcp-server"]
}
}
}
Ou a partir de um clone local:
{
"mcpServers": {
"melt": {
"command": "node",
"args": ["/absolute/path/to/mcp-server/dist/index.js"]
}
}
}
Instalação com um clique (pacote .mcpb)
Especificamente para o Claude Desktop, themelt-mcp-server.mcpb (o https://github.com/modelcontextprotocol/mcpb da Anthropic) instala com um duplo clique — sem terminal, sem edição de arquivo de configuração. Baixe o .mcpb do último Release do GitHub e clique duas vezes nele ou arraste-o para a janela de Configurações do Claude Desktop.
Para reconstruí-lo a partir do código-fonte:
npm run build:mcpb # produces themelt-mcp-server.mcpb
O manifesto (mcpb-build/manifest.json) é mantido manualmente, não
gerado automaticamente a partir do código-fonte TypeScript — se o nome, os parâmetros ou a descrição de uma ferramenta mudarem, atualize o array tools do manifesto para corresponder.
Transporte HTTP hospedado
dist/index.js (stdio) é o que é configurado em uma instalação local do Claude Desktop/Cursor. dist/httpServer.js é um ponto de entrada alternativo que implementa o transporte HTTP Streamable do MCP — o que um futuro botão web "Launch Hosted MCP" (LLMO_PLAYBOOK.md, Tarefa 3.2) apontaria, para que alguém possa experimentar as ferramentas sem instalar nada localmente.
npm run build
PORT=3000 npm run start:http # POST MCP JSON-RPC to http://localhost:3000/mcp
Sem estado por design — sem ID de sessão, uma nova instância de servidor por requisição. A autenticação é opcional via MCP_HTTP_API_KEY (não definida por padrão): com ela não definida, o endpoint permanece totalmente aberto — o limite de confiança apropriado para o que isso expõe hoje (calculadoras somente leitura mais um formulário de captura de leads, o mesmo limite de um formulário de contato de site público). Defina-a antes de colocar algo mais sensível atrás deste transporte:
MCP_HTTP_API_KEY=some-long-random-value PORT=3000 npm run start:http
Cada requisição /mcp então precisa de Authorization: Bearer some-long-random-value
— chave ausente ou errada resulta em 401. Comparado com crypto.timingSafeEqual, não
é uma string simples ===, então o tempo de resposta não pode ser usado para adivinhar a chave um byte por vez. Ainda não implantado em nenhum lugar; este é o código, não uma URL ao vivo — implantá-lo (Vercel/Fly/Render/etc.) é uma decisão separada e posterior.
Analytics de chamadas de ferramentas
Cada chamada de ferramenta (sucesso ou erro) anexa uma linha a mcp-server/analytics.jsonl
(ignorado pelo git) e registra um resumo de uma linha no stderr — nome da ferramenta, ok/erro e o código de erro, se aplicável. Exclui deliberadamente valores em dólares, informações de contato e notas de texto livre; mantido separado do PII de leads.jsonl. Isso é o que responde "alguém está realmente usando isso" e "qual descrição de ferramenta está confundindo os modelos", independentemente da auditoria somente de citações de llmo-eval.
Variáveis de ambiente
| Variável | Obrigatória | Finalidade |
|---|---|---|
HUBSPOT_PORTAL_ID | Não | Substitui o ID padrão do Portal HubSpot para melt_request_scan (por exemplo, para testar contra um formulário de sandbox). |
HUBSPOT_FORM_ID | Não | Pareada com HUBSPOT_PORTAL_ID. |
PORT | Não | Porta para start:http (padrão 3000). |
MCP_HTTP_API_KEY | Não | Se definida, exige Authorization: Bearer <key> em cada requisição /mcp HTTP hospedada. Não definida por padrão — o transporte stdio não é afetado de qualquer forma (sem superfície HTTP para proteger). |
Os valores padrão reais de Portal ID / Form ID já estão embutidos no código (eles não são segredos — os mesmos valores são expostos em qualquer snippet público de incorporação do HubSpot), então melt_request_scan alcança o pipeline real da Melt com zero configuração. Se o envio ao HubSpot falhar por qualquer motivo, as requisições caem para mcp-server/leads.jsonl (ignorado pelo git) em vez de serem perdidas.
Publicação
Publicado sob a organização npm @themelt (criada em 2026-07-20, proprietário omer_melt) sob a licença MIT. npm publish é efetivamente unidirecional — o npm permite despublicar dentro de 72 horas, mas desencoraja fortemente e bloqueia completamente uma vez que um pacote tenha dependentes, então trate qualquer versão publicada como permanente.