Подключение LM Studio к серверам MCP для файлов, GitHub и браузера.
Пошаговые конфигурации mcp.json, позволяющие локальной модели использовать файловую систему, инструменты GitHub OAuth и Playwright, включая выбор моделей и решения для распространенных ошибок.
Источники: Connect LM Studio to MCP Servers: Filesystem, GitHub, and Browser Control (3 Working Configs)
Модели, которые работают полностью на вашем собственном устройстве, теперь могут использовать реальные инструменты, а не просто говорить о них. Раньше подключение локальной модели к таким сервисам, как GitHub, означало необходимость вручную создания личного токена доступа и надежды на то, что он окажется в правильном поле JSON. Большинство этих сложностей исчезло. LM Studio может быть подключен к трём серверам MCP — для работы с файловой системой, GitHub и управления браузером, причем для каждого предусмотрена рабочая конфигурация.
Что необходимо подготовить
Прежде чем изменять файл mcp.json, необходимо подготовить несколько вещей.
LM Studio 0.4.10 или новее. Именно в этой версии была добавлена поддержка OAuth для серверов MCP, и она полностью совместима с версией 0.3.17, когда LM Studio впервые стал хостом MCP. Обновления выходят часто — в последнее время по несколько версий в месяц, поэтому самым простым решением будет использование текущей версии.
Модель, способная выполнять вызовы инструментов. Не каждая локальная модель делает это надежно. Для GPU с 20 ГБ видеопамяти существует три хороших варианта:
- Qwen3-Coder-30B-A3B-Instruct имеет 30 млрд общих параметров, но из-за архитектуры MoE только около 3,3 млрд активных параметров на токен. В режиме 4 бита она требует примерно 17–20 ГБ памяти и обеспечивает окно контекста в 262 тыс. токенов.
- gpt-oss-20b занимает меньше места — около 14 ГБ — и работает заметно быстрее, что полезно, когда карта используется совместно с другими приложениями.
- Qwen3.5-9B — самая легкая модель из этой серии: это компактная 9B-модель, требующая примерно 6 ГБ памяти в 4-битном формате, поэтому у карт среднего класса достаточно ресурсов для её работы. Она использует тот же объем нативного контекста в 262 тыс. элементов, что и модель Coder, выполняет вызовы инструментов нативно с приемлемым результатом по шкале BFCL-V4, и именно она отображена на скриншотах. Это хороший выбор в случае, если неясно, сможет ли карта обработать более сложные модели.
Базовые модели без настройки для инструкций или чатов в основном не смогут генерировать структурированные вызовы инструментов. Если в описании модели не упоминается использование инструментов или вызовы функций, лучше выбрать вариант с поддержкой инструкций.
Node.js 18 или новее. И сервер файловой системы, и сервер управления браузером запускаются с помощью npx. Сначала проверьте версию:
node --version
Подойдёт любая версия, начинающаяся с v18 или новее. Если команда не найдена, значит Node не установлен, и npx тоже не существует. Ещё одна быстрая проверка касается самого npx:
npx --version
Он поставляется вместе с Node, поэтому практически всегда проходит проверку, если первая прошла успешно, но это простой тест на корректность перед тем, как полагаться на него для настроек файловой системы и браузера.
Ничто из этого не подтверждает версию самого LM Studio. Эту информацию отображает полоса заголовка в верхней части приложения, и там должно быть указано 0.4.10 или новее.
На приведённом выше скриншоте видно, что при установке в полосе заголовка отображается версия 0.4.23, что соответствовало текущей версии в момент съёмки.
Открытие файла конфигурации
Откройте вкладку Integrations в правой панели LM Studio, нажмите Install, затем Edit mcp.json. Именно здесь находится редактор, в котором указывается каждый сервер.
Конфигурация 1: файловая система
Благодаря этой функции определение содержимого папки больше не требует ручного копирования и вставки, а становится простым запросом. Официальный сервер файловой системы позволяет модели читать, записывать, искать и перечислять каталоги, но только в пределах указанных вами путей.
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/you/projects"
]
}
}
}
Замените /Users/you/projects на папку, которую должен исследовать модель. Можно добавить ещё несколько путей. Всё, что находится вне этих путей, скрыто от модели, и именно в этом заключается смысл ограничения. Для настройки записи важны два элемента:
commandиargsозначают запуск командыnpx -y @modelcontextprotocol/server-filesystemс указанием разрешённой директории; LM Studio управляет этим подпроцессом.- Аргумент
allowed-directoryопределяет полные границы того, до чего может дотянуться модель. Если проект расположен в нескольких папках, их можно указать по очереди.
После сохранения LM Studio обнаруживает новую запись. Загрузите модель, поддерживающую вызовы инструментов (например, Qwen 3.5 9B), начните новый чат и включите mcp/filesystem в боковой панели.
Хорошим первым тестом будет запрос на поиск файла TODO.md в папке проектов и краткое описание оставшейся работы. Модель сама выполняет функции list_directory и read_file. Перед каждым вызовом LM Studio отображает диалоговое окно с подтверждением, и стоит внимательно читать его сообщения, поскольку локальная модель с правами записи на диск не должна работать без присмотра.
Конфигурация 2: GitHub
Для этой конфигурации требуется LM Studio 0.4.10 или новее. В удаленном конце MCP GitHub отсутствует функция динамической регистрации клиента, с помощью которой клиент обычно сам регистрируется для OAuth. В результате приходится вручную создавать приложение OAuth. В этом отношении LM Studio не является исключением — VS Code и Copilot CLI от GitHub сталкиваются с той же ограничением. Настройка занимает примерно две минуты:
- Откройте страницу github.com/settings/developers, выберите OAuth Apps и нажмите New OAuth App.
- Укажите любое название и URL домашней страницы, поскольку они здесь не имеют значения. Установите Redirect URI именно на значение
http://127.0.0.1:33389/mcp-oauth-callback. - Нажмите Register application, а затем на следующей странице — generate a new client secret. Сохраните Client ID и секрет в надежном месте, поскольку секрет отображается только один раз.
Имея оба значения, конфигурация будет выглядеть следующим образом:
{
"mcpServers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/",
"auth": {
"CLIENT_ID": "<your Client ID>",
"CLIENT_SECRET": "<your client secret>"
}
}
}
}
Сохраните файл, включите сервер, затем нажмите Authenticate, после чего — Trust, and Open in Browser. Откроется окно браузера на странице OAuth GitHub. После предоставления доступа с помощью кнопки Authorize <username> в нижней части страницы токен сохраняется так же, как и для любого другого сервера, основанного на OAuth.
На странице согласия GitHub предусмотрены только опции «одобрить» или «отклонить», без возможности выбора диапазона полномочий. Более тонкий контроль реализован внутри LM Studio. Откройте панель Integrations и найдите список инструментов, принадлежащих серверу mcp/github. Каждый из представленных инструментов указан отдельно: среди них create_pull_request, delete_file, push_files и merge_pull_request, а также десятки других; у каждого есть галочка и переключатель «Ask» или «Allow».
Этот список требует внимания. Отметьте галочкой только те опции, с которыми модель не должна взаимодействовать; delete_file и push_files являются очевидными кандидатами в первую очередь, если цель заключается исключительно в чтении и создании краткого резюме.
На последнем скриншоте этой группы функция get_me была вызвана один раз, а search_repositories — два раза для работы с активными репозиториями GitHub с правильной фильтрацией по датам создания и обновления. Инструменты с правом только на чтение и собственные репозитории модели остались отмеченными галочкой, тогда как разрушительные инструменты, такие как delete_file и push_files, — нет.
Конфигурация 3: управление браузером
Эта конфигурация предоставляет локальной модели возможность просматривать активную веб-страницу вместо того, чтобы опираться на данные обучения. Сервер Playwright MCP запускает настоящий браузер и предоставляет структурированный контент страницы вместо скриншотов, что позволяет даже небольшой локальной модели надежно навигировать по странице и извлекать текст.
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest",
"--headless"
]
}
}
}
Есть два момента, которые стоит знать перед вставкой кода. По умолчанию сервер открывает видимое окно браузера в режиме с отображением интерфейса, а флаг --headless в настройках отключает эту функцию. На устройстве с дисплеем отсутствие этого флага позволяет в реальном времени наблюдать за действиями модели, что удобно, когда возникают проблемы с селекторами. Здесь также требуется Node 18 или новее, как и в случае с Настройкой 1; при первом запуске может появиться предложение скачать бинарники браузера с помощью команды npx playwright install, если они отсутствуют.
Простым тестом будет запрос к модели открыть главную страницу Hacker News и подвести итоги пяти самых популярных новостей. Сначала выполняется команда browser_navigate, затем считывается дерево доступности страницы для извлечения заголовков и ссылок, причем в процессе не используются ни модели распознавания изображений, ни парсинг скриншотов.
Автоматизация браузера, преднамеренно противостоящая сбору информации о пользователе, для исследований или работы в стиле OSINT — это совершенно другая задача. Серверы на основе Camoufox, такие как Camofox-MCP, решают эту проблему. Данная конфигурация является универсальной базовой версией.
Устранение неполадок
Вот наиболее вероятные проблемы, примерно от самых частых к менее частым.
Модель никогда не выполняет вызовы инструментов. Обычная причина — загрузка базовой или модели для завершения предложений вместо модели, настроенной для выполнения команд или общения. Прочитайте описание модели: если там не упоминается использование инструментов или вызов функций, замените её. Qwen 3.5 9B — хороший вариант для локального использования с возможностью вызова инструментов.
Сервер не появляется в боковой панели чата после изменения файла mcp.json. Сначала перезагрузите список серверов из вкладки «Программы», а если это не поможет, полностью перезапустите LM Studio. Файлы, изменённые непосредственно на диске, а не в встроенном редакторе приложения, чаще требуют такого перезапуска.
Некорректный JSON-формат вызова инструментов или ошибочные аргументы. Снизьте значение параметра sampling temperature, поскольку вызов инструментов относится к тем немногим задачам, где высокий уровень креативности негативно сказывается на работе. Также убедитесь, что длина контекста составляет не менее 4096 токенов. Схемы инструментов быстро потребляют контекст, особенно большой набор инструментов GitHub, и узкий диапазон значений — это распространённая скрытая причина неполных вызовов.
Результат
Результатом являются три сервера, отсутствие API-запросов, а также локальная модель, способная читать файловую систему, работать с реальным репозиторием GitHub и управлять браузером в реальном времени; каждый запрос проверяется и утверждается в диалоговых окнах подтверждения LM Studio, при этом ни один из процессов не работает без надзора.
Сам по себе это полезный локальный агент, который служит основой для полностью автономного рабочего процесса. Логичным следующим шагом является объединение трех серверов в один цикл агента вместо управления каждым из них с помощью отдельных команд.
Документация
В документации LM Studio по использованию серверов MCP и их интеграции с OAuth определены форматы command, args, url и auth, которые применяются во всех случаях. Репозиторий сервера MCP на GitHub и документация по настройке от GitHub описывают Config 2, официальный файловый сервер modelcontextprotocol — Config 1, а репозиторий microsoft/playwright-mcp документирует поведение по умолчанию с указанием заголовка и флаги для Config 3.