search
MCPIA7 min lectura

MCP Token Optimization: El juego no es quién tiene el vector más grande

Pablo IB

“Memory is no longer just a feature; it is core AI infrastructure.” — PowerDrill AI, 2026

En 2026 el problema del token optimization en MCP es brutal. Si conectas 10 servidores MCP a Claude Code, quemarás 100K tokens de contexto antes de escribir una línea de código. Un tercio del contexto de Sonnet 4.5, desaparecido.

La comunidad reaccionó con tres estrategias:

  1. Comprimir tool descriptions → mcp-compressor (Atlassian Labs, 66 estrellas)
  2. Detectar y eliminar ghost tokens → token-optimizer (1,216 estrellas)
  3. Sandboxear output + session continuity → context-mode (16,361 estrellas 🔥)

La primera vez que leí estos nombres pensé: “Es lo mismo con tres nombres”.

No lo es. Cada uno resuelve un lado completamente diferente del problema.


El problema real tiene 4 lados

Cada proyecto MCP optimization resuelve una cara del problema:

Lado del problema Qué pasa Cuál lo resuelve Ahorro
Input Tool calls MCP dumpan raw data (56 KB por Playwright snapshot) mcp-compressor (comprime) 70-97%
Output Agent produce filler + pleasantries token-optimizer (detecta waste) Variable
Compactación Agent olvida archivos, tareas, decisiones context-mode (continuity) Perdida cero
Paradigma LLM procesa datos en vez de programar context-mode (Think in Code) 100x

Context-mode: el gigante (16,361 estrellas)

Este es el que domina. No por compresión, sino por 4 soluciones integradas.

Las 4 soluciones

Solución Qué hace Ahorro
1. Context Saving Sandbox tool output → SQLite 315 KB → 5.4 KB (98%)
2. Session Continuity SQLite + FTS5 + BM25 search → recupera solo relevante Perdida cero tras compactación
3. Think in Code LLM programa, no procesa → scripts reemplazan tool calls 100x ahorro
4. No prose enforcement No dicta estilo de respuesta Flexibilidad completa

Paradigma “Think in Code” (OBLIGATORIO)

// BEFORE: 47 × Read() = 700 KB
// AFTER: 1 × ctx_execute() = 3.6 KB

ctx_execute("javascript", `
  const files = fs.readdirSync('src').filter(f => f.endsWith('.ts'));
  files.forEach(f => console.log(f + ': ' + fs.readFileSync('src/'+f,'utf8').split('\\n').length + ' lines'));
`);

Llama scripts, no tools.

Estadísticas brutales

Métrica Context-mode
⭐ Stars 16,361 🔥🔥🔥
⚙️ Forks 1,180
📅 Actualizado 10 horas ago
🌐 Lenguaje TypeScript
🔍 Issues 17
🎯 Filosofía 4 lados del problema + Think in Code

Plataformas soportadas (15!)

Claude Code (plugin marketplace), Codex, OpenClaw, Cursor, Pi, y 10 más.

Instalación en Claude Code:

/plugin marketplace add mksglu/context-mode
/plugin install context-mode@context-mode
/context-mode:ctx-doctor  # Diagnóstico

💡 Usa context-mode cuando: Usas Claude Code/Codex/OpenClaw + necesitas session continuity + te gusta Think in Code.

⚠️ NO uses context-mode cuando: Solo usas Hermes Agent (no tiene hooks context-mode)


token-optimizer: el detective de ghost tokens

Este no comprime nada. Detecta lo que no deberías estar gastando.

Los dos tipos de waste que arregla

Tipo de waste Ejemplos
Runtime waste Verbose command output, oversized MCP results, re-read files
Behavioral waste Cache expire, late compaction, wrong model choice

Estadísticas

Métrica token-optimizer
⭐ Stars 1,216
⚙️ Forks 98
📅 Actualizado ayer (v5.8.9)
🌐 Lenguaje Python
🔍 Issues 1
🏷️ Plugins Claude, Codex, OpenClaw

Lo que ofrece

  • Plugins nativos para Claude, Codex, OpenClaw
  • Analytics de consumo por sesión
  • Patrón slice para compressors
  • Patrón cache para behavioral waste
  • 467 commits, 123 tags → muy maduro

Comandos clave

# Ver stats de sesión
ctx_stats

# Search indexed content
ctx_search "search query"

# Execute code script
ctx_execute "python" "code_here"

# Insight analysis
ctx_insight

# Purge contenido antiguo
ctx_purge --older-than 7d

💡 Usa token-optimizer cuando: Quieres debugging + analytics de token waste + estás en Claude Code/Codex/OpenClaw.


mcp-compressor: el compresor de Atlassian Labs

Este sí comprime tool definitions. Es un proxy MCP que reduce las descripciones de herramientas.

Estadísticas

Métrica mcp-compressor
⭐ Stars 66
⚙️ Forks 7
📅 Actualizado 3 días ago
🌐 Lenguaje Python / Rust
🔍 Issues 1

Características

Característica Detalles
Ahorro 70-97% (4 niveles: low, medium, high, max)
Patrones Compressed MCP proxy + local proxy para SDKs
SDKs Python, TypeScript, Rust con APIs alineadas
Pattern 1 get_tool_schema, invoke_tool, list_tools
Pattern 2 SDK con CompressorClient para apps
Blog oficial “MCP Compression: Preventing tool bloat in AI agents”
Documentación https://atlassian-labs.github.io/mcp-compressor/

Cómo funciona

Cambia el pattern de interacción: el modelo ve una superficie comprimida primero, pide el schema completo solo para la tool seleccionada, y luego la invoca.

Instalación

# Python
pip install mcp-compressor

# Rust (cargo)
cargo install mcp-compressor

Uso en Claude Code

