Skip to main content
Glama

llm-chat-mcp

Servidor MCP para interactuar con los modelos LLM configurados en el config.yaml de Continue.dev.

Qué hace

Expone 4 herramientas que permiten al agente inspeccionar tus modelos configurados y enviarles solicitudes de chat:

  • llm_chat_list_models — lista todos los modelos de tu configuración con sus nombres e ids

  • llm_chat_get_model_params — inspecciona los parámetros (temperature, topP, etc.) de cualquier modelo

  • llm_chat_get_model_prompt — lee el prompt de sistema configurado para un modelo

  • llm_chat_send_request — chatea con un modelo, opcionalmente sobrescribiendo parámetros o cargando prompts desde archivos

Instalación

pip install -e .

O ejecútalo directamente desde el código fuente sin instalación.

Uso desde CLI

python -m llm_chat_mcp --default-model "GLM-5.2-FP8"
python -m llm_chat_mcp --config /path/to/config.yaml --default-model "ModelName"
python -m llm_chat_mcp --help

Argumento

Descripción

Por defecto

--config PATH

Ruta al config.yaml

~/.continue/config.yaml

--default-model NAME

Modelo por defecto para send_request

(ninguno)

--timeout SECONDS

Tiempo de espera de la solicitud en segundos

19

--relative_paths_base PATH

Directorio base para resolver rutas de archivos de salida relativas

(cwd del proceso)

--auto-output-dir PATH

Directorio para archivos de salida generados automáticamente cuando la respuesta supera auto_file_threshold y no se establece output_file_path

(directorio temporal del SO)

Configuración

  • La configuración se vuelve a leer en cada solicitud — no se necesita reiniciar

  • La autenticación usa apiKey de cada entrada de modelo en config.yaml

  • Si no se especifica ningún modelo (ni en CLI ni en la llamada a la herramienta), un error te indica cómo configurarlo

Parámetros de llm_chat_send_request

La herramienta principal. Envía una solicitud de chat completion a un LLM y devuelve la respuesta.

Parámetros de entrada

Parámetro

Tipo

Por defecto

Descripción

model_selector

str

(por defecto CLI)

Nombre o id del modelo de config.yaml

prompt_text

str

(ninguno)

Texto del prompt a enviar

prompt_files

list

(ninguno)

Lista de especificaciones de archivo (ruta de cadena o dict {path, start_line, end_line})

include_line_numbers

bool

true

Prefija cada línea del archivo con N:

system_prompt

str

(de config)

Sobrescribe el mensaje de sistema; "" lo suprime por completo

temperature, topP, topK, minP

float

(de config)

Parámetros de muestreo

maxTokens, presencePenalty, frequencyPenalty

int/float

(de config)

Parámetros de generación

extraParams

dict

(ninguno)

Propiedades extra del cuerpo que se fusionan en la solicitud API

details

bool

false

Incluye contenido de razonamiento/pensamiento en la respuesta

timeout

float

(por defecto CLI)

Sobrescritura del tiempo de espera por solicitud

output_file_path

str

(ninguno)

Escribe la respuesta completa en este archivo (las rutas relativas se resuelven contra --relative_paths_base)

append

bool

false

Añade a output_file_path en lugar de sobrescribir; devuelve appended_line_start/appended_line_end

inline_preview_chars

int

500

Máximo de caracteres del contenido devuelto en línea; la vista previa solo se aplica cuando se escribe un archivo

auto_file_threshold

int

8000

Escribe automáticamente la respuesta en un archivo cuando response_chars supera este valor y no se establece output_file_path; 0 lo desactiva

Estructura de la respuesta

Siempre se devuelve como JSON:

{
  "content": "<preview, full content, or empty>",
  "truncated": true,
  "metadata": {
    "model_name": "...",
    "model": "...",
    "elapsed_seconds": 1.23,
    "request_sent": {...},
    "response_headers": {...},
    "response_chars": 1234,
    "output_file": "...",
    "auto_output_file": "...",
    "created_dirs": [...],
    "appended_line_start": 201,
    "appended_line_end": 250
  }
}

Estrategia de salida

La herramienta elige una de tres estrategias según los parámetros y el tamaño de la respuesta:

  1. Archivo explícito (output_file_path establecido): la respuesta completa se escribe en el archivo. Si append=true, la respuesta se añade y se devuelven appended_line_start/appended_line_end (basados en 1, inclusivos) para que el llamador pueda leer solo el fragmento añadido mediante extract_lines.

  2. Archivo automático (sin output_file_path, auto_file_threshold > 0, response_chars > umbral): la respuesta completa se escribe en un archivo generado automáticamente en --auto-output-dir (o en el directorio temporal del SO). Formato del nombre: llm_output_<YYYYMMDD_HHMMSS>_<uuid-de-6-caracteres>.json.

  3. Solo en línea (sin archivo escrito): el contenido completo se devuelve en el campo content.

Vista previa en línea

Cuando se escribe un archivo (explícito o automático), el campo content contiene una vista previa de la respuesta:

  • Si inline_preview_chars > 0 y len(content) > inline_preview_chars: vista previa truncada con el sufijo [truncated, full response in <file_path>].

  • Si inline_preview_chars > 0 y len(content) <= inline_preview_chars: contenido completo (cabe en la vista previa).

  • Si inline_preview_chars == 0: content vacío (el archivo tiene la respuesta completa).

Cuando no se escribe ningún archivo, el contenido completo se devuelve en línea independientemente de inline_preview_chars — esto evita la pérdida de datos.

Integración con Continue.dev

Añade a .continue/mcpServers/llm-chat.yaml:

name: LLM Chat MCP server
version: 0.2.0
schema: v1
mcpServers:
  - name: LLM Chat MCP server
    command: python
    args:
      - "-m"
      - "llm_chat_mcp"
      - "--default-model"
      - "GLM-5.2-FP8"
      - "--timeout"
      - "570"
      - "--relative_paths_base"
      - "/path/to/your/workspace"
      - "--auto-output-dir"
      - "/path/to/your/workspace/.continue/skills/large-tasks/tmp-outputs"
    env:
      PYTHONPATH: "/path/to/llm-chat-mcp"

Luego recarga Continue.dev.

Estructura del proyecto

llm-chat-mcp/
├── pyproject.toml          # Dependencies: mcp, pyyaml, httpx
├── README.md               # This file
├── llm_chat_mcp/
│   ├── __init__.py
│   ├── __main__.py         # CLI entry point + tool registration
│   ├── config.py           # Config loading, model resolution
│   └── api.py              # API client, error handling
└── tests/
    └── test_output_strategies.py  # Tests for append, inline_preview, auto_file

Pruebas

python tests/test_output_strategies.py

Las pruebas simulan la llamada a la API y verifican la lógica de escritura de archivos y ensamblaje de respuestas. Cubren todas las combinaciones de output_file_path, append, inline_preview_chars y auto_file_threshold.

-
license - not tested
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • LLM chat, text summarization and AI image generation

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

  • Gateway between LLM agents and world data through eight tools and a bundled endpoint catalog.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nikolay-martynov/mcp-llm-chat'

If you have feedback or need assistance with the MCP directory API, please join our Discord server