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 problemaQué pasaCuál lo resuelveAhorro
InputTool calls MCP dumpan raw data (56 KB por Playwright snapshot)mcp-compressor (comprime)70-97%
OutputAgent produce filler + pleasantriestoken-optimizer (detecta waste)Variable
CompactaciónAgent olvida archivos, tareas, decisionescontext-mode (continuity)Perdida cero
ParadigmaLLM procesa datos en vez de programarcontext-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ónQué haceAhorro
1. Context SavingSandbox tool output → SQLite315 KB → 5.4 KB (98%)
2. Session ContinuitySQLite + FTS5 + BM25 search → recupera solo relevantePerdida cero tras compactación
3. Think in CodeLLM programa, no procesa → scripts reemplazan tool calls100x ahorro
4. No prose enforcementNo dicta estilo de respuestaFlexibilidad 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étricaContext-mode
⭐ Stars16,361 🔥🔥🔥
⚙️ Forks1,180
📅 Actualizado10 horas ago
🌐 LenguajeTypeScript
🔍 Issues17
🎯 Filosofía4 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 wasteEjemplos
Runtime wasteVerbose command output, oversized MCP results, re-read files
Behavioral wasteCache expire, late compaction, wrong model choice

Estadísticas

Métricatoken-optimizer
⭐ Stars1,216
⚙️ Forks98
📅 Actualizadoayer (v5.8.9)
🌐 LenguajePython
🔍 Issues1
🏷️ PluginsClaude, 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étricamcp-compressor
⭐ Stars66
⚙️ Forks7
📅 Actualizado3 días ago
🌐 LenguajePython / Rust
🔍 Issues1

Características

CaracterísticaDetalles
Ahorro70-97% (4 niveles: low, medium, high, max)
PatronesCompressed MCP proxy + local proxy para SDKs
SDKsPython, TypeScript, Rust con APIs alineadas
Pattern 1get_tool_schema, invoke_tool, list_tools
Pattern 2SDK con CompressorClient para apps
Blog oficial“MCP Compression: Preventing tool bloat in AI agents”
Documentaciónhttps://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étricaOneTool
⭐ Stars19
⚙️ Forks5
📅 Actualizado2 días ago
🌐 LenguajePython
🔍 Issues0
🔧 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ísticaDetalles
Ahorro96% (no tool definitions)
Tools100+ integrados (Brave, Google, Context7, Excalidraw, AWS, etc.)
Instalaciónuv tool install 'onetool-mcp[all]'
Config~/.onetool/onetool.yaml + secrets.yaml
Pack system32 packs + snippets
LicenciaGPL 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

Aspectocontext-modetoken-optimizermcp-compressorOneTool
Stars16,361 🔥🔥🔥1,2166619
Forks1,1809875
Updated10 horas agoayer3 días ago2 días ago
LenguajeTypeScriptPythonPython/RustPython
Ahorro98%Variable70-97%96%
Session continuity✅ SQLite + FTS5
Think in Code✅ OBLIGATORIO
Plugin automáticos✅ 15 plataformas✅ 3 plataformas❌ (proxy)
Debuggingctx_doctorAnalyticsLogsot.servers()
ComunidadMasivaMediaPequeñaPequeña
LicenciaOpen sourceOpen sourceOpen sourceGPL v3

Matriz de decisión

NecesitasProyectoPor qué
Claude Code / Codex / OpenClaw + session continuitycontext-modePlugins automáticos + 15 plataformas
Debugging token waste + analyticstoken-optimizerDetecta ghost + behavioral waste
Múltiples MCP servers + comprimir definitionsmcp-compressorProxy transparente, 70-97% ahorro
100+ tools + 1 servidorOneTool96% ahorro, todo incluido
Atlassian Labs backing + Python/Rustmcp-compressorSoporte oficial, dual language
Community masiva + plugins automáticoscontext-mode16K+ estrellas, 1.2K forks
GPL no importaOneTool100+ tools integrados

Comparación de costo

ProyectoAhorro estimadoComplejidad de setupMadurez
context-mode98%Media (plugin marketplace)⭐⭐⭐⭐⭐
token-optimizerVariableMedia (plugins nativos)⭐⭐⭐⭐
mcp-compressor70-97%Alta (proxy config)⭐⭐⭐
OneTool96%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

AgenteStack
Hermes AgentOneTool (7/10 MCPs conectados)
Claude Codecontext-mode (plugin marketplace) + OneTool
Codextoken-optimizer (plugin .codex-plugin) + OneTool
OpenClawcontext-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

PerfilRecomendado
Dev individual con Claude Codecontext-mode (plugin marketplace automático)
Equipo con múltiples agentestoken-optimizer (analytics) + context-mode (continuity)
Hermes Agent userOneTool (ya instalado)
Enterprise con Atlassian stackmcp-compressor (soporte oficial)
Researcher que debugging token wastetoken-optimizer
Full stack developercontext-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.