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
.envcon 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.jsonVentanas:
%APPDATA%\Claude\claude_desktop_config.json
Para Cline (extensión VS Code):
Windows:
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.jsonmacOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.jsonLinux:
~/.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-researchermacOS/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
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 listen su terminalIntente ejecutar ollama en modo terminal cerrando la aplicación (Bandeja del sistema/Barra de menú) y ejecutando
ollama serveComprueba si se puede acceder a Ollama en
localhost:11434,0.0.0.0:11434o127.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 psVer registros de contenedores:
docker logs ollama-deep-researcher-mcpAsegúrese de que su archivo
.envcontenga claves API válidasVerifique 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
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 buildfalla 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 --versionpara verificar la instalación
Problemas con Python
Ventanas:
Asegúrese de que Python esté en su PATH
Intente usar
pythonen lugar depython3Compruebe si pip está instalado:
python -m pip --version
macOS/Linux:
Utilice
python3en lugar depythonComprueba si pip está instalado:
python3 -m pip --versionEs 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
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
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.
- Funcionalidad principal
- Prerrequisitos
- Instalación
- Configuración del cliente
- Rastreo y Monitoreo
- Recursos de MCP
- Herramientas disponibles
- Incitación
- El flujo de trabajo de investigación de Ollama
- Ejemplo de transcripción de mensaje y salida
- Salida final de Claude
Related Resources
Related MCP Servers
- -security-license-qualityAn interactive chat interface that combines Ollama's LLM capabilities with PostgreSQL database access through the Model Context Protocol (MCP). Ask questions about your data in natural language and get AI-powered responses backed by real SQL queries.Last updated -59
- Asecurity-licenseAqualityMCP Ollama server integrates Ollama models with MCP clients, allowing users to list models, get detailed information, and interact with them through questions.Last updated -327MIT License
- Asecurity-licenseAqualityAn MCP server that queries multiple Ollama models and combines their responses, providing diverse AI perspectives on a single question for more comprehensive answers.Last updated -265MIT License