Skip to main content

Delegate mechanical text tasks to a local OpenAI-compatible LLM endpoint to conserve Claude subscription quota.

Project description

local-delegate

Delega tareas mecánicas texto→texto a un LLM local para conservar la cuota de tu suscripción de Claude. Un servidor MCP (stdio) que es cliente genérico de cualquier endpoint OpenAI-compatible — llama-swap, Ollama, LM Studio, vLLM.

PyPI CI License: MIT

¿Por qué?

Cuando Claude tiene que resumir un log enorme, clasificar, extraer campos o generar boilerplate, gasta cuota de tu suscripción en trabajo mecánico. local-delegate expone esas tareas como tools MCP que corren en un LLM local: pasas path en vez de text y el archivo se lee del lado del servidor, así el contenido grande nunca entra al contexto de Claude. Solo vuelve el resultado corto — cuota que no gastaste.

Instalación rápida

Con uv no hay nada que instalar: uvx baja y ejecuta el paquete aislado.

Añádelo a tu config de MCP (Claude Desktop / Claude Code):

{
  "mcpServers": {
    "local-delegate": {
      "command": "uvx",
      "args": ["local-delegate-mcp"]
    }
  }
}

Ver plantillas completas en examples/.

Requisitos

Un endpoint OpenAI-compatible ya corriendo, accesible en LOCAL_DELEGATE_BASE_URL (default http://127.0.0.1:9292/v1). Cualquiera sirve:

  • llama-swap — ver recipe con GPU Blackwell (en construcción).
  • Ollamahttp://127.0.0.1:11434/v1.
  • LM Studio, vLLM, o cualquier servidor que hable la API de OpenAI.

El paquete no arranca ningún backend por defecto (LOCAL_DELEGATE_AUTOSTART=0). El auto-arranque de llama-swap es opt-in (ver tabla de configuración).

Tools

Pasar path (en vez de text) hace que el MCP lea el archivo server-side → ahorro real de cuota.

Tool Qué hace Rol de modelo (default)
local_summarize Resume texto o archivo mecánico / largo (auto)
local_classify Devuelve UNA etiqueta de una lista mecánico
local_extract Extrae campos → objeto JSON mecánico
local_boilerplate Genera código desde una spec código
local_delegate Escape genérico texto→texto mecánico (o el que pases)
local_lint_summary Resume logs de lint/tests/CI mecánico / largo (auto)
local_commit_msg Mensaje de commit desde un diff código
local_translate Traduce texto o archivo mecánico / largo (auto)
local_explain_code Explica código en prosa código

Los modelos locales no usan tool-calling: el server arma el prompt + guardrails, hace POST al endpoint y devuelve solo texto.

Configuración

Todo por variables de entorno; nada hardcodeado. Los ids de modelo default son solo eso — cámbialos por los de tu backend.

Variable Default Descripción
LOCAL_DELEGATE_BASE_URL http://127.0.0.1:9292/v1 Endpoint OpenAI-compatible
LOCAL_DELEGATE_API_KEY (vacío) Bearer token, si tu endpoint lo exige
LOCAL_DELEGATE_TIMEOUT 180 Timeout HTTP (segundos)
LOCAL_DELEGATE_LOG (dir de datos de usuario) Ruta del usage.jsonl
LOCAL_DELEGATE_MODEL_MECHANICAL gemma3-4b Modelo para clasificar/extraer/resumen corto
LOCAL_DELEGATE_MODEL_LONG llama31-8b Modelo para documentos largos
LOCAL_DELEGATE_MODEL_CODE qwen25-coder-14b Modelo para código
LOCAL_DELEGATE_MODEL_FAST qwen35-2b Modelo ultrarrápido / trivial
LOCAL_DELEGATE_LONG_INPUT_CHARS 6000 Umbral mecánico↔largo
LOCAL_DELEGATE_WEB 1 Web de métricas embebida (0 para desactivar)
LOCAL_DELEGATE_WEB_HOST / _PORT 127.0.0.1 / 9393 Host/puerto de la web
LOCAL_DELEGATE_AUTOSTART 0 Auto-arranque de llama-swap (opt-in)
LLAMASWAP_EXE / LLAMASWAP_CONFIG / LLAMASWAP_LISTEN Solo si AUTOSTART=1

La métrica de ahorro

El MCP registra cada llamada en usage.jsonl y sirve un dashboard en http://127.0.0.1:9393. El ahorro de contexto = caracteres de entrada leídos server-side (llamadas con source=path) ÷ 4 ≈ tokens que nunca entraron al contexto de Claude. Detalle en la wiki (en construcción).

Enlaces

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

local_delegate_mcp-0.1.0.tar.gz (92.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

local_delegate_mcp-0.1.0-py3-none-any.whl (27.4 kB view details)

Uploaded Python 3

File details

Details for the file local_delegate_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: local_delegate_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 92.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for local_delegate_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4c8285a04fe6aa5403caf57c7f801df2840c5c042b83cb38af52f492c37a1dbd
MD5 f6b59fe394647bdd118bea8705027427
BLAKE2b-256 57a66124a3986c15553ea633fc27159bc4fae90e130e2af7491ce3dced491b2b

See more details on using hashes here.

File details

Details for the file local_delegate_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: local_delegate_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 27.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for local_delegate_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d104adb31f841c1181caf37e4da77647b4d61a11f76b408afcaa4e489c59e91c
MD5 63b13de0ebb70339df59400622ff20cb
BLAKE2b-256 5d83923bcaa9884b13dae276d282eabbd7e8b8c8627efc0a6e102817e46fb92c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page