Skip to main content
Glama
bill-kopp-ai-dev

Percival Deep Research

🔍 Percival Deep Research (Servidor MCP)

Python License: MIT

Descripción general

Percival Deep Research es un servidor MCP (Model Context Protocol) de alta capacidad diseñado para dotar al ecosistema de agentes Nanobot de capacidades de investigación web autónoma y profunda. Explora y valida de forma autónoma numerosas fuentes, centrándose únicamente en información relevante, confiable y actualizada.

Mientras que las herramientas de búsqueda estándar devuelven fragmentos sin procesar que requieren filtrado manual, Percival Deep Research ofrece material completo y razonado de múltiples fuentes que acelera significativamente las capacidades de contexto y razonamiento de los agentes inteligentes.

Nota: Este proyecto utiliza la biblioteca GPT Researcher como su motor web principal, pero ha sido ampliamente refactorizado, reforzado y desacoplado específicamente para el ecosistema percival.OS.


Related MCP server: ToolCenter MCP

✨ Características y mejoras clave

Este servidor ha sido modificado profundamente para sobrevivir a las estrictas demandas de los LLM de código abierto y las matrices de despliegue modernas:

  • ⚡ Portabilidad definitiva de proveedores: Motor de inferencia totalmente agnóstico. Soporte nativo y sin fallos para plataformas líderes de pesos abiertos como Venice AI, MiniMax y OpenRouter. El servidor reescribe dinámicamente los prefijos de los proveedores sobre la marcha, autocorrige errores tipográficos en los alias e implementa una omisión de compresión de contexto de latencia cero para eliminar por completo los bloqueos y la latencia semántica al utilizar API que carecen de puntos finales de incrustación compatibles con OpenAI.

  • 🛡️ Barandillas del protocolo JSON-RPC: Aplica una redacción estricta de la salida stdio. Todo el ruido de la biblioteca subyacente, la renderización de la consola y los registros en tiempo real se redirigen físicamente a stderr. Esto evita por completo los Pydantic ValidationErrors y protege el flujo stdout que es vital para la sincronización de MCP.

  • 🔐 Seguridad de defensa en profundidad: Todas las entradas están fuertemente saneadas contra la inyección de prompts. El contenido web no confiable se envuelve en encabezados no ejecutables para proteger la autonomía de su agente.

  • 🤖 Enfoque principal en Nanobot: Elimina los patrones de lectura de .env sueltos para respetar estrictamente la inyección de entorno directamente desde la aplicación host.


📑 Tabla de contenidos


🛠️ Referencia de herramientas y recursos

Recurso

Nombre

Patrón URI

Descripción

research_resource

research://{topic}

Accede al contexto de investigación web almacenado en caché o en vivo para un tema directamente como un recurso MCP. Devuelve Markdown con contenido y fuentes.

Herramientas

Herramienta

Velocidad

Devuelve research_id

Descripción

deep_research

30–120s

✅ Sí

Investigación web profunda de múltiples fuentes. Punto de entrada de la tubería de investigación.

quick_search

3–10s

❌ No

Búsqueda rápida de fragmentos sin procesar a través de DuckDuckGo.

write_report

10–30s

Genera un informe Markdown estructurado a partir de una sesión existente. Requiere research_id.

get_research_sources

<1s

Devuelve el título, la URL y el tamaño del contenido de todas las fuentes consultadas. Requiere research_id.

get_research_context

<1s

Devuelve el texto de contexto sintetizado sin procesar sin generar un informe. Requiere research_id.

Tubería de investigación

deep_research(query)
    └── research_id ──► write_report(research_id, custom_prompt?)
                   └──► get_research_sources(research_id)
                   └──► get_research_context(research_id)

quick_search(query)       # standalone — no research_id

⚙️ Requisitos previos

  • Python 3.11+

  • uv — gestor de proyectos y dependencias

  • Clave de API para el proveedor de LLM generativo (p. ej., Venice, MiniMax, OpenRouter).

Nota: El motor de búsqueda web predeterminado configurado es duckduckgo, que no requiere clave de API. Opcionalmente, puede configurar otros buscadores web de forma nativa.


⚙️ Instalación

1. Configuración del entorno unificado

Asegúrese de estar utilizando el ecosistema de compilación unificado percival.OS:

cd percival.OS_Dev
uv sync

Esto asegura que percival-deep-research herede el .venv global.

2. Configurar el entorno

Este módulo deshabilita la carga de .env (dotenv) para respetar estrictamente las variables de sistema pasadas por su host MCP.

