PromptThrift MCP

Compressão inteligente de tokens para aplicações LLM. Economize 70-90% nos custos de API com compressão local Gemma 4, rastreamento de custos multi-modelo e roteamento inteligente de modelos.

Documentação

PromptThrift MCP: Compressão Inteligente de Tokens para Apps de LLM

Reduza 70-90% dos seus custos de API de LLM com compressão inteligente de conversas. Agora com compressão local Gemma 4: resumos mais inteligentes, custo zero de API.

PromptThrift MCP server

License: MIT Python 3.10+ MCP Compatible Gemma 4

⭐ Se isso economizar seu dinheiro, dê uma estrela neste repositório! ⭐

O Problema

Toda chamada de API de LLM reenvia seu histórico completo de conversa. Um chat de 20 turnos custa 6x mais por chamada do que um de 3 turnos, então você está pagando pelas mesmas mensagens antigas repetidamente.

Turn 1:  ████ 700 tokens ($0.002)
Turn 5:  ████████████████ 4,300 tokens ($0.013)
Turn 20: ████████████████████████████████████████ 12,500 tokens ($0.038)
                                              ↑ You're paying for THIS every call

A Solução

PromptThrift é um servidor MCP com 4 ferramentas para reduzir drasticamente seus custos de API:

FerramentaO que fazImpacto
promptthrift_compress_historyComprimir turnos antigos em um resumo inteligente50-90% menos tokens de entrada
promptthrift_count_tokensRastrear uso de tokens e custos em 14 modelosSaiba para onde vai o dinheiro
promptthrift_suggest_modelRecomendar o modelo mais barato para a tarefa60-80% em tarefas simples
promptthrift_pin_factsFixar fatos críticos que sobrevivem à compressãoNunca perca contexto-chave

Por que PromptThrift?

PromptThriftContext ModeHeadroom
LicençaMIT (comercial OK)ELv2 (sem concorrência)Apache 2.0
Tipo de compressãoMemória de conversaVirtualização de schema de ferramentasSaída de ferramentas
Suporte a LLM localGemma 4 via OllamaNãoNão
Rastreamento de custosComparação multi-modeloNãoNão
Roteamento de modelosIntegradoNãoNão
Fatos fixadosLista Never-CompressNãoNão

Início Rápido

Instalação

Opção A: pip install (recomendado)

pip install git+https://github.com/woling-dev/promptthrift-mcp.git

Opção B: clonar e instalar

git clone https://github.com/woling-dev/promptthrift-mcp.git
cd promptthrift-mcp
pip install -e .

Opcional: Ativar Compressão Gemma 4

Para compressão mais inteligente com IA (gratuita, roda localmente):

# Install Ollama: https://ollama.com
ollama pull gemma4:e4b

PromptThrift detecta automaticamente o Ollama. Se estiver em execução → usa Gemma 4 para compressão. Se não → usa compressão heurística rápida. Zero configuração necessária.

Claude Desktop

Adicione em claude_desktop_config.json:

{
  "mcpServers": {
    "promptthrift": {
      "command": "python",
      "args": ["/path/to/promptthrift-mcp/server.py"]
    }
  }
}

Cursor / Windsurf

Adicione às suas configurações MCP:

{
  "mcpServers": {
    "promptthrift": {
      "command": "python",
      "args": ["/path/to/promptthrift-mcp/server.py"]
    }
  }
}

Exemplo do Mundo Real

Um assistente de codificação com IA depurando um problema complexo ao longo de 30+ turnos:

Antes da compressão (enviado em toda chamada de API):

User: My Next.js app throws a hydration error on the /dashboard page.
Asst: That usually means server and client HTML don't match. Can you share the component?
User: [pastes 50 lines of DashboardLayout.tsx]
Asst: I see the issue, you're using `new Date()` directly in render, which differs
      between server and client. Let me also check your data fetching...
