MCP

MCPSurfr: servidor MCP de búsqueda web local sin claves API — guía de decisión y primeros pasos

Ideal para añadir a clientes LLM locales compatibles con MCP una búsqueda web sin claves API y una investigación profunda multi-motor, con resultados reordenados en tu máquina por MobileBERT; hace falta un cliente capaz de arrancar el servidor mediante uvx desde GitHub.

Official source · MCPSurfr

Install

"command": "uvx",
        "args": ["--from", "git+https://github.com/nkapila6/mcpsurfr", "mcpsurfr"]

Para quién es

MCPSurfr (antes mcp-local-rag) es un servidor MCP de búsqueda web local para LLM: no necesita claves API y los resultados se reordenan en tu propia máquina; el orden corre a cargo de un pequeño modelo MobileBERT que se ejecuta directamente sobre numpy. Encaja con dos perfiles: quienes quieran añadir búsqueda web a un cliente compatible con MCP sin registrarse en ningún servicio de búsqueda ni gestionar claves, y los flujos de agentes que necesiten capacidades progresivamente más profundas: de la consulta puntual de pasajes al texto de páginas completas y de ahí a la investigación profunda multi-motor.

Deja claros los prerrequisitos: necesitas un cliente que admita servidores MCP personalizados y una máquina capaz de ejecutar el comando uvx; oficialmente solo existe esta vía de arranque: obtener el servidor desde GitHub mediante uvx. La página oficial no explica si ofrece un servicio alojado o una interfaz gráfica, ni enumera requisitos de sistema operativo ni clientes compatibles; si tu entorno no permite descargar y ejecutar código desde GitHub, este camino principal no es viable.

Primer intento en 3 minutos

Solo hay un camino principal recomendado, y tanto el comando como la configuración proceden de la documentación oficial.

Prerrequisito: poder ejecutar uvx en la máquina y que el cliente admita configurar servidores MCP mediante command/args. Primer paso: escribe el fragmento oficial en la configuración de servidores MCP del cliente (el lugar exacto varía según el cliente):

"command": "uvx",
        "args": ["--from", "git+https://github.com/nkapila6/mcpsurfr", "mcpsurfr"]

Segundo paso: guarda la configuración y recarga la sesión; el cliente arrancará mcpsurfr con ese comando. En el primer arranque hay que descargar el código desde GitHub por red; la duración y el comportamiento de la caché no están documentados oficialmente.

Tercer paso: invoca la herramienta search con una consulta normal. Es una consulta puntual según la definición oficial, que devuelve pasajes relevantes y cuenta como operación de lectura; pero la llamada lanza una búsqueda web real y ejecuta el reordenamiento en local: que sea de consulta solo significa que no escribe nada, no que no haya peticiones de red ni límites de privacidad.

Señales de éxito: la herramienta devuelve pasajes relacionados con la consulta y en la lista de herramientas del cliente aparecen, además de search, rag_search_ddgs, rag_search_google, deep_research, deep_research_ddgs y deep_research_google. El servidor también ofrece el recurso de habilidad skill://mcpsurfr-search/SKILL.md, cuyo uso concreto no se detalla en la página oficial.

Casos de uso

Caso 1: añadir consulta rápida a una conversación. Escenario: comentas en el cliente un tema que puede tener novedades recientes y dejas que el modelo invoque primero search. Hace una consulta puntual y devuelve pasajes relevantes que el modelo puede citar directamente; como no hacen falta claves API, incorporarlo a un entorno nuevo no exige registrarse en ningún servicio de búsqueda. Lo confirmado llega hasta la devolución de pasajes; el recorte y el orden de los pasajes no se explican oficialmente.

Caso 2: capturar el texto de páginas completas para organizar un tema. Escenario: cuando los pasajes no bastan y hace falta más contexto, llama a rag_search_ddgs; oficialmente devuelve páginas completas como texto, el modo original del proyecto. Ojo: una llamada devuelve como máximo 40.000 caracteres, ajustables con la variable de entorno MCPSURFR_MAX_CHARS. Los parámetros concretos de cada herramienta no se detallan uno a uno oficialmente; guíate por la descripción de herramientas que tu cliente introspecciona. Cómo orquesta la serie deep_research una investigación en varios pasos no se explica en la página oficial: no des por supuesto ningún flujo.

Límites de uso

Naturaleza de lectura/escritura: las seis herramientas son capacidades de consulta o investigación; la página oficial no describe operaciones que escriban en archivos locales o envíen datos a remotos. Es una descripción de límites, no una conclusión de seguridad: cada llamada lanza una búsqueda web real y reordena los resultados en local con MobileBERT (numpy).

Credenciales y dependencias locales: el argumento oficial es que no se necesitan claves API; si hace falta cuenta, tokens o archivos de datos locales no se menciona: trátalo como no confirmado.

Efectos secundarios y puntos de confirmación: la instalación descarga y ejecuta código desde GitHub mediante uvx; es un comportamiento inherente a la configuración oficial: acéptalo antes de escribirla. Aparte de eso, la página oficial no describe otros efectos secundarios ni acciones que requieran confirmación.

Límites oficiales y puntos sin confirmar: las herramientas de página completa devuelven como máximo 40.000 caracteres por llamada, ajustables con la variable de entorno MCPSURFR_MAX_CHARS. Siguen sin confirmarse: la lista de clientes compatibles, la disponibilidad y cuotas de cada backend de búsqueda, el coste de rendimiento y si se puede desplegar en remoto. Verifica estas condiciones en tu propio entorno antes de decidir en función de ellas.