Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LLAMASWAP_EXENoPath to llama-swap executable (only if AUTOSTART=1)
LLAMASWAP_CONFIGNoPath to llama-swap config file (only if AUTOSTART=1)
LLAMASWAP_LISTENNoAddress to listen for llama-swap (only if AUTOSTART=1)
LOCAL_DELEGATE_LOGNoPath to usage.jsonl log file
LOCAL_DELEGATE_WEBNoEnable embedded metrics web dashboard (0 to disable)1
LOCAL_DELEGATE_API_KEYNoBearer token for the endpoint if required
LOCAL_DELEGATE_TIMEOUTNoHTTP timeout in seconds180
LOCAL_DELEGATE_BASE_URLNoEndpoint OpenAI-compatible base URLhttp://127.0.0.1:9292/v1
LOCAL_DELEGATE_WEB_HOSTNoWeb dashboard host127.0.0.1
LOCAL_DELEGATE_WEB_PORTNoWeb dashboard port9393
LOCAL_DELEGATE_AUTOSTARTNoAuto-start llama-swap (opt-in)0
LOCAL_DELEGATE_MODEL_CODENoModel for codeqwen25-coder-14b
LOCAL_DELEGATE_MODEL_FASTNoUltra-fast model for trivial tasksqwen35-2b
LOCAL_DELEGATE_MODEL_LONGNoModel for long documentsllama31-8b
LOCAL_DELEGATE_LONG_INPUT_CHARSNoThreshold in characters to switch to long model6000
LOCAL_DELEGATE_MODEL_MECHANICALNoModel for classify/extract/short summariesgemma3-4b

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
local_summarizeA

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.
    focus: Opcional. Qué te interesa del documento (p. ej. "cifras de configuración",
        "riesgos"): el resumen lo prioriza y conserva literales sus datos concretos.
local_classifyA

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.
local_extractA

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).
local_boilerplateA

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.
local_delegateA

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).
local_lint_summaryA

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.
local_commit_msgA

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'.
local_translateA

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).
local_explain_codeA

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).
local_describe_imageA

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.
local_statusA

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ó.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 11 tools

Disambiguation3/5

Most tools are clearly distinct (classify, summarize, extract, boilerplate, commit_msg, translate, explain_code, describe_image, status), but local_delegate is a generic escape that overlaps with all others, and local_summarize vs local_lint_summary both summarize with grouping/counts, though their input domains differ. The overlap is acknowledged but could still cause selection ambiguity.

Naming Consistency4/5

All tools follow a consistent 'local_' prefix with a clear verb_noun pattern (classify, summarize, extract, boilerplate, delegate, lint_summary, commit_msg, translate, explain_code, describe_image, status). Minor inconsistency: local_lint_summary and local_commit_msg are noun-first rather than verb-first, but the pattern is otherwise consistent.

Tool Count4/5

11 tools is within the ideal 3-15 range and each tool serves a distinct purpose, though the generic local_delegate could arguably be merged or removed since it duplicates the others. The count is reasonable for a local model delegation server.

Completeness4/5

The server covers a broad range of local model tasks (text classification, summarization, extraction, code generation, lint summary, commit messages, translation, code explanation, image description) with a generic fallback. Minor gaps: no tool for local model chat or text generation beyond transformation tasks, and no tool for editing/generation of images (explicitly out of scope). Overall, the surface is well-suited to its purpose.

Maintenance

ActivityActive
ResponsivenessNo issues