Разработчик Simon Willison представил первую альфа-версию llm-mcp-client (версия 0.1a0). Этот инструмент решает критическую задачу интеграции: он позволяет локальным и облачным Large Language Models (LLM) обращаться к внешним ресурсам через стандарт Model Context Protocol (MCP). Ранее работа с MCP требовала сложных обвязок, теперь же инструменты серверов становятся доступными как обычные функции (tools) внутри контекста модели.
01Что такое MCP и зачем это нужно
Model Context Protocol (MCP) — это открытый стандарт, который позволяет LLM безопасно взаимодействовать с внешними данными и инструментами. Вместо того чтобы модель «гадала», как получить данные из базы или API, MCP предоставляет унифицированный интерфейс. Выпуск llm-mcp-client делает этот протокол доступным через популярный CLI-интерфейс llm, что упрощает жизнь системным администраторам и разработчикам, работающим с локальным железом.
02Установка и требования
Для работы необходим установленный Python (версии 3.9+) и сам пакет llm. Установка производится через стандартный менеджер пакетов pip. Библиотека автоматически подхватит зависимости, необходимые для работы с асинхронными вызовами к MCP-серверам.
Команда установки:
pip install llm-mcp-clientПосле установки пакет становится доступным в системе. Проверка версии подтверждает успешную установку:
llm pluginsВ списке плагинов должен появиться mcp-client. Это означает, что интерфейс готов к конфигурации.
03Конфигурация MCP-серверов
Ключевой момент работы — настройка подключения к конкретным MCP-серверам. Серверы могут работать как локальные процессы (stdio), так и через HTTP. Конфигурация хранится в файле ~/.llm/mcp.json (или аналогичном, в зависимости от настроек окружения).
Пример конфигурации для локального сервера, который предоставляет доступ к файловой системе:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/path/to/allowed/directory"
]
}
}
}Здесь command указывает на исполняемый файл, а args — на аргументы запуска. Для серверов, работающих по HTTP, конфигурация будет выглядеть иначе, с указанием URL и, возможно, токенов авторизации.
04Использование в запросах к LLM
После настройки серверов вы можете использовать их в запросах к любой поддерживаемой модели (OpenAI, Anthropic, локальные модели через Ollama и др.). Инструменты автоматически передаются в контекст запроса.
Пример использования через CLI:
llm "Какие файлы находятся в директории /var/log?" --mcpФлаг --mcp (или автоматическое определение, в зависимости от версии) указывает интерфейсу использовать подключенные MCP-серверы. Модель получит описание доступных инструментов, выберет нужный и вернет результат.
Для программистов, использующих Python API, пример выглядит так:
import llm
model = llm.get_model("gpt-4o")
response = model.prompt("Найди ошибки в логах", mcp=True)
print(response.text())05Совместимость и ограничения
На данный момент библиотека поддерживает базовые типы инструментов MCP. Сложные типы данных или специфические протоколы передачи могут требовать дополнительной настройки. Производительность зависит от скорости ответа MCP-сервера, так как каждый вызов инструмента добавляет задержку к общему времени генерации.
| Параметр | Значение для 0.1a0 |
|---|---|
| Поддержка stdio | Да |
| Поддержка HTTP | Да (базовая) |
| Кэширование ответов | Отсутствует |
| Логирование | Базовое (stdout) |
06Кому подойдёт / что запустится
Кому подойдёт: Разработчикам, использующим LLM для автоматизации рутинных задач (анализ логов, работа с Git, запросы к базам данных). Особенно актуально для тех, кто уже использует llm как основной интерфейс для работы с моделями.
Что запустится: Любая модель, поддерживаемая пакетом llm (GPT-4o, Claude, Llama 3, Mistral и др.), при наличии настроенного MCP-сервера. Локальные модели требуют достаточного объема VRAM (от 8 ГБ для 7B-моделей) и стабильного CPU для обработки контекста с инструментами.
Для пользователей из РФ: установка через pip может требовать использования зеркал или прокси из-за ограничений доступа к PyPI. Локальные MCP-серверы (например, на базе Node.js) требуют наличия npm и npx, которые также могут быть недоступны без прокси. Рекомендуется использовать локальные репозитории пакетов.
Источник: Simon Willison ↗
