lmstudio-websearch
Servidor MCP de Búsqueda Web para LM Studio
Un servidor MCP (Model Context Protocol) local que añade búsqueda web DuckDuckGo, búsqueda de imágenes, búsqueda/reproducción de videos de YouTube y búsqueda/reproducción de canales IPTV a LM Studio.
Qué hace
Expone siete herramientas MCP:
web_search: búsqueda de texto con título, URL y fragmentoimage_search: búsqueda de imágenes con URLs directas de imagen y URLs de miniaturasvideo_search: búsqueda de videos de YouTube con miniaturas, duración, subidor y número de vistasopen_video_in_browser: abre un video de YouTube en el navegador predeterminadoplay_video_in_mpv: reproduce un video de YouTube en el reproductor de escritorio mpviptv_search: busca canales IPTV disponibles públicamente desde iptv-org/iptvplay_iptv_in_mpv: reproduce un flujo IPTV en mpv
No se requiere clave API
Se ejecuta completamente en tu Mac
Related MCP server: Universal MCP Server
Archivos
Archivo | Propósito |
| Implementación del servidor MCP |
| Script contenedor que activa el venv e inicia el servidor |
| Dependencias de Python |
| Script de prueba manual |
| Ejemplo de configuración de LM Studio |
Herramientas
web_search
Búsqueda de texto a través de DuckDuckGo.
Argumentos:
query(cadena, obligatorio): términos de búsquedamax_results(entero, 1-10, predeterminado 5)
image_search
Búsqueda de imágenes a través de DuckDuckGo.
Argumentos:
query(cadena, obligatorio): términos de búsquedamax_results(entero, 1-10, predeterminado 5)
Devuelve: resultados de imágenes con formato markdown. Cada resultado incluye una etiqueta de imagen markdown
más la URL de la página fuente.
Este formato le da a LM Studio la mejor oportunidad de renderizar la imagen en línea en la ventana de chat. Si LM Studio no la renderiza en línea, puedes hacer clic en la URL de la imagen para verla en un navegador.
video_search
Búsqueda de videos de YouTube a través de yt-dlp.
Argumentos:
query(cadena, obligatorio): términos de búsquedamax_results(entero, 1-10, predeterminado 5)format(cadena, predeterminado"markdown"):"markdown"devuelve imágenes explícitasmás enlaces clicables de YouTube;"plain"devuelve enlaces de texto simples;"image"devuelve solo URLs de miniaturas limpias.
Devuelve: por predeterminado, markdown con la imagen de miniatura de YouTube y un enlace clicable
Watch:. Esto te da la mejor oportunidad de ver una imagen de vista previa y una URL de video funcional en LM Studio.
Pídele al modelo cosas como:
Encuéntrame videos de YouTube sobre cómo hacer pan de masa madre.
O, para abrir un video después de encontrarlo:
Abre el primer video en mi navegador.
open_video_in_browser
Abre una URL de YouTube en tu navegador predeterminado.
Argumentos:
url(cadena, obligatorio): la URL de YouTube a abrir
Devuelve: estado JSON confirmando que la URL se abrió o un mensaje de error.
Solo permite URLs de
youtube.com,www.youtube.com,youtu.beym.youtube.compor seguridad.
play_video_in_mpv
Reproduce una URL de YouTube en mpv, un reproductor de video de escritorio gratuito.
Argumentos:
url(cadena, obligatorio): la URL de YouTube a reproducirsize(cadena, predeterminado"large"):"default","large"(1280x720),"fullscreen", o una geometría personalizada como"800x600"o"50%"
Devuelve: estado JSON confirmando que mpv se lanzó o un mensaje de error.
Solo permite URLs de YouTube.
Usa yt-dlp con el formato
bestvideo*+bestaudio/bestpara que los videos de YouTube se reproduzcan con la máxima calidad disponible.Requisitos:
mpvdebe estar instalado y disponible en tu PATH.yt-dlpya está instalado por este proyecto, y mpv lo usará automáticamente.
Instala mpv en macOS:
brew install mpvÚsalo desde LM Studio:
Reproduce el primer video en mpv.
O con un tamaño específico:
Reproduce el primer video en mpv a pantalla completa.
mpv se abrirá en su propia ventana y comenzará a reproducir el video de YouTube.
iptv_search
Busca canales IPTV disponibles públicamente desde iptv-org/iptv.
Argumentos:
query(cadena, obligatorio): términos de búsqueda, comparados con el título del canal y la categoría (group-title)max_results(entero, 1-30, predeterminado 10)
Devuelve: resultados markdown con el nombre del canal, categoría, logo, ID y URL de flujo clicable.
Los resultados se obtienen de
https://iptv-org.github.io/iptv/index.m3u.
Pídele al modelo cosas como:
Encuentra canales de noticias de Singapur en IPTV.
play_iptv_in_mpv
Reproduce una URL de flujo IPTV en mpv.
Argumentos:
url(cadena, obligatorio): la URL de flujo.m3u8a reproducirsize(cadena, predeterminado"large"):"default","large"(1280x720),"fullscreen", o una geometría personalizada como"800x600"o"50%"
Devuelve: estado JSON confirmando que mpv se lanzó o un mensaje de error.
Requisitos:
mpvdebe estar instalado.
Úsalo desde LM Studio:
Reproduce el primer canal IPTV en mpv.
Inicio rápido
Instala las dependencias (ya hecho si estás leyendo esto después de la configuración):
python3 -m venv venv source venv/bin/activate pip install -r requirements.txtPrueba el servidor:
source venv/bin/activate python test_mcp.pyO usa la prueba oficial del cliente MCP (esto se usó durante la configuración):
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) "
Configurar LM Studio
LM Studio 0.4.0+ admite servidores MCP. Puedes añadir este servidor a través del editor MCP de la aplicación o editando mcp.json directamente.
En la aplicación (recomendado)
Abre LM Studio
Ve a Configuración → Servidores MCP
Haz clic en Añadir servidor
Completa:
Nombre:
lmstudio-websearchTransporte:
stdioComando:
bashArgumentos:
/ABSOLUTE/PATH/TO/lmstudio-websearch/run.sh
Guarda y habilita el servidor
mcp.json manual
La ubicación de mcp.json de LM Studio en macOS:
~/Library/Application Support/LM Studio/mcp.jsonAñade esta entrada (crea el archivo si no existe):
{
"mcpServers": {
"lmstudio-websearch": {
"command": "bash",
"args": [
"/ABSOLUTE/PATH/TO/lmstudio-websearch/run.sh"
]
}
}
}Habilitar la configuración
Asegúrate de que esta configuración esté habilitada en LM Studio:
Configuración → Configuración del servidor → Permitir llamar a servidores desde mcp.json
Usar en el chat
Carga un modelo con capacidad de herramientas. Qwen 3.8 27B tiene soporte nativo de uso de herramientas en LM Studio.
Inicia un nuevo chat.
Haz una pregunta que requiera información actual, por ejemplo:
¿Cuáles son las noticias más recientes hoy?
LM Studio debería invocar la herramienta
web_search, obtener resultados y responder basándose en ellos.
Solución de problemas
El servidor no aparece en LM Studio
Confirma que la ruta en
run.shes absoluta y que el archivo es ejecutable (chmod +x run.sh).Reinicia LM Studio después de añadir el servidor.
Revisa los registros de LM Studio a través de Desarrollador → Registros.
El modelo no llama a la herramienta
Usa un modelo con soporte nativo de uso de herramientas (Qwen, Llama 3.1/3.2, Mistral).
Asegúrate de que Herramientas esté habilitado para el chat (panel derecho).
Intenta pedirle explícitamente al modelo que busque en la web.
La búsqueda no devuelve resultados
DuckDuckGo ocasionalmente bloquea solicitudes automatizadas. Espera un momento y reintenta.
Revisa tu conexión de red.
Problemas de dependencias
Si ves errores de importación, reinstala las dependencias:
source venv/bin/activate
pip install -r requirements.txtActualizar el backend de búsqueda
Para usar un proveedor de búsqueda de texto diferente (Brave, SearXNG, Bing, Google), edita server.py y reemplaza do_text_search() con tu API preferida.
This server cannot be installed
Maintenance
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
- AlicenseNot gradedqualityCmaintenanceEnables 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
- -licenseNot gradedqualityNot gradedmaintenanceProvides 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.
- FlicenseNot gradedqualityDmaintenanceEnables tool-calling LLMs to search the internet, capture website images, extract webpage text, and more via a local MCP server.14
- FlicenseNot gradedqualityCmaintenanceBrings DuckDuckGo search (web, news, images, videos) to any MCP-compatible AI client without requiring an API key.
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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