User: I also get a warning about useEffect running twice.
Asst: That's React 18 Strict Mode. Not related to hydration. Let me trace the real bug...
User: Wait, there's also a flash of unstyled content on first load.
Asst: That's a separate CSS loading order issue. Let me address both...
      [... 25 more turns of debugging, trying fixes, checking logs ...]
User: OK it's fixed now! But I want to add dark mode next.
Asst: Great! For dark mode with Next.js + Tailwind, here are three approaches...

~8.500 tokens após 30 turnos, e crescendo a cada chamada de API

Após compressão Gemma 4:

[Compressed history]
Resolved Next.js hydration error in DashboardLayout.tsx caused by
Date() in render (fixed with useEffect). Unrelated: React 18 Strict Mode
double-fire (expected), CSS flash (fixed via loading order).
User now wants to add dark mode to Next.js + Tailwind app.
[End compressed history]

[Recent turns preserved, last 4 turns intact]

~1.200 tokens. 86% economizados em cada chamada subsequente

Impacto de custo em escala (Claude Sonnet @ $3/MTok):

CenárioSem PromptThriftCom PromptThriftEconomia Mensal
1 dev, 20 sessões/dia$5.10/mês$0.72/mês$4.38
Time de 10 devs$51/mês$7.20/mês$43.80
Bot de atendimento (500 chats/dia)$255/mês$36/mês$219
Plataforma de agentes de IA (5K sessões/dia)$2,550/mês$357/mês$2,193

Fatos Fixados (Lista Never-Compress)

Alguns fatos nunca devem ser perdidos durante a compressão: nomes de usuários, preferências críticas, decisões-chave. Fixe-os:

You: "Pin the fact that this customer is allergic to nuts"

→ promptthrift_pin_facts(action="add", facts=["Customer is allergic to nuts"])
→ This fact will appear in ALL future compressed summaries, guaranteed.

Modelos Suportados (preços de abril de 2026)

ModeloEntrada $/MTokSaída $/MTokLocal?
gemma-4-e2b$0.00$0.00Ollama
gemma-4-e4b$0.00$0.00Ollama
gemma-4-27b$0.00$0.00Ollama
gemini-2.0-flash$0.10$0.40
gpt-4.1-nano$0.10$0.40
gpt-4o-mini$0.15$0.60
gemini-2.5-flash$0.15$0.60
gpt-4.1-mini$0.40$1.60
claude-haiku-4.5$1.00$5.00
gemini-2.5-pro$1.25$10.00
gpt-4.1$2.00$8.00
gpt-4o$2.50$10.00
claude-sonnet-4.6$3.00$15.00
claude-opus-4.6$5.00$25.00

Como Funciona

Before (every API call sends ALL of this):
┌──────────────────────────────────┐
│ System prompt      (500 tokens)  │
│ Turn 1: user+asst  (600 tokens)  │  ← Repeated every call
│ Turn 2: user+asst  (600 tokens)  │  ← Repeated every call
│ ...                              │
│ Turn 8: user+asst  (600 tokens)  │  ← Repeated every call
│ Turn 9: user+asst  (new)         │
│ Turn 10: user      (new)         │
└──────────────────────────────────┘
Total: ~6,500 tokens per call

After PromptThrift compression:
┌──────────────────────────────────┐
│ System prompt      (500 tokens)  │
│ [Pinned facts]      (50 tokens)  │  ← Always preserved
│ [Compressed summary](200 tokens) │  ← Turns 1-8 in 200 tokens!
│ Turn 9: user+asst  (kept)        │
│ Turn 10: user      (kept)        │
└──────────────────────────────────┘
Total: ~1,750 tokens per call (73% saved!)

Modos de Compressão

ModoMétodoQualidadeVelocidadeCusto
HeurísticoExtração baseada em regrasBoa (redução de 50-60%)InstantâneaGrátis
LLM (Gemma 4)Compreensão com IAExcelente (redução de 70-90%)~10-15sGrátis (local)

PromptThrift usa automaticamente o melhor método disponível. Instale Ollama + Gemma 4 para máxima qualidade de compressão.

