Skip to main content
Glama

LM Studio Web Search MCP Server

Локальный MCP-сервер (Model Context Protocol), который добавляет в LM Studio поиск в интернете через DuckDuckGo, поиск изображений, поиск и воспроизведение видео YouTube, а также поиск и воспроизведение IPTV-каналов.

Что он делает

  • Предоставляет семь MCP-инструментов:

    • web_search: текстовый поиск с заголовком, URL и фрагментом

    • image_search: поиск изображений с прямыми URL изображений и URL миниатюр

    • video_search: поиск видео YouTube с миниатюрами, длительностью, автором и количеством просмотров

    • open_video_in_browser: открывает видео YouTube в браузере по умолчанию

    • play_video_in_mpv: воспроизводит видео YouTube в десктопном плеере mpv

    • iptv_search: ищет общедоступные IPTV-каналы из iptv-org/iptv

    • play_iptv_in_mpv: воспроизводит IPTV-поток в mpv

  • Не требуется API-ключ

  • Работает полностью на вашем Mac

Related MCP server: Universal MCP Server

Файлы

File

Назначение

server.py

Реализация MCP-сервера

run.sh

Обёрточный скрипт, который активирует venv и запускает сервер

requirements.txt

Зависимости Python

test_mcp.py

Скрипт ручного тестирования

mcp.json.example

Пример конфигурации LM Studio

Инструменты

Текстовый поиск через DuckDuckGo.

  • Аргументы:

    • query (строка, обязательно): поисковые запросы

    • max_results (целое число, 1-10, по умолчанию 5)

Поиск изображений через DuckDuckGo.

  • Аргументы:

    • query (строка, обязательно): поисковые запросы

    • max_results (целое число, 1-10, по умолчанию 5)

  • Возвращает: результаты поиска изображений в формате markdown. Каждый результат включает markdown-тег изображения ![title](image_url) плюс URL исходной страницы.

Этот формат даёт LM Studio наилучшие шансы отобразить изображение прямо в окне чата. Если LM Studio не отображает его встроенно, вы можете нажать на URL изображения, чтобы просмотреть его в браузере.

Поиск видео YouTube через yt-dlp.

:

  • Аргументы:

    • query (строка, обязательно): поисковые запросы

    • max_results (целое число, 1-10, по умолчанию 5)

    • format (строка, по умолчанию "markdown"): "markdown" возвращает явные изображения ![title](thumbnail) плюс кликабельные ссылки YouTube; "plain" возвращает простые текстовые ссылки; "image" возвращает только чистые URL миниатюр.

  • Возвращает: по умолчанию markdown с миниатюрой YouTube и кликабельной ссылкой Watch:. Это даёт вам наилучшие шансы увидеть изображение-превью и рабочий URL видео в LM Studio.

Спрашивайте модель, например:

Найди мне видео на YouTube о выпечке хлеба на закваске.

Или, чтобы открыть видео после его поиска:

Открой первое видео в моём браузере.

open_video_in_browser

Открывает URL YouTube в вашем браузере по умолчанию.

  • Аргументы:

    • url (строка, обязательно): URL YouTube для открытия

  • Возвращает: JSON-статус, подтверждающий, что URL был открыт, или сообщение об ошибке.

  • Для безопасности разрешает только URL youtube.com, www.youtube.com, youtu.be и m.youtube.com.

play_video_in_mpv

Воспроизводит URL YouTube в mpv, бесплатном десктопном видеоплеере.

  • Аргументы:

    • url (строка, обязательно): URL YouTube для воспроизведения

    • size (строка, по умолчанию "large"): "default", "large" (1280x720), "fullscreen" или произвольная геометрия, например "800x600" или "50%"

  • Возвращает: JSON-статус, подтверждающий запуск mpv, или сообщение об ошибке.

  • Разрешает только URL YouTube.

  • Использует yt-dlp с форматом bestvideo*+bestaudio/best, чтобы видео YouTube воспроизводилось в максимально доступном качестве.

  • Требования: mpv должен быть установлен и доступен в вашем PATH. yt-dlp уже установлен этим проектом, и mpv будет использовать его автоматически.

Установка mpv на macOS:

brew install mpv

Используйте его из LM Studio:

Воспроизведи первое видео в mpv.

Или с определённым размером:

Воспроизведи первое видео в mpv в полноэкранном режиме.

mpv откроется в собственном окне и начнёт воспроизводить видео YouTube.

Ищет общедоступные IPTV-каналы из iptv-org/iptv.

  • Аргументы:

    • query (строка, обязательно): поисковые запросы, сопоставляются с названием канала и категорией (group-title)

    • max_results (целое число, 1-30, по умолчанию 10)

  • Возвращает: результаты в markdown с названием канала, категорией, логотипом, ID и кликабельным URL потока.

  • Результаты загружаются с https://iptv-org.github.io/iptv/index.m3u.