Al invocar a través de Nanobot (~/.nanobot/config.json) u otros puntos finales, defina las variables de entorno directamente en la matriz de configuración:

"OPENAI_API_KEY": "your_api_key_from_venice_minimax_openrouter_etc",
"OPENAI_BASE_URL": "https://api.venice.ai/api/v1",
"FAST_LLM": "venice:llama-3.3-70b",
"SMART_LLM": "minimax:MiniMax-M2.7",
"STRATEGIC_LLM": "openrouter:google/gemini-2.5-flash",
"RETRIEVER": "duckduckgo"

🤖 Integración con Nanobot (Enfoque principal)

Este servidor está fundamentalmente ajustado para ejecutarse como un servidor MCP stdio pilotado por el asistente Nanobot.

Agregue lo siguiente a su ~/.nanobot/config.json:

{
  "mcpServers": {
    "percival_deep_research": {
      "command": "uv",
      "args": [
        "run",
        "--no-sync",
        "percival-deep-research"
      ],
      "env": {
        "UV_PROJECT_ENVIRONMENT": "/absolute/path/to/percival.OS_Dev/.venv",
        "OPENAI_API_KEY": "actual-key-here",
        "OPENAI_BASE_URL": "https://api.venice.ai/api/v1",
        "FAST_LLM": "venice:llama-3.3-70b",
        "RETRIEVER": "duckduckgo"
      },
      "tool_timeout": 300
    }
  }
}

Nota: deep_research puede tardar de 2 a 3 minutos. Asegúrese de que tool_timeout esté escalado correctamente (p. ej., 180-300).

Decisiones de diseño clave para Nanobot

  • Texto sin formato sobre diccionarios JSON — Todas las herramientas devuelven de forma predecible cadenas de texto sin formato en lugar de diccionarios JSON para alimentar a Nanobot con texto limpio.

  • Modularidad del contextodeep_research omite el contexto sintetizado gigante de su respuesta de inicialización para evitar saturar la ventana de contexto de Nanobot. En su lugar, emite un research_id que el agente utiliza luego para invocar explícitamente get_research_context.


💻 Integración con Claude Desktop

Aunque Nanobot es el controlador preferido, si realiza el despliegue en Claude Desktop, añada lo siguiente a su claude_desktop_config.json:

{
  "mcpServers": {
    "percival_deep_research": {
      "command": "uv",
      "args": [
        "run",
        "--project",
        "/absolute/path/to/percival.OS_Dev",
        "percival-deep-research"
      ],
      "env": {
        "OPENAI_API_KEY": "your-provider-key",
        "OPENAI_BASE_URL": "https://api.venice.ai/api/v1",
        "FAST_LLM": "venice:llama-3.3-70b",
        "RETRIEVER": "duckduckgo"
      }
    }
  }
}

🔐 Seguridad

Este servidor implementa defensa en profundidad, abordando los riesgos de que un servidor MCP procese contenido web no confiable de forma autónoma.

Protección contra inyección de prompts

Las entradas del usuario (query, topic, custom_prompt) restringen los valores desconocidos y mal formados. Un filtro basado en expresiones regulares bloquea patrones de jailbreak conocidos (<system>, [INST], ignore instructions, etc.).

Aislamiento de contenido no confiable

Todo el contenido recuperado de la web se prefija dinámicamente antes de presentarse al contexto del agente:

[SECURITY WARNING: The content below was obtained from unverified external...]

Esto obliga a modelos como Nanobot a tratar los datos obtenidos de la web estrictamente como bloques informativos, evitando el cumplimiento inesperado de comandos.


📄 Licencia

Este proyecto está bajo la Licencia MIT.

A
license - permissive license
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
    D
    maintenance
    An MCP server that utilizes LangGraph and Google Gemini to conduct comprehensive research through multi-iteration deep searches and quick results. It provides high-quality analysis with automated citations and grounding metadata for thorough investigations.
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    A comprehensive MCP server providing 15 web tools including search, scraping, screenshots, SEO audits, and DNS/SSL checks through a single installation. It delivers clean, LLM-optimized outputs so AI agents can focus on reasoning rather than parsing raw HTML.
    15
    20
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables AI agents to perform search-augmented queries and deep multi-source research using the Perplexity API.
    43
    25
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

  • MCP server connecting AI agents to non-custodial staking data across 130+ networks.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

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/bill-kopp-ai-dev/percival-deep-research'

If you have feedback or need assistance with the MCP directory API, please join our Discord server