hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Based on LangChain Ollama Deep Researcher, providing workflow orchestration for multi-step research tasks
Referenced as part of research workflow implementation, though listed as requiring additional validation and re-integration
Enables research capabilities using any local LLM hosted by Ollama, supporting models like deepseek-r1 and llama3.2
Servidor MCP: Investigador profundo de Ollama
Esta es una adaptación del servidor del Protocolo de Contexto de Modelo (MCP) de LangChain Ollama Deep Researcher . Proporciona las capacidades de investigación profunda de las herramientas MCP, que pueden utilizarse dentro del ecosistema del Protocolo de Contexto de Modelo, lo que permite a los asistentes de IA realizar investigaciones exhaustivas sobre temas utilizando LLM locales a través de Ollama.
Funcionalidad principal
El servidor proporciona capacidades de investigación a través de herramientas y recursos MCP, utilizando cualquier LLM alojado por Ollama .
Proceso de investigación
Dado un tema, se realizará lo siguiente:
- Generar una consulta de búsqueda web
- Recopile resultados de búsqueda web a través de la API de Tavily o Perplexity
- Resumir los resultados de la búsqueda
- Reflexione sobre el resumen para examinar las lagunas de conocimiento
- Generar nuevas consultas de búsqueda para abordar las brechas
- Mejorar iterativamente el resumen a través de múltiples ciclos de investigación
- Proporcionar un resumen final de Markdown con todas las fuentes utilizadas
Prerrequisitos
- Node.js (para ejecutar el servidor MCP)
- Descargar e instalar desde https://nodejs.org/
- Asegúrese de que Node.js esté agregado a la RUTA de su sistema
- Python 3.10 o superior
- Cálculo (CPU/GPU) capaz de ejecutar el modelo de Ollama seleccionado
- Al menos 8 GB de RAM para ejecutar modelos de idiomas más grandes
- Claves API requeridas:
- Clave API de Tavily (obtenga una en https://tavily.com )
- Clave API de Perplexity (obtenga una en https://perplexity.ai )
- Clave API de LangSmith (obtenga una en https://smith.langchain.com ) para seguimiento y monitoreo
Asegúrate de poder ejecutar Node.js y npm desde tu terminal o línea de comandos. Puedes verificar tus instalaciones con:
Si estos comandos fallan, es posible que necesites:
- Reinicie su terminal/computadora después de la instalación
- Agregue Node.js a su sistema PATH:
- Windows: Editar variables de entorno del sistema → Variables de entorno → Ruta → Agregar directorio de instalación de Node.js
- macOS/Linux: Generalmente lo gestiona el instalador
Instalación
Opción 1: Instalación estándar
- Descargue e instale Ollama para su plataforma
- Clonar este repositorio e instalar las dependencias:
- Instalar dependencias de Python:
Primero, instale uv (recomendado para un mejor rendimiento y resolución de dependencias):
Luego instale las dependencias del proyecto usando pyproject.toml:
Nota: Esto instalará el proyecto en modo editable con todas las dependencias especificadas en pyproject.toml. Si prefiere usar pip:
- Construya el código TypeScript:
- Obtenga un LLM local de Ollama :
Opción 2: Instalación de Docker
También puede ejecutar el servidor MCP utilizando Docker, lo que simplifica el proceso de configuración.
- Descargue e instale Docker para su plataforma
- Clonar este repositorio:
- Crea un archivo
.env
con tus claves API (puedes copiar desde.env.example
):
- Hacer que el script auxiliar sea ejecutable:
- Construya y ejecute el contenedor Docker:
- Asegúrese de que Ollama se esté ejecutando en su máquina host:
Los scripts auxiliares proporcionan varios comandos:
Para macOS/Linux (usando run-docker.sh):
./run-docker.sh start
- Construye e inicia el contenedor Docker./run-docker.sh stop
- Detiene el contenedor Docker./run-docker.sh restart
- Reinicia el contenedor Docker./run-docker.sh logs
: muestra los registros del contenedor Docker./run-docker.sh status
- Verifica el estado del contenedor Docker./run-docker.sh help
- Mostrar mensaje de ayuda
Para Windows (usando run-docker.bat):
run-docker.bat start
: compila e inicia el contenedor Dockerrun-docker.bat stop
- Detiene el contenedor Dockerrun-docker.bat restart
- Reinicia el contenedor Dockerrun-docker.bat logs
: muestra los registros del contenedor Dockerrun-docker.bat status
: verifica el estado del contenedor Dockerrun-docker.bat help
- Mostrar mensaje de ayuda
Nota: El contenedor Docker está configurado para conectarse a Ollama, que se ejecuta en su equipo host. Si también desea ejecutar Ollama en un contenedor, descomente el servicio Ollama en el archivo docker-compose.yml.
Configuración del cliente
Agregue el servidor a su configuración de cliente MCP:
Para la aplicación de escritorio Claude:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Ventanas:
%APPDATA%\Claude\claude_desktop_config.json
Para Cline (extensión VS Code):
- Windows:
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
- macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
- Linux:
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Opción 1: Configuración de instalación estándar
Nota: Reemplace las rutas con rutas absolutas para su sistema:
- Windows: utilice
C:\\Users\\username\\path\\to\\mcp-server-ollama-deep-researcher
- macOS/Linux: Use
/Users/username/path/to/mcp-server-ollama-deep-researcher
Para macOS/Linux, es posible que también desees agregar:
Opción 2: Configuración de la instalación de Docker
Si está utilizando el contenedor Docker, puede configurar el cliente MCP para conectarse al contenedor en ejecución:
Esta configuración asume que el contenedor Docker está en ejecución. Las variables de entorno ya están configuradas en el contenedor Docker, por lo que no es necesario especificarlas en la configuración del cliente MCP.
Rastreo y Monitoreo
El servidor se integra con LangSmith para un seguimiento y monitoreo integral del proceso de investigación:
- Operación Rastreo :
- Se rastrean todas las interacciones de LLM
- Se monitorizan las operaciones de búsqueda web
- Se realiza un seguimiento de los pasos del flujo de trabajo de investigación
- Monitoreo del rendimiento :
- Tiempos de respuesta para cada operación
- Tasas de éxito/fracaso
- Utilización de recursos
- Depuración y optimización :
- Rastreos detallados para la resolución de problemas
- Identificación de cuellos de botella en el rendimiento
- Información sobre optimización de consultas
Acceda a todos los rastros en https://smith.langchain.com bajo el nombre de proyecto configurado.
Recursos de MCP
Los resultados de la investigación se almacenan automáticamente como recursos MCP, lo que permite:
- Acceso persistente
- Resultados accesibles a través de las URL
research://{topic}
- Almacenamiento automático de investigaciones finalizadas
- Contenido en formato JSON con metadatos
- Resultados accesibles a través de las URL
- Integración del panel de recursos
- La investigación aparece en el panel de recursos del cliente de MCP
- Fácil acceso a temas de investigación anteriores
- Marca de tiempo y descripción de cada resultado
- Gestión del contexto
- Reutilización eficiente de la investigación en conversaciones
- Uso reducido de tokens mediante referencias de recursos
- Inclusión selectiva del contexto de investigación
Herramientas disponibles
Configurar
- maxLoops : Número de iteraciones de investigación (1-5)
- llmModel : modelo de Ollama a utilizar (p. ej., "deepseek-r1:1.5b", "llama3.2")
- searchApi : API de búsqueda para usar ("perplejidad" o "tavily")
Configurar parámetros de investigación.
Investigación
Investigue cualquier tema utilizando la búsqueda web y la síntesis LLM.
Obtener estado
Obtenga el estado actual de la investigación en curso.
Incitación
Uso de la API de búsqueda predeterminada, el modelo y las iteraciones máximas (bucles)
Ejemplo de propuesta: "Investigar aplicaciones que prioricen la IA"
Cambiar la configuración predeterminada e iniciar la investigación
Sintaxis: configure with <searchapi> and <model> then research <topic>
Ejemplo de mensaje: "Configure con perplejidad y deepseek-r1:8b, luego investigue aplicaciones de IA prioritarias".
El flujo de trabajo de investigación de Ollama
El proceso de investigación se inspira en IterDRAG . Este enfoque descompone una consulta en subconsultas, recupera documentos para cada una, responde a la subconsulta y, a partir de la respuesta, recupera documentos para la segunda subconsulta.
El proceso funciona de la siguiente manera:
- Dado un tema proporcionado por el usuario, utilice un LLM local (a través de Ollama ) para generar una consulta de búsqueda web
- Utiliza un motor de búsqueda (configurado para Tavily ) para encontrar fuentes relevantes
- Utiliza LLM para resumir los hallazgos de la búsqueda web relacionados con el tema de investigación proporcionado por el usuario
- Luego, utiliza el LLM para reflexionar sobre el resumen, identificando lagunas de conocimiento.
- Genera una nueva consulta de búsqueda para abordar las brechas de conocimiento.
- El proceso se repite y el resumen se actualiza iterativamente con nueva información de la búsqueda web.
- Se repetirá en la madriguera del conejo de la investigación.
- Se ejecuta durante un número configurable de iteraciones
Salidas
El resultado es un archivo Markdown que contiene el resumen de la investigación, con citas de todas las fuentes utilizadas durante el proceso de investigación.
Todas las fuentes recopiladas durante la investigación se conservan y se pueden referenciar en el resultado final:
Descripción general de la integración del sistema
Solución de problemas
Aquí encontrará soluciones a problemas comunes que podría encontrar:
Problemas de conexión de Ollama
- Asegúrese de que Ollama se esté ejecutando: ejecute
ollama list
en su terminal - Intente ejecutar ollama en modo terminal cerrando la aplicación (Bandeja del sistema/Barra de menú) y ejecutando
ollama serve
- Comprueba si se puede acceder a Ollama en
localhost:11434
,0.0.0.0:11434
o127.0.0.1:11434
Problemas con la clave API
- Verifique que su clave API esté configurada correctamente en el archivo de configuración
- Verifique que su ruta arg apunte a la ubicación real de index.js en este repositorio
- Asegúrese de que no haya espacios ni comillas adicionales alrededor de la clave API
- Comprueba si tu clave API tiene suficientes créditos/permisos
Problemas con el servidor MCP
- Utilice el Inspector MCP para depurar:
Problemas con Docker
- Si tienes problemas con el contenedor Docker:
- Comprueba si el contenedor se está ejecutando:
docker ps
- Ver registros de contenedores:
docker logs ollama-deep-researcher-mcp
- Asegúrese de que su archivo
.env
contenga claves API válidas - Verifique que Ollama se esté ejecutando en su máquina host y sea accesible desde el contenedor
- Si usar host.docker.internal no funciona, intente usar la dirección IP de su máquina host en la variable de entorno OLLAMA_BASE_URL
- Para problemas de red entre contenedores, asegúrese de que estén en la misma red Docker
- Comprueba si el contenedor se está ejecutando:
- Si está ejecutando Ollama en un contenedor:
- Descomente el servicio Ollama en docker-compose.yml
- Asegúrese de que el contenedor Ollama tenga suficientes recursos asignados
- Extraiga el modelo en el contenedor Ollama:
docker exec -it ollama ollama pull deepseek-r1:8b
Problemas de compilación
- Si
npm run build
falla con el mensaje "'nodo' no se reconoce":- Asegúrese de que Node.js esté instalado correctamente
- Agregue Node.js a su sistema PATH:
- Windows: Editar variables de entorno del sistema → Variables de entorno → Ruta → Agregar directorio de instalación de Node.js
- macOS/Linux: Generalmente lo gestiona el instalador
- Reinicie su terminal/computadora
- Intente ejecutar
node --version
para verificar la instalación
Problemas con Python
Ventanas:
- Asegúrese de que Python esté en su PATH
- Intente usar
python
en lugar depython3
- Compruebe si pip está instalado:
python -m pip --version
macOS/Linux:
- Utilice
python3
en lugar depython
- Comprueba si pip está instalado:
python3 -m pip --version
- Es posible que necesites instalar pip:
sudo apt install python3-pip
(Ubuntu/Debian) obrew install python3
(macOS)
Manejo de errores
El servidor proporciona mensajes de error claros para:
- Claves API faltantes o no válidas
- Problemas de configuración
- Problemas con la API de búsqueda
- Errores de procesamiento de LLM
Mejoras necesarias
- Reintegración y validación más estrictas de langgraph para casos de uso interesantes adicionales.
Arquitectura
Para obtener información detallada sobre la arquitectura y la implementación del servidor, consulte .context/index.md .
Insignia de Glama.ai
Ejemplo de transcripción de mensaje y salida
Inmediato
Salida de configuración
Resultados de la investigación de Ollama
Salida final de Claude
You must be authenticated.
Esta es una adaptación del servidor del Protocolo de Contexto de Modelo (MCP) de LangChain Ollama Deep Researcher. Proporciona las capacidades de investigación profunda de las herramientas MCP, que pueden utilizarse dentro del ecosistema del Protocolo de Contexto de Modelo, lo que permite a los asistentes de IA realizar investigaciones exhaustivas sobre temas (localmente) a través de Ollama.
- Core Functionality
- Prerequisites
- Installation
- Client Configuration
- Tracing and Monitoring
- MCP Resources
- Available Tools
- Prompting
- The Ollama Research Workflow
- Example Prompt and Output Transcript
- Claude Final Output