Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.ZahiriNatZuke/local-delegate

PYPI · LOCAL-DELEGATE-MCP · SCANNED SEP 20

Delegate mechanical text tasks to a local OpenAI-compatible LLM to save Claude quota.

Available components

0 this week 76 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
  • 1 of 33 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency35
Schema Quality & AI Usability65
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2289 tokens (~208/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management82
  • Stability check failed: the tool surface changed between 0.26.0 and 0.31.0: 0 tool removals, 1 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage71
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
Install

How do I install the io.github.ZahiriNatZuke/local-delegate MCP server?

io.github.ZahiriNatZuke/local-delegate runs locally as a PyPI package, launched with uvx local-delegate-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · local-delegate-mcp

# add to Claude Code
claude mcp add zahirinatzuke-local-delegate -- uvx local-delegate-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "zahirinatzuke-local-delegate": {
      "command": "uvx",
      "args": [
        "local-delegate-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "zahirinatzuke-local-delegate": {
      "command": "uvx",
      "args": [
        "local-delegate-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add zahirinatzuke-local-delegate -- uvx local-delegate-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "zahirinatzuke-local-delegate": {
      "type": "local",
      "command": [
        "uvx",
        "local-delegate-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add zahirinatzuke-local-delegate --command uvx --arg local-delegate-mcp
# ~/.hermes/config.yaml
mcp_servers:
  zahirinatzuke-local-delegate:
    command: "uvx"
    args: ["local-delegate-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "zahirinatzuke-local-delegate": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "local-delegate-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add zahirinatzuke-local-delegate -t stdio -c uvx -a local-delegate-mcp
// mcp.json
{
  "mcpServers": {
    "zahirinatzuke-local-delegate": {
      "command": "uvx",
      "args": [
        "local-delegate-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 79 to 82.

  • 18 Sept 26 −3

    No change was recorded against any check on this day. Stability & Change Management went from 95 to 75.

  • 17 Sept 26 +16
    • Malware scan: unverified → pass security
    • Package version: 0.30.0 → 0.31.0 functional
  • 16 Sept 26 0
    • Package version: 0.29.0 → 0.30.0 functional
  • 15 Sept 26 +1
    • Malware scan: unverified → pass security
    • Package version: 0.27.0 → 0.29.0 functional
    • Package version: 0.24.0 → 0.28.0 functional
  • 14 Sept 26 −15
    • Malware scan: pass → unverified security
  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 79 to 82.

  • 12 Sept 26 −3

    No change was recorded against any check on this day. Stability & Change Management went from 95 to 79.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed pypi/local-delegate-mcp@0.31.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 33 packages
Packages resolved 33
No linked repository 1
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 11 exposed · ~2,289 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
local_boilerplate ~204

Genera código boilerplate a partir de una especificación, con un modelo local de código. **Escribe el código en `target`** y devuelve solo un recibo de dos líneas (ruta, tamaño). El código generado nunca entra a tu contexto: ahí está el ahorro, y por eso `target` no es opcional. Para verlo, abre el archivo; para usarlo, ya está en su sitio. Args: spec: Descripción de lo que debe generar el código. language: Lenguaje de programación (p. ej. 'python', 'typescript'). target: Ruta ABSOLUTA del archivo a escribir. Los directorios que falten se crean. overwrite: Pisar `target` si ya existe. Por defecto falla, y falla ANTES de generar nada.

NameTypeReqDescription
languagestringyes
overwriteboolean
specstringyes
targetstringyes
NameTypeReqDescription
resultstringyes

No examples provided.

local_classify ~71

Clasifica un texto en UNA de las etiquetas dadas, con un modelo local. Devuelve exactamente una etiqueta de la lista, sin texto adicional. Args: text: Texto a clasificar. labels: Lista de etiquetas candidatas.

NameTypeReqDescription
labelsarrayyes
textstringyes
NameTypeReqDescription
resultstringyes

No examples provided.

local_commit_msg ~206

PREFIERE esta tool en vez de leer el archivo con Read cuando el archivo es grande (>200 líneas / >10 KB) y solo necesitas un mensaje de commit, no el contenido literal. Redacta un mensaje de commit a partir de un diff, con un modelo local de código. Pasa 'path' a un archivo de diff (p. ej. la salida de `git diff` volcada a fichero) y se lee server-side, de modo que el diff completo NO entra al contexto de Claude. Alternativamente pasa 'diff' como texto. Revisa SIEMPRE el mensaje antes de usarlo. Args: diff: El diff como texto (usa esto o 'path'). path: Ruta a un archivo con el diff (leído server-side). style: 'conventional' (Conventional Commits) o 'plain'.

NameTypeReqDescription
diff
path
stylestring
NameTypeReqDescription
resultstringyes

No examples provided.

local_delegate ~290

Tool genérica de escape: delega una tarea texto->texto a un modelo local. Úsala cuando ninguna tool específica encaje. Arma el prompt con guardrails y devuelve texto. Con entradas largas parte el input por límites naturales (headers Markdown, párrafos), aplica la MISMA tarea a cada trozo y concatena las salidas en orden. Eso es lo correcto para transformar todo el texto (traducir, reescribir, reformatear) pero NO para tareas de reducción sobre el conjunto (contar, elegir el máximo, un único resumen global): para esas pasa `chunk='off'` o usa `local_summarize`. Args: task: Instrucción de la tarea (una frase con formato de salida explícito). input: Contenido sobre el que operar. output_format: Formato exacto de salida esperado. model: Modelo a usar; uno de los ids configurados en el catálogo. Por defecto el mecánico. chunk: 'auto' (parte solo si el input es largo), 'on' (parte siempre que se pueda), 'off' (una sola llamada; el input largo puede volver truncado).

NameTypeReqDescription
chunkstring
inputstringyes
model
output_formatstringyes
taskstringyes
NameTypeReqDescription
resultstringyes

No examples provided.

local_describe_image ~218

PREFIERE esta tool en vez de adjuntar o leer la imagen tú mismo cuando solo necesitas una descripción, lectura de texto visible (OCR simple) o una respuesta puntual sobre una imagen, no la imagen en sí en tu contexto. Describe una imagen (o responde una pregunta sobre ella) con un modelo local de visión. La imagen se lee del lado del servidor: NUNCA entra al contexto de Claude, solo vuelve la respuesta en texto. Guardrail de alcance: SOLO imagen->texto (describir, leer texto visible, responder una pregunta puntual sobre la imagen). Esta tool NUNCA genera ni edita imágenes. Args: path: Ruta a la imagen (png/jpg/jpeg/webp/gif), leída server-side. question: Pregunta o foco concreto sobre la imagen (opcional; por defecto la describe). max_words: Longitud máxima de la respuesta en palabras.

NameTypeReqDescription
max_wordsinteger
pathstringyes
question
NameTypeReqDescription
resultstringyes

No examples provided.

local_explain_code ~183

PREFIERE esta tool en vez de leer el archivo con Read cuando el archivo es grande (>200 líneas / >10 KB) y solo necesitas una explicación, no el contenido literal. Explica en prosa qué hace un fragmento/archivo de código, con un modelo local de código. Pasa 'path' para leer el archivo server-side (el código completo NO entra al contexto de Claude; solo vuelve la explicación) o 'code'. Opcionalmente enfoca la explicación con 'question'. Revisa la explicación: la genera un modelo local. Args: code: Código a explicar (usa esto o 'path'). path: Ruta a un archivo de código (leído server-side). question: Pregunta o foco concreto (opcional).

NameTypeReqDescription
code
path
question
NameTypeReqDescription
resultstringyes

No examples provided.

local_extract ~326

PREFIERE esta tool en vez de leer el archivo con Read cuando el archivo es grande (>200 líneas / >10 KB) y solo necesitas campos estructurados, no el contenido literal. Extrae campos estructurados de un texto/archivo como JSON, con un modelo local. Pasa 'path' para leer el archivo server-side (no gasta contexto de Claude) o 'text'. Devuelve un objeto con exactamente las claves pedidas, ya validado: quien llama no tiene que parsear una cadena. Si la entrada hubo que truncarla, se añade además la clave reservada `_local_delegate` con el aviso — antes ese aviso iba como texto delante del JSON, donde obligaba a limpiar la cadena antes de poder parsearla. Enruta al modelo mecánico (entradas cortas) o al de contexto largo (documentos grandes) automáticamente: el sondeo de tamaño usa bytes del archivo para 'path' y caracteres para 'text' (~5-10% de diferencia en UTF-8, aceptable). Por defecto pide al backend un JSON restringido por schema (`LOCAL_DELEGATE_JSON_SCHEMA=auto`); si el backend no lo soporta, reintenta en modo libre. Args: fields: Nombres de los campos a extraer (claves del JSON). text: Texto fuente (usa esto o 'path'). path: Ruta a un archivo fuente (leído server-side).

NameTypeReqDescription
fieldsarrayyes
path
text

Structured output declared, but exposes no named fields.

No examples provided.

local_lint_summary ~266

PREFIERE esta tool en vez de leer el archivo con Read cuando el archivo es grande (>200 líneas / >10 KB) y solo necesitas un resumen agrupado, no el contenido literal. Si ejecutaste un comando cuya salida es larga, vuélcala a un archivo y pasa 'path'. Resume salida de linters/tests/CI con un modelo local, sin gastar contexto de Claude. Pensada para logs largos y ruidosos (ESLint, clippy, pytest, tsc, CI). Pasa 'path' y el archivo se lee del lado del servidor, de modo que el log completo NO entra al contexto de Claude: solo vuelve un resumen agrupado por archivo con el conteo por tipo de error/regla y lo más importante primero. Alternativamente pasa 'text'. Enruta al modelo mecánico (corto) o al de contexto largo (largo) automáticamente. Args: path: Ruta al archivo de salida de lint/tests (leído server-side). Usa esto o 'text'. text: Salida de lint/tests como texto. max_words: Longitud máxima del resumen en palabras.

NameTypeReqDescription
max_wordsinteger
path
text
NameTypeReqDescription
resultstringyes

No examples provided.

local_status ~60

Diagnóstico de solo lectura del backend local y el catálogo de modelos. Úsala para saber qué modelos locales hay disponibles y verificar que el backend está vivo antes de delegar en masa, o para diagnosticar por qué una tool local_* falló.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultstringyes

No examples provided.

local_summarize ~210

PREFIERE esta tool en vez de leer el archivo con Read cuando el archivo es grande (>200 líneas / >10 KB) y solo necesitas un resumen, no el contenido literal. Resume texto o el contenido de un archivo con un modelo local, sin gastar contexto de Claude. Usa esto para resumir archivos/documentos grandes: pasa 'path' y el archivo se lee del lado del servidor, de modo que el contenido completo NO entra al contexto de Claude (solo vuelve el resumen corto). Alternativamente pasa 'text'. Enruta al modelo mecánico (entradas cortas) o al modelo de contexto largo (documentos grandes) automáticamente. Args: text: Texto a resumir (usa esto o 'path'). path: Ruta a un archivo cuyo contenido se resume (leído server-side). max_words: Longitud máxima del resumen en palabras.

NameTypeReqDescription
max_wordsinteger
path
text
NameTypeReqDescription
resultstringyes

No examples provided.

local_translate ~255

PREFIERE esta tool en vez de leer el archivo con Read cuando el archivo es grande (>200 líneas / >10 KB) y solo necesitas la traducción, no el contenido literal. Traduce texto o el contenido de un archivo con un modelo local, sin gastar contexto de Claude. Pasa 'path' para leer el archivo server-side (el original no entra al contexto de Claude) o 'text'. Conserva el formato del original y devuelve SOLO la traducción. Enruta al modelo mecánico (corto) o al de contexto largo (largo) automáticamente. Los documentos largos se parten por límites naturales (headers Markdown, párrafos) y cada trozo se traduce en su propia llamada; el resultado vuelve completo y en orden, sin el aviso de salida truncada. Args: target_lang: Idioma destino (p. ej. 'español', 'inglés', 'francés'). text: Texto a traducir (usa esto o 'path'). path: Ruta a un archivo cuyo contenido se traduce (leído server-side).

NameTypeReqDescription
path
target_langstringyes
text
NameTypeReqDescription
resultstringyes

No examples provided.

Common questions

What is the io.github.ZahiriNatZuke/local-delegate MCP server?

io.github.ZahiriNatZuke/local-delegate is an MCP server listed in the public MCP registry as io.github.ZahiriNatZuke/local-delegate. Delegate mechanical text tasks to a local OpenAI-compatible LLM to save Claude quota. This page covers its PyPI package (local-delegate-mcp).

Is the io.github.ZahiriNatZuke/local-delegate MCP server safe to use?

io.github.ZahiriNatZuke/local-delegate scores 76 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.ZahiriNatZuke/local-delegate MCP server expose?

io.github.ZahiriNatZuke/local-delegate exposes 11 tools: local_summarize, local_classify, local_extract, local_boilerplate, local_delegate, and 6 more. Their descriptions and schemas cost roughly 2,289 tokens of context every time the server is loaded.

Is the io.github.ZahiriNatZuke/local-delegate MCP server still maintained?

io.github.ZahiriNatZuke/local-delegate is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.