{
  "mcpServers": {
    "compressed-mcp": {
      "command": "mcp-compressor",
      "args": [
        "proxy",
        "--server", "stdio:./my-mcp-server.js",
        "--level", "high"
      ]
    }
  }
}

💡 Usa mcp-compressor cuando: Tienes múltiples MCP servers existentes + quieres reducir tool definitions sin cambiar tools + quieres Python/Rust.


OneTool: la alternativa “un MCP para todos”

Este es el que ya tienes instalado en /home/pablo/.local/bin/onetool. Diferente filosofía: en vez de comprimir, elimina tool definitions.

Estadísticas

Métrica OneTool
⭐ Stars 19
⚙️ Forks 5
📅 Actualizado 2 días ago
🌐 Lenguaje Python
🔍 Issues 0
🔧 MCPs conectados (tu setup) 7/10

Filosofía

En vez de leer tool definitions, el agente escribe código:

__run brave.search(query="react docs 2026")

Características

Característica Detalles
Ahorro 96% (no tool definitions)
Tools 100+ integrados (Brave, Google, Context7, Excalidraw, AWS, etc.)
Instalación uv tool install 'onetool-mcp[all]'
Config ~/.onetool/onetool.yaml + secrets.yaml
Pack system 32 packs + snippets
Licencia GPL v3 (copyleft)

Tu config actual (10 MCPs conectados)

chrome-devtools: ✅ 29 tools (connected)
context-mode: ✅ 11 tools (connected)
docker-hub: ✅ 13 tools (connected)
jules: ✅ 8 tools (connected)
playwright: ✅ 23 tools (connected)
stitch: ✅ 14 tools (connected)
zai-vision: ✅ 8 tools (connected)
zai-search: ❌ 0 tools (disconnected - IPv6 issue)
zai-reader: ❌ 0 tools (disconnected - IPv6 issue)
zai-zread: ❌ 0 tools (disconnected - IPv6 issue)

💡 Usa OneTool cuando: Quieres 100+ tools en un servidor + no te importa GPL + quieres Python.

⚠️ Fix pending: Los 3 MCPs de Z.AI fallan por IPv6 (requieren -4 en curl).


Comparación directa

Aspecto context-mode token-optimizer mcp-compressor OneTool
Stars 16,361 🔥🔥🔥 1,216 66 19
Forks 1,180 98 7 5
Updated 10 horas ago ayer 3 días ago 2 días ago
Lenguaje TypeScript Python Python/Rust Python
Ahorro 98% Variable 70-97% 96%
Session continuity ✅ SQLite + FTS5
Think in Code ✅ OBLIGATORIO
Plugin automáticos ✅ 15 plataformas ✅ 3 plataformas ❌ (proxy)
Debugging ctx_doctor Analytics Logs ot.servers()
Comunidad Masiva Media Pequeña Pequeña
Licencia Open source Open source Open source GPL v3

Matriz de decisión

Necesitas Proyecto Por qué
Claude Code / Codex / OpenClaw + session continuity context-mode Plugins automáticos + 15 plataformas
Debugging token waste + analytics token-optimizer Detecta ghost + behavioral waste
Múltiples MCP servers + comprimir definitions mcp-compressor Proxy transparente, 70-97% ahorro
100+ tools + 1 servidor OneTool 96% ahorro, todo incluido
Atlassian Labs backing + Python/Rust mcp-compressor Soporte oficial, dual language
Community masiva + plugins automáticos context-mode 16K+ estrellas, 1.2K forks
GPL no importa OneTool 100+ tools integrados

Comparación de costo

Proyecto Ahorro estimado Complejidad de setup Madurez
context-mode 98% Media (plugin marketplace) ⭐⭐⭐⭐⭐
token-optimizer Variable Media (plugins nativos) ⭐⭐⭐⭐
mcp-compressor 70-97% Alta (proxy config) ⭐⭐⭐
OneTool 96% Baja (uv tool install) ⭐⭐⭐

¿Puedo usar múltiples a la vez?

, y así lo hago en algunos setups.

{
  "mcpServers": {
    "context-mode": { ... },
    "onetool": { ... },
    "mcp-compressor": { ... },
    "token-optimizer": { ... }
  }
}

¿Cuándo uno, cuándo múltiples?

  • Necesitas session continuity + plugins automáticos → context-mode solo
  • Necesitas debugging + analytics → token-optimizer solo
  • Necesitas comprimir MCPs existentes → mcp-compressor solo
  • Necesitas 100+ tools → OneTool solo
  • Necesitas todo → Combínalos (context-mode + OneTool = poder + continuity)

Mi setup actual

Agente Stack
Hermes Agent OneTool (7/10 MCPs conectados)
Claude Code context-mode (plugin marketplace) + OneTool
Codex token-optimizer (plugin .codex-plugin) + OneTool
OpenClaw context-mode (plugin .openclaw-plugin) + OneTool

Regla de oro: ¿Session continuity + plataforma soportada? context-mode. ¿Hermes Agent + 100+ tools? OneTool. ¿Debugging? token-optimizer. ¿Múltiples MCPs existentes? mcp-compressor.


Cuál elegir para tu caso

Perfil Recomendado
Dev individual con Claude Code context-mode (plugin marketplace automático)
Equipo con múltiples agentes token-optimizer (analytics) + context-mode (continuity)
Hermes Agent user OneTool (ya instalado)
Enterprise con Atlassian stack mcp-compressor (soporte oficial)
Researcher que debugging token waste token-optimizer
Full stack developer context-mode + OneTool (lo mejor de ambos)

Recursos


¿Cuál usarías tú?

context-mode, token-optimizer, mcp-compressor o OneTool? ¿O múltiples a la vez? ¿Qué caso de uso tienes que no cubrí? Déjamelo en los comentarios.