Skip to main content
Glama

LM Studio Web Search MCP Server

Ein lokaler MCP-Server (Model Context Protocol), der LM Studio DuckDuckGo-Websuche, Bildersuche, YouTube-Videosuche/-wiedergabe und IPTV-Sendersuche/-wiedergabe hinzufügt.

Was es tut

  • Stellt sieben MCP-Werkzeuge bereit:

    • web_search: Textsuche mit Titel, URL und Ausschnitt

    • image_search: Bildersuche mit direkten Bild-URLs und Vorschaubild-URLs

    • video_search: YouTube-Videosuche mit Vorschaubildern, Dauer, Uploader und Aufrufanzahl

    • open_video_in_browser: öffnet ein YouTube-Video im Standardbrowser

    • play_video_in_mpv: spielt ein YouTube-Video im Desktop-Player mpv ab

    • iptv_search: durchsucht öffentlich verfügbare IPTV-Sender von iptv-org/iptv

    • play_iptv_in_mpv: spielt einen IPTV-Stream in mpv ab

  • Kein API-Schlüssel erforderlich

  • Läuft vollständig auf deinem Mac

Related MCP server: Universal MCP Server

Dateien

Datei

Zweck

server.py

MCP-Server-Implementierung

run.sh

Wrapper-Skript, das die venv aktiviert und den Server startet

requirements.txt

Python-Abhängigkeiten

test_mcp.py

Manuelles Testskript

mcp.json.example

Beispielkonfiguration für LM Studio

Werkzeuge

Textsuche über DuckDuckGo.

  • Argumente:

    • query (string, erforderlich): Suchbegriffe

    • max_results (integer, 1-10, Standard: 5)

Bildersuche über DuckDuckGo.

  • Argumente:

    • query (string, erforderlich): Suchbegriffe

    • max_results (integer, 1-10, Standard: 5)

  • Rückgabe: als Markdown formatierte Bildersuchergebnisse. Jedes Ergebnis enthält ein Markdown-Bild-Tag ![title](image_url) sowie die URL der Quellseite.

Dieses Format gibt LM Studio die besten Chancen, das Bild direkt im Chatfenster darzustellen. Falls LM Studio es nicht inline darstellt, kannst du auf die Bild-URL klicken, um es im Browser anzusehen.

YouTube-Videosuche über yt-dlp.

:

  • Argumente:

    • query (string, erforderlich): Suchbegriffe

    • max_results (integer, 1-10, Standard: 5)

    • format (string, Standard "markdown"): "markdown" liefert explizite ![title](thumbnail)-Bilder sowie klickbare YouTube-Links; "plain" liefert einfache Textlinks; "image" liefert nur saubere Vorschaubild-URLs.

  • Rückgabe: standardmäßig Markdown mit dem YouTube-Vorschaubild und einem klickbaren Watch:-Link. Das gibt dir die besten Chancen, ein Vorschaubild und eine funktionierende Video-URL in LM Studio zu sehen.

Frag das Modell zum Beispiel:

Finde mir YouTube-Videos über das Backen von Sauerteigbrot.

Oder, um ein Video nach dem Finden zu öffnen:

Öffne das erste Video in meinem Browser.

open_video_in_browser

Öffnet eine YouTube-URL in deinem Standardbrowser.

  • Argumente:

    • url (string, erforderlich): die zu öffnende YouTube-URL

  • Rückgabe: JSON-Status, der bestätigt, dass die URL geöffnet wurde, oder eine Fehlermeldung.

  • Erlaubt aus Sicherheitsgründen nur youtube.com, www.youtube.com, youtu.be und m.youtube.com-URLs.

play_video_in_mpv

Spielt eine YouTube-URL in mpv, einem kostenlosen Desktop-Videoplayer, ab.

  • Argumente:

    • url (string, erforderlich): die abzuspielende YouTube-URL

    • size (string, Standard "large"): "default", "large" (1280x720), "fullscreen" oder eine benutzerdefinierte Geometrie wie "800x600" oder "50%"

  • Rückgabe: JSON-Status, der bestätigt, dass mpv gestartet wurde, oder eine Fehlermeldung.

  • Erlaubt nur YouTube-URLs.

  • Verwendet yt-dlp mit dem Format bestvideo*+bestaudio/best, sodass YouTube-Videos in der höchsten verfügbaren Qualität abgespielt werden.

  • Anforderungen: mpv muss installiert und in deinem PATH verfügbar sein. yt-dlp wird von diesem Projekt bereits installiert, und mpv verwendet es automatisch.

Installiere mpv unter macOS:

brew install mpv

Verwende es in LM Studio:

Spiele das erste Video in mpv ab.

