PromptThrift MCP: Compresión inteligente de tokens para aplicaciones LLM
Reduce entre un 70% y un 90% tus costes de API de LLM con una compresión inteligente de conversaciones. Ahora con compresión local Gemma 4: resúmenes más inteligentes, coste de API cero.
👁 License: MIT
👁 Python 3.10+
👁 MCP Compatible
👁 Gemma 4
⭐ Si esto te ahorra dinero, ¡dale una estrella a este repositorio! ⭐
El problema
Cada llamada a la API de un LLM reenvía todo tu historial de conversación. Un chat de 20 turnos cuesta 6 veces más por llamada que uno de 3, por lo que estás pagando por los mismos mensajes antiguos una y otra vez.
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 callRelated MCP server: SlimContext MCP Server
La solución
PromptThrift es un servidor MCP con 4 herramientas para reducir drásticamente tus costes de API:
Herramienta | Qué hace | Impacto |
| Comprime turnos antiguos en un resumen inteligente | 50-90% menos de tokens de entrada |
| Rastrea el uso de tokens y costes en 14 modelos | Sabrás a dónde va el dinero |
| Recomienda el modelo más barato para la tarea | 60-80% en tareas sencillas |
| Fija hechos críticos que sobreviven a la compresión | Nunca pierdas contexto clave |
¿Por qué PromptThrift?
PromptThrift | Modo Contexto | Headroom | |
Licencia | MIT (comercial OK) | ELv2 (sin competencia) | Apache 2.0 |
Tipo de compresión | Memoria de conversación | Virtualización de esquema de herramientas | Salida de herramienta |
Soporte LLM local | Gemma 4 vía Ollama | No | No |
Seguimiento de costes | Comparación multimodelo | No | No |
Enrutamiento de modelos | Integrado | No | No |
Hechos fijados | Lista de no compresión | No | No |
Inicio rápido
Instalación
Opción A: pip install (recomendado)
pip install git+https://github.com/woling-dev/promptthrift-mcp.gitOpción B: clonar e instalar
git clone https://github.com/woling-dev/promptthrift-mcp.git
cd promptthrift-mcp
pip install -e .Opcional: Habilitar la compresión Gemma 4
Para una compresión más inteligente impulsada por IA (gratuita, se ejecuta localmente):
# Install Ollama: https://ollama.com
ollama pull gemma4:e4bPromptThrift detecta automáticamente Ollama. Si se está ejecutando → utiliza Gemma 4 para la compresión. Si no → recurre a una compresión heurística rápida. No se necesita configuración.
Claude Desktop
Añadir a claude_desktop_config.json:
{
"mcpServers": {
"promptthrift": {
"command": "python",
"args": ["/path/to/promptthrift-mcp/server.py"]
}
}
}Cursor / Windsurf
Añadir a tus ajustes de MCP:
{
"mcpServers": {
"promptthrift": {
"command": "python",
"args": ["/path/to/promptthrift-mcp/server.py"]
}
}
}Ejemplo del mundo real
Un asistente de programación por IA depurando un problema complejo durante más de 30 turnos:
Antes de la compresión (enviado en cada llamada a la 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 después de 30 turnos, y creciendo en cada llamada a la API
Después de la compresión con 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% ahorrado en cada llamada posterior
Impacto en el coste a escala (Claude Sonnet @ $3/MTok):
Escenario | Sin PromptThrift | Con PromptThrift | Ahorro mensual |
1 desarrollador, 20 sesiones/día | $5.10/mes | $0.72/mes | $4.38 |
Equipo de 10 desarrolladores | $51/mes | $7.20/mes | $43.80 |
Bot de atención al cliente (500 chats/día) | $255/mes | $36/mes | $219 |
Plataforma de agentes IA (5K sesiones/día) | $2,550/mes | $357/mes | $2,193 |
Hechos fijados (Lista de no compresión)
Algunos hechos nunca deben perderse durante la compresión: nombres de usuario, preferencias críticas, decisiones clave. Fíjalos:
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 soportados (precios de abril de 2026)
Modelo | Entrada $/MTok | Salida $/MTok | ¿Local? |
gemma-4-e2b | $0.00 | $0.00 | Ollama |
gemma-4-e4b | $0.00 | $0.00 | Ollama |
gemma-4-27b | $0.00 | $0.00 | Ollama |
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 |
Cómo 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 compresión
Modo | Método | Calidad | Velocidad | Coste |
Heurístico | Extracción basada en reglas | Buena (reducción del 50-60%) | Instantánea | Gratis |
LLM (Gemma 4) | Comprensión impulsada por IA | Excelente (reducción del 70-90%) | ~10-15s | Gratis (local) |
PromptThrift utiliza automáticamente el mejor método disponible. Instala Ollama + Gemma 4 para obtener la máxima calidad de compresión.
¿Cuándo destaca la compresión?
La eficacia de la compresión aumenta con la longitud y la redundancia de la conversación:
Longitud de la conversación | Reducción típica | Ideal para |
Corta (< 5 turnos, mayormente técnica) | 15-25% | Ahorro mínimo: mantener tal cual |
Media (10-20 turnos, chat mixto) | 50-70% | Punto óptimo: reducción clara de costes |
Larga (30+ turnos, depuración/iteración) | 70-90% | Ahorro masivo: comprimir pronto y a menudo |
¿Por qué? Las conversaciones cortas y densas tienen poco relleno que eliminar. Las conversaciones más largas acumulan saludos, contexto repetido, callejones sin salida exploratorios y explicaciones prolijas, y eso es exactamente lo que el compresor elimina. Una sesión de depuración de 30 turnos con fragmentos de código, resolución de problemas de ida y vuelta y resolución final se comprime drásticamente porque solo la conclusión y las decisiones clave importan para el contexto futuro.
Regla general: Empieza a comprimir después de 8-10 turnos para obtener los mejores resultados.
Variables de entorno
Variable | Requerido | Por defecto | Descripción |
| No |
| Modelo de Ollama para compresión LLM |
| No |
| Punto final de la API de Ollama |
| No |
| Modelo por defecto para estimaciones de costes |
Seguridad
Todos los datos se procesan localmente por defecto. Nada sale de tu máquina
La compresión de Ollama se ejecuta al 100% en tu hardware
El sanitizador post-compresión elimina patrones de inyección de prompts de los resúmenes
Las claves de API se leen solo de las variables de entorno, nunca codificadas de forma rígida
Sin almacenamiento persistente, sin telemetría, sin llamadas de terceros
Hoja de ruta
[x] Compresión heurística de conversaciones
[x] Conteo de tokens multimodelo (14 modelos)
[x] Enrutamiento inteligente de modelos
[x] Compresión LLM local Gemma 4 vía Ollama
[x] Hechos fijados (Lista de no compresión)
[x] Sanitizador de seguridad post-compresión
[ ] Compresión basada en la nube (alternativa de API de Anthropic/OpenAI)
[ ] Asesor de optimización de caché de prompts
[ ] Panel web para análisis de uso
[ ] Extensión de VS Code
Contribución
¡Las PR son bienvenidas! Este proyecto utiliza la licencia MIT. Haz un fork, mejóralo, publícalo.
Acerca de BrandDefender.ai
BrandDefender.ai es la línea de productos de Wolin Global Media (沃嶺國際媒體), un estudio de infraestructura de IA con sede en Taiwán que ayuda a las marcas a ser descubiertas, comprendidas y recomendadas por los sistemas de IA.
Qué construimos
🔍 Consultoría AEO (Optimización de motores de respuesta) Consigue que tu marca sea citada correctamente por ChatGPT, Gemini, Perplexity y Claude. Implementamos esquemas JSON-LD, optimizamos la estructura del contenido y supervisamos la presencia en búsquedas de IA para marcas taiwanesas de alimentación, té, belleza y estilo de vida.
Sitio web: https://aibranddefender.com/
Escaneo de marca de IA gratuito: https://app.aibranddefender.com/
💬 Atención al cliente con IA (LINE Bot) Chatbots de LINE de nivel de producción con memoria de 3 capas, toma de control por parte del administrador y backend de Supabase. Ya dando servicio a marcas reales en retail y F&B.
🧠 Infraestructura MCP de memoria de IA Servidores MCP de código abierto para Claude Code, Cursor y constructores de LLM. Prioridad local, preservación de la privacidad, creados para ahorrar costes de API.
Este repositorio es uno de ellos.
Herramientas hermanas: promptforge · promptthrift-mcp
Contacto
📧 Correo electrónico: service@wolinglobal.com
💬 LINE: @886upktf
🌐 Sitio web: https://aibranddefender.com/
🐙 GitHub: https://github.com/woling-dev
台灣品牌想做 AEO audit:我們提供 ChatGPT / Gemini / Perplexity 全面掃描 + JSON-LD 修補 + 月度監測。Email 或 LINE 直接找我們聊。
Licencia
Licencia MIT. Gratuito para uso personal y comercial.
© 2026 Wolin Global Media (沃嶺國際媒體).
¡Dale una estrella a este repositorio si te ahorra dinero!
This server cannot be installed
Maintenance
Appeared in Searches
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/woling-dev/promptthrift-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