Quando a Compressão se Destaca?

A eficácia da compressão escala com o tamanho da conversa e a redundância:

Tamanho da ConversaRedução TípicaMelhor Para
Curta (< 5 turnos, majoritariamente técnica)15-25%Economia mínima: mantenha como está
Média (10-20 turnos, chat misto)50-70%Ponto ideal: redução clara de custos
Longa (30+ turnos, depuração/iteração)70-90%Economia massiva: comprima cedo e com frequência

Por quê? Conversas curtas e densas têm pouco conteúdo supérfluo para remover. Conversas mais longas acumulam saudações, contexto repetido, becos sem saída exploratórios e explicações verbosas, e são exatamente esses elementos que o compressor remove. Uma sessão de depuração de 30 turnos com trechos de código, solução de problemas de ida e volta e resolução final comprime drasticamente porque apenas a conclusão e as decisões-chave importam para o contexto futuro.

Regra prática: Comece a comprimir após 8-10 turnos para melhores resultados.

Variáveis de Ambiente

VariávelObrigatóriaPadrãoDescrição
PROMPTTHRIFT_OLLAMA_MODELNãogemma4:e4bModelo Ollama para compressão por LLM
PROMPTTHRIFT_OLLAMA_URLNãohttp://localhost:11434Endpoint da API Ollama
PROMPTTHRIFT_DEFAULT_MODELNãoclaude-sonnet-4.6Modelo padrão para estimativas de custo

Segurança

  • Todos os dados processados localmente por padrão. Nada sai da sua máquina
  • A compressão Ollama roda 100% no seu hardware
  • Sanitizador pós-compressão remove padrões de injeção de prompt dos resumos
  • Chaves de API lidas apenas de variáveis de ambiente, nunca codificadas
  • Sem armazenamento persistente, sem telemetria, sem chamadas de terceiros

Roadmap

  • Compressão heurística de conversas
  • Contagem de tokens multi-modelo (14 modelos)
  • Roteamento inteligente de modelos
  • Compressão local por LLM Gemma 4 via Ollama
  • Fatos fixados (Lista Never-Compress)
  • Sanitizador de segurança pós-compressão
  • Compressão baseada em nuvem (fallback para API Anthropic/OpenAI)
  • Consultor de otimização de cache de prompts
  • Dashboard web para análise de uso
  • Extensão para VS Code

Contribuindo

PRs são bem-vindos! Este projeto usa licença MIT. Faça um fork, melhore, publique.

Sobre a BrandDefender.ai

BrandDefender.ai é a linha de produtos da Wolin Global Media (沃嶺國際媒體), um estúdio de infraestrutura de IA sediado em Taiwan que ajuda marcas a serem descobertas, compreendidas e recomendadas por sistemas de IA.

O que construímos

🔍 Consultoria AEO (Answer Engine Optimization) Faça sua marca ser citada corretamente por ChatGPT, Gemini, Perplexity e Claude. Implementamos schema JSON-LD, otimizamos a estrutura de conteúdo e monitoramos a presença em buscas de IA para marcas de comida, chá, beleza e estilo de vida de Taiwan.

💬 Atendimento ao Cliente com IA (LINE Bot) Chatbots LINE de nível de produção com memória de 3 camadas, controle administrativo e backend Supabase. Já atendendo marcas reais no varejo e no setor de alimentos e bebidas.

🧠 Infraestrutura MCP de Memória para IA Servidores MCP de código aberto para Claude Code, Cursor e desenvolvedores de LLM. Local-first, preservando a privacidade, construídos para economizar custos de API.

Contato

Marcas taiwanesas querem auditoria AEO: oferecemos varredura completa ChatGPT / Gemini / Perplexity + correção JSON-LD + monitoramento mensal. Email ou LINE fale diretamente conosco.

Licença

Licença MIT. Gratuito para uso pessoal e comercial.


© 2026 Wolin Global Media (沃嶺國際媒體).

Dê uma estrela neste repositório se ele economizar seu dinheiro!