Skip to main content
Glama

llm-chat-mcp

MCP-сервер для взаимодействия с LLM-моделями, настроенными в config.yaml из Continue.dev.

Что он делает

Предоставляет 4 инструмента, которые позволяют агенту просматривать настроенные модели и отправлять им чат-запросы:

  • llm_chat_list_models — список всех моделей в вашем конфиге с их именами и id

  • llm_chat_get_model_params — просмотр параметров (temperature, topP и т.д.) для любой модели

  • llm_chat_get_model_prompt — чтение системного промпта, настроенного для модели

  • llm_chat_send_request — чат с моделью, с возможностью переопределения параметров или загрузки промптов из файлов

Установка

pip install -e .

Или запуск напрямую из исходников без установки.

Использование 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

Аргумент

Описание

По умолчанию

--config PATH

Путь к config.yaml

~/.continue/config.yaml

--default-model NAME

Модель по умолчанию для send_request

(нет)

--timeout SECONDS

Таймаут запроса в секундах

19

--relative_paths_base PATH

Базовая директория для разрешения относительных путей выходных файлов

(текущая рабочая папка)

--auto-output-dir PATH

Директория для автоматически создаваемых выходных файлов, когда ответ превышает auto_file_threshold и не задан output_file_path

(системная временная папка)

Конфигурация

  • Конфиг перечитывается при каждом запросе — перезапуск не требуется

  • Аутентификация использует apiKey из каждой записи модели в config.yaml

  • Если модель не указана (ни в CLI, ни в вызове инструмента), ошибка подскажет, как её задать

Параметры llm_chat_send_request

Основной инструмент. Отправляет запрос на завершение чата к LLM и возвращает ответ.

Входные параметры

Параметр

Тип

По умолчанию

Описание

model_selector

str

(по умолчанию из CLI)

Имя или id модели из config.yaml

prompt_text

str

(нет)

Текст промпта для отправки

prompt_files

list

(нет)

Список спецификаций файлов (строка пути или словарь {path, start_line, end_line})

include_line_numbers

bool

true

Добавлять префикс N: к каждой строке файла

system_prompt

str

(из конфига)

Переопределить системное сообщение; "" полностью отключает его

temperature, topP, topK, minP

float

(из конфига)

Параметры сэмплирования

maxTokens, presencePenalty, frequencyPenalty

int/float

(из конфига)

Параметры генерации

extraParams

dict

(нет)

Дополнительные свойства тела запроса, объединяемые с API-запросом

details

bool

false

Включать содержимое рассуждений/мышления в ответ

timeout

float

(по умолчанию из CLI)

Переопределение таймаута для конкретного запроса

output_file_path

str

(нет)

Записать полный ответ в этот файл (относительные пути разрешаются относительно --relative_paths_base)

append

bool

false

Дописывать в output_file_path вместо перезаписи; возвращает appended_line_start/appended_line_end

inline_preview_chars

int

500

Максимальное количество символов содержимого, возвращаемого инлайн; предпросмотр применяется только при записи в файл

auto_file_threshold

int

8000

Автоматически записывать ответ в файл, когда response_chars превышает это значение и не задан output_file_path; 0 отключает

Структура ответа

Всегда возвращается в формате 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
  }
}

Стратегия вывода

Инструмент выбирает одну из трёх стратегий в зависимости от параметров и размера ответа:

  1. Явный файл (output_file_path задан): полный ответ записывается в файл. Если append=true, ответ дописывается, и возвращаются appended_line_start/appended_line_end (с 1, включительно), чтобы вызывающий код мог прочитать только добавленный фрагмент через extract_lines.

  2. Автоматический файл (нет output_file_path, auto_file_threshold > 0, response_chars > threshold): полный ответ записывается в автоматически созданный файл в --auto-output-dir (или в системную временную папку). Формат имени: llm_output_<YYYYMMDD_HHMMSS>_<6-char-uuid>.json.

  3. Только инлайн (файл не записывается): полное содержимое возвращается в поле content.

Инлайн-предпросмотр

Когда файл записывается (явный или автоматический), поле content содержит предпросмотр ответа:

  • Если inline_preview_chars > 0 и len(content) > inline_preview_chars: усечённый предпросмотр с суффиксом [truncated, full response in <file_path>].

  • Если inline_preview_chars > 0 и len(content) <= inline_preview_chars: полное содержимое (помещается в предпросмотр).

  • Если inline_preview_chars == 0: пустое content (в файле полный ответ).

Когда файл не записывается, полное содержимое возвращается инлайн независимо от inline_preview_chars — это предотвращает потерю данных.

Интеграция с Continue.dev

Добавьте в .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"

Затем перезагрузите Continue.dev.

Структура проекта

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

Тестирование

python tests/test_output_strategies.py

Тесты имитируют вызов API и проверяют логику записи файлов и сборки ответа. Покрывают все комбинации output_file_path, append, inline_preview_chars и 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