Спрашивайте модель, например:

Найди сингапурские новостные каналы на IPTV.

play_iptv_in_mpv

Воспроизводит URL IPTV-потока в mpv.

  • Аргументы:

    • url (строка, обязательно): URL потока .m3u8 для воспроизведения

    • size (строка, по умолчанию "large"): "default", "large" (1280x720), "fullscreen" или произвольная геометрия, например "800x600" или "50%"

  • Возвращает: JSON-статус, подтверждающий запуск mpv, или сообщение об ошибке.

  • Требования: mpv должен быть установлен.

Используйте его из LM Studio:

Воспроизведи первый IPTV-канал в mpv.

Быстрый старт

  1. Установите зависимости (уже сделано, если вы читаете это после настройки):

    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
  2. Протестируйте сервер:

    source venv/bin/activate
    python test_mcp.py

    Или используйте официальный смоук-тест MCP-клиента (он использовался во время настройки):

    source venv/bin/activate
    python -c "
    from mcp import ClientSession, StdioServerParameters, stdio_client
    import anyio
    params = StdioServerParameters(command='bash', args=['./run.sh'])
    async def main():
        async with stdio_client(params) as (read, write):
            async with ClientSession(read, write) as session:
                await session.initialize()
                print([t.name for t in (await session.list_tools()).tools])
                print((await session.call_tool('web_search', arguments={'query': 'today news', 'max_results': 2})).content[0].text[:500])
    anyio.run(main)
    "

Настройка LM Studio

LM Studio 0.4.0+ поддерживает MCP-серверы. Вы можете добавить этот сервер через встроенный редактор MCP или напрямую отредактировав mcp.json.

В приложении (рекомендуется)

  1. Откройте LM Studio

  2. Перейдите в НастройкиMCP-серверы

  3. Нажмите Добавить сервер

  4. Заполните:

    • Имя: lmstudio-websearch

    • Транспорт: stdio

    • Команда: bash

    • Аргументы: /ABSOLUTE/PATH/TO/lmstudio-websearch/run.sh

  5. Сохраните и включите сервер

Ручная настройка mcp.json

Расположение mcp.json LM Studio на macOS:

~/Library/Application Support/LM Studio/mcp.json

Добавьте эту запись (создайте файл, если его нет):

{
  "mcpServers": {
    "lmstudio-websearch": {
      "command": "bash",
      "args": [
        "/ABSOLUTE/PATH/TO/lmstudio-websearch/run.sh"
      ]
    }
  }
}

Включение настройки

Убедитесь, что эта настройка включена в LM Studio:

  • НастройкиПараметры сервераРазрешить вызов серверов из mcp.json

Использование в чате

  1. Загрузите модель с поддержкой инструментов. Qwen 3.8 27B имеет встроенную поддержку использования инструментов в LM Studio.

  2. Начните новый чат.

  3. Задайте вопрос, требующий актуальной информации, например:

    Какие сегодня самые свежие заголовки новостей?

  4. LM Studio должен вызвать инструмент web_search, получить результаты и ответить на их основе.

Устранение неполадок

Сервер не отображается в LM Studio

  • Убедитесь, что путь в run.sh абсолютный и файл исполняемый (chmod +x run.sh).

  • Перезапустите LM Studio после добавления сервера.

  • Проверьте журналы LM Studio через РазработчикЖурналы.

Модель не вызывает инструмент

  • Используйте модель с встроенной поддержкой инструментов (Qwen, Llama 3.1/3.2, Mistral).

  • Убедитесь, что Инструменты включены для чата (правая панель).

  • Попробуйте явно попросить модель поискать в интернете.

Поиск не возвращает результатов

  • DuckDuckGo иногда блокирует автоматические запросы. Подождите немного и повторите попытку.

  • Проверьте сетевое подключение.

Проблемы с зависимостями

Если вы видите ошибки импорта, переустановите зависимости:

source venv/bin/activate
pip install -r requirements.txt

Обновление поискового бэкенда

Чтобы использовать другого провайдера текстового поиска (Brave, SearXNG, Bing, Google), отредактируйте server.py и замените do_text_search() на предпочитаемый вами API.

F
license - not found
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 Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables web browsing capabilities for locally served LLMs through URL text fetching, link extraction, and web search using Brave and DuckDuckGo engines. Designed to enhance LLMs with real-time web access through the MCP protocol.
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides comprehensive MCP functionality with GGUF model integration, enabling resource management, dynamic tool execution, web data fetching, file operations, and system information retrieval. Supports automatic model detection from LM Studio with built-in security measures and extensible tool plugins.

View all related MCP servers

Related MCP Connectors

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.

  • Free public MCP for AI agents — 193 tools, 44 workflows. No API key.

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/yenonn/lmstudio-websearch'

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