gcf-proxy

Proxy MCP integrable que re-codifica sin pérdidas las respuestas de herramientas JSON como GCF. 71% menos tokens, 100% de comprensión en más de 1,700 evaluaciones de LLM. Sin cambios de código.

Documentación

Playground Benchmarks License

gcf-proxy

Proxy MCP bidireccional que traduce entre JSON y GCF. Integración directa, sin cambios en tu servidor o cliente. Funciona con cualquier formato de datos estructurados.

100% de comprensión en todos los modelos de frontera. 29% menos tokens que TOON, 56% menos que JSON (más de 2,400 evaluaciones, 11 modelos, 3 proveedores). Aplanamiento de objetos anidados con opción de exclusión para modelos de peso abierto. Un cambio de línea en tu configuración de MCP.

Instalación

pip install gcf-proxy                                         # PyPI
npm install -g @blackwell-systems/gcf-proxy                   # npm
go install github.com/blackwell-systems/gcf-proxy@latest      # Go

Pruébalo (30 segundos, sin autenticación)

gcf-proxy --verbose uvx yfinance-mcp

Úsalo con cualquier cliente MCP. Cuando las herramientas devuelven JSON estructurado, el proxy lo re-codifica a GCF y registra los ahorros en stderr:

gcf-proxy: get_price_history              54.0KB -> 28.1KB (48% saved)
gcf-proxy: get_ticker_info                10.0KB -> 7.4KB (26% saved)
gcf-proxy: get_price_history              53.8KB -> 27.9KB (48% saved)

--- gcf-proxy session stats ---
Tool calls rewritten:  3
JSON bytes in:         117.8KB
GCF bytes out:         63.4KB
Bytes saved:           54.4KB (46.2%)
Est. tokens saved:     ~13.6K
-------------------------------

Datos reales de acciones en vivo de Yahoo Finance. 118KB de JSON reducidos a 63KB. ~13,600 tokens ahorrados en 3 llamadas de herramientas.

Uso

Servidor local (stdio)

Agrega gcf-proxy delante de cualquier comando de servidor MCP:

{
  "mcpServers": {
    "memory": {
      "command": "gcf-proxy",
      "args": ["npx", "-y", "@modelcontextprotocol/server-memory"]
    }
  }
}

Servidor remoto (HTTP)

Apunta --upstream a cualquier servidor MCP HTTP Streamable:

{
  "mcpServers": {
    "remote": {
      "command": "gcf-proxy",
      "args": ["--upstream", "http://host:3000/mcp"]
    }
  }
}

Soporta respuestas JSON y SSE. El seguimiento de ID de sesión mediante Mcp-Session-Id es automático.

Desplegar como servicio HTTP

--http convierte el proxy en un servidor HTTP Streamable remoto:

gcf-proxy --http :9090 --session your-mcp-server

Cualquier cliente MCP que soporte transporte HTTP se conecta directamente. Verificación de salud en /health. Se encadena con --upstream para despliegues completamente remotos.

Ambos modos son bidireccionales: las respuestas del servidor se codifican a GCF, y el GCF en los argumentos de llamadas de herramientas se decodifica a JSON. Ninguno de los dos lados necesita cambiar.

Banderas

BanderaDescripción
--sessionHabilitar deduplicación de sesión (referencias simples para símbolos previamente transmitidos)
--cacheCachear respuestas codificadas para llamadas de herramientas idénticas
--deltaEnviar solo símbolos cambiados cuando la respuesta de una herramienta cambia ligeramente
--no-flattenUsar codificación expandida para objetos anidados (los modelos de peso abierto comprenden mejor esta forma actualmente; GCF sigue superando a JSON de cualquier manera)
--min-size NOmitir codificación para respuestas menores a N bytes (predeterminado: 100)
--stream-threshold NMínimo de símbolos antes de que se active el modo de transmisión (predeterminado: 5)
--stats-file PATHEscribir estadísticas JSON a un archivo después de cada llamada
--upstream URLConectar a un servidor MCP remoto sobre HTTP
--http ADDRServir MCP sobre HTTP Streamable
--no-progressDeshabilitar notificaciones de progreso
--verboseRegistrar ahorros por llamada en stderr

Respuestas: Servidor (JSON) -> LLM (GCF)

Before: {"tool":"context_for_task","symbols":[{"qualified_name":"pkg.Auth","kind":"function","score":0.78,...},...]}
After:  GCF profile=graph tool=context_for_task budget=5000 tokens=1900 symbols=50 edges=20
        ## targets
        @0 fn pkg.Auth 0.78 lsp_resolved
        ...

53-71% menos tokens de entrada.

Solicitudes: LLM (GCF) -> Servidor (JSON)

Si el LLM produce GCF en un argumento de llamada de herramienta (63% menos tokens de salida), el proxy lo decodifica a JSON antes de reenviarlo:

LLM sends:    {"tool": "process", "arguments": {"data": "GCF profile=generic\nname=Alice\nage=30\n"}}
Server gets:  {"tool": "process", "arguments": {"data": {"name": "Alice", "age": 30}}}

La detección es una verificación de prefijo de 4 bytes (GCF ). Cero sobrecarga. Las cadenas que no son GCF pasan sin cambios.

Cómo funciona

  1. Inicia tu servidor MCP como subproceso
  2. Actúa como proxy de stdin/stdout entre cliente y servidor
  3. Respuestas: intercepta respuestas JSON-RPC, re-codifica JSON estructurado como GCF
  4. Solicitudes: escanea argumentos de llamadas de herramientas en busca de cadenas GCF, decodifica a JSON
  5. Pasa todo lo demás sin cambios en ambas direcciones

¿Por qué no modificar el servidor?

A veces no puedes. El servidor es un binario de terceros, o lo mantiene otro equipo, o simplemente no quieres agregar una dependencia. gcf-proxy te da los ahorros de tokens sin tocar el código del servidor.

Si controlas el servidor, usa las bibliotecas GCF directamente para un mejor control sobre la deduplicación de sesión y la codificación delta.

Benchmarks

100% de comprensión general en todos los modelos de frontera. 91.2% en gráficos de código adversariales (vs TOON 68.8%, JSON 54.1%). Gana 15/16 conjuntos de datos en el benchmark de tokens.

EvaluaciónGCFTOONJSON
Comprensión general100%100%100%
Gráficos de código adversariales (500 símbolos)91.2%68.8%54.1%
Eficiencia de tokens (16 conjuntos de datos)15/16 victorias1/16línea base

Reproducir evaluación de comprensión: git clone https://github.com/blackwell-systems/gcf-go && cd gcf-go/eval && GOWORK=off go test -run TestComprehension -v -timeout 0

Reproducir benchmark de tokens: git clone https://github.com/blackwell-systems/toon && cd toon && git checkout gcf-comparison && cd benchmarks && pnpm install && pnpm benchmark:tokens

Enlaces

Más enlaces

Licencia

MIT - Dayna Blackwell / GCF