Oder mit einer bestimmten Größe:

Spiele das erste Video in mpv im Vollbildmodus ab.

mpv öffnet sich in einem eigenen Fenster und beginnt, das YouTube-Video abzuspielen.

Durchsucht öffentlich verfügbare IPTV-Sender von iptv-org/iptv.

  • Argumente:

    • query (string, erforderlich): Suchbegriffe, die gegen Sendertitel und Kategorie (group-title) abgeglichen werden

    • max_results (integer, 1-30, Standard: 10)

  • Rückgabe: Markdown-Ergebnisse mit Sendername, Kategorie, Logo, ID und klickbarer Stream-URL.

  • Die Ergebnisse werden von https://iptv-org.github.io/iptv/index.m3u abgerufen.

Frag das Modell zum Beispiel:

Finde singapurische Nachrichtensender auf IPTV.

play_iptv_in_mpv

Spielt eine IPTV-Stream-URL in mpv ab.

  • Argumente:

    • url (string, erforderlich): die abzuspielende .m3u8-Stream-URL

    • size (string, Standard "large"): "default", "large" (1280x720), "fullscreen" oder eine benutzerdefinierte Geometrie wie "800x600" oder "50%"

  • Rückgabe: JSON-Status, der bestätigt, dass mpv gestartet wurde, oder eine Fehlermeldung.

  • Anforderungen: mpv muss installiert sein.

Verwende es in LM Studio:

Spiele den ersten IPTV-Sender in mpv ab.

Schnellstart

  1. Abhängigkeiten installieren (bereits erledigt, wenn du dies nach der Einrichtung liest):

    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
  2. Server testen:

    source venv/bin/activate
    python test_mcp.py

    Oder den offiziellen MCP-Client-Smoke-Test verwenden (dieser wurde während der Einrichtung verwendet):

    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 konfigurieren

LM Studio 0.4.0+ unterstützt MCP-Server. Du kannst diesen Server über den integrierten MCP-Editor oder durch direktes Bearbeiten von mcp.json hinzufügen.

In der App (empfohlen)

  1. LM Studio öffnen

  2. Zu EinstellungenMCP-Server gehen

  3. Auf Server hinzufügen klicken

  4. Ausfüllen:

    • Name: lmstudio-websearch

    • Transport: stdio

    • Befehl: bash

    • Argumente: /ABSOLUTE/PATH/TO/lmstudio-websearch/run.sh

  5. Server speichern und aktivieren

Manuelles mcp.json

Der Speicherort von mcp.json in LM Studio unter macOS:

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

Diesen Eintrag hinzufügen (Datei erstellen, falls sie nicht existiert):

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

Einstellung aktivieren

Stelle sicher, dass diese Einstellung in LM Studio aktiviert ist:

  • EinstellungenServer-EinstellungenAufruf von Servern aus mcp.json erlauben

Im Chat verwenden

  1. Lade ein Modell, das Tools verwenden kann. Qwen 3.8 27B hat native Unterstützung für Tool-Nutzung in LM Studio.

  2. Einen neuen Chat starten.

  3. Eine Frage stellen, die aktuelle Informationen erfordert, zum Beispiel:

    Was sind die heutigen Schlagzeilen?

  4. LM Studio sollte das web_search-Werkzeug aufrufen, Ergebnisse abrufen und auf dieser Grundlage antworten.

Fehlerbehebung

Server wird in LM Studio nicht aufgelistet

  • Stelle sicher, dass der Pfad in run.sh absolut ist und die Datei ausführbar ist (chmod +x run.sh).

  • Starte LM Studio neu, nachdem du den Server hinzugefügt hast.

  • Prüfe die LM-Studio-Protokolle über EntwicklerProtokolle.

Modell ruft das Werkzeug nicht auf

  • Verwende ein Modell mit nativer Unterstützung für Tool-Nutzung (Qwen, Llama 3.1/3.2, Mistral).

  • Stelle sicher, dass Tools für den Chat aktiviert ist (rechtes Bedienfeld).

  • Versuche, das Modell explizit aufzufordern, das Web zu durchsuchen.

Suche liefert keine Ergebnisse

  • DuckDuckGo blockiert gelegentlich automatisierte Anfragen. Warte einen Moment und versuche es erneut.

  • Überprüfe deine Netzwerkverbindung.

Abhängigkeitsprobleme

Wenn Importfehler auftreten, installiere die Abhängigkeiten neu:

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

Such-Backend aktualisieren

Um einen anderen Textsuch-Anbieter zu verwenden (Brave, SearXNG, Bing, Google), bearbeite server.py und ersetze do_text_search() durch deine bevorzugte 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