Skip to main content
Glama
ameeralns

DeepResearch MCP

by ameeralns

Investigación profunda MCP

Logotipo de DeepResearch Mecanografiado OpenAI Node.js

📚 Descripción general

DeepResearch MCP es un potente asistente de investigación basado en el Protocolo de Contexto de Modelo (MCP). Realiza investigaciones inteligentes e iterativas sobre cualquier tema mediante búsquedas web, análisis y generación de informes completos.

🌟 Características principales

  • Exploración inteligente de temas : identifica automáticamente las lagunas de conocimiento y genera consultas de búsqueda enfocadas

  • Extracción integral de contenido : web scraping mejorado con organización de contenido optimizada

  • Procesamiento de conocimiento estructurado : preserva información importante mientras administra el uso de tokens

  • Generación de informes académicos : crea informes detallados y bien estructurados con resúmenes ejecutivos, análisis y visualizaciones.

  • Bibliografía completa : cita correctamente todas las fuentes con referencias numeradas

  • Gestión de contenido adaptable : administra automáticamente el contenido para mantenerse dentro de los límites de tokens.

  • Resiliencia ante errores : se recupera de errores y genera informes parciales cuando no es posible el procesamiento completo

Related MCP server: OpenDeepSearch

🛠️ Arquitectura

┌────────────────────┐     ┌─────────────────┐     ┌────────────────┐
│                    │     │                 │     │                │
│  MCP Server Layer  ├────►│ Research Service├────►│ Search Service │
│  (Tools & Prompts) │     │ (Session Mgmt)  │     │  (Firecrawl)   │
│                    │     │                 │     │                │
└────────────────────┘     └─────────┬───────┘     └────────────────┘
                                     │
                                     ▼
                           ┌─────────────────┐
                           │                 │
                           │  OpenAI Service │
                           │ (Analysis/Rpt)  │
                           │                 │
                           └─────────────────┘

💻 Instalación

Prerrequisitos

  • Node.js 18 o superior

  • Clave API de OpenAI

  • Clave API de Firecrawl

Pasos de configuración

  1. Clonar el repositorio

    git clone <repository-url>
    cd deep-research-mcp
  2. Instalar dependencias

    npm install
  3. Configurar variables de entorno

    cp .env.example .env

    Edite el archivo .env y agregue sus claves API:

    OPENAI_API_KEY=sk-your-openai-api-key
    FIRECRAWL_API_KEY=your-firecrawl-api-key
  4. Construir el proyecto

    npm run build

🚀 Uso

Ejecución del servidor MCP

Inicie el servidor en stdio para conexiones de cliente MCP:

npm start

Usando el cliente de ejemplo

Realizar una investigación sobre un tema específico con una profundidad determinada:

npm run client "Your research topic" 3

Parámetros:

  • Primer argumento: Tema de investigación o consulta

  • Segundo argumento: Profundidad de la investigación (número de iteraciones, predeterminado: 2)

  • Tercer argumento (opcional): "completo" para utilizar la herramienta de investigación completa (proceso de un solo paso)

Ejemplo:

npm run client "the impact of climate change on coral reefs" 3 complete

Ejemplo de salida

El MCP de DeepResearch producirá un informe completo que incluye:

  • Resumen ejecutivo : descripción general concisa de los resultados de la investigación

  • Introducción - Contexto e importancia del tema de investigación

  • Metodología - Descripción del enfoque de la investigación

  • Análisis exhaustivo : examen detallado del tema

  • Análisis comparativo : comparación visual de aspectos clave

  • Discusión - Interpretación de los hallazgos e implicaciones

  • Limitaciones - Restricciones y lagunas en la investigación

  • Conclusión - Conclusiones y recomendaciones finales

  • Bibliografía - Lista completa de fuentes con URL

🔧 Integración MCP

Recursos MCP disponibles

Ruta de recursos

Descripción

research://state/{sessionId}

Acceder al estado actual de una sesión de investigación

research://findings/{sessionId}

Acceda a los resultados recopilados para una sesión

Herramientas MCP disponibles

Nombre de la herramienta

Descripción

Parámetros

initialize-research

Iniciar una nueva sesión de investigación

query : cadena, depth : número

execute-research-step

Ejecutar el siguiente paso de investigación

sessionId : cadena

generate-report

Crear un informe final

sessionId : cadena, timeout : número (opcional)

complete-research

Ejecutar todo el proceso de investigación

query : cadena, depth : número, timeout : número (opcional)

🖥️ Integración de escritorio de Claude

DeepResearch MCP se puede integrar con Claude Desktop para proporcionar capacidades de investigación directa a Claude.

Pasos de configuración

  1. Copiar la configuración de muestra

    cp claude_desktop_config_sample.json ~/path/to/claude/desktop/config/directory/claude_desktop_config.json
  2. Editar el archivo de configuración

    Actualice la ruta para que apunte a su instalación de deep-research-mcp y agregue sus claves API:

    {
      "mcpServers": {
        "deep-research": {
          "command": "node",
          "args": [
            "/absolute/path/to/your/deep-research-mcp/dist/index.js"
          ],
          "env": {
            "FIRECRAWL_API_KEY": "your-firecrawler-api-key",
            "OPENAI_API_KEY": "your-openai-api-key"
          }
        }
      }
    }
  3. Reiniciar Claude Desktop

    Después de guardar la configuración, reinicie Claude Desktop para que los cambios surtan efecto.

  4. Uso con Claude Desktop

    Ahora puedes pedirle a Claude que realice una investigación usando comandos como:

    Can you research the impact of climate change on coral reefs and provide a detailed report?

📋 Código de cliente de muestra

import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";

async function main() {
  // Connect to the server
  const transport = new StdioClientTransport({
    command: "node",
    args: ["dist/index.js"]
  });

  const client = new Client({ name: "deep-research-client", version: "1.0.0" });
  await client.connect(transport);

  // Initialize research
  const initResult = await client.callTool({
    name: "initialize-research",
    arguments: {
      query: "The impact of artificial intelligence on healthcare",
      depth: 3
    }
  });
  
  // Parse the response to get sessionId
  const { sessionId } = JSON.parse(initResult.content[0].text);
  
  // Execute steps until complete
  let currentDepth = 0;
  while (currentDepth < 3) {
    const stepResult = await client.callTool({
      name: "execute-research-step",
      arguments: { sessionId }
    });
    
    const stepInfo = JSON.parse(stepResult.content[0].text);
    currentDepth = stepInfo.currentDepth;
    
    console.log(`Completed step ${stepInfo.currentDepth}/${stepInfo.maxDepth}`);
  }
  
  // Generate final report with timeout
  const report = await client.callTool({
    name: "generate-report",
    arguments: { 
      sessionId,
      timeout: 180000 // 3 minutes timeout
    }
  });
  
  console.log("Final Report:");
  console.log(report.content[0].text);
}

main().catch(console.error);

🔍 Solución de problemas

Problemas comunes

  • Límite de tokens excedido : En temas de investigación muy extensos, es posible que se produzcan errores de límite de tokens de OpenAI. Pruebe:

    • Reducir la profundidad de la investigación

    • Usando consultas más específicas

    • Dividir temas complejos en subtemas más pequeños

  • Errores de tiempo de espera : En investigaciones complejas, el proceso puede agotar el tiempo de espera. Soluciones:

    • Aumentar los parámetros de tiempo de espera en las llamadas de herramientas

    • Utilice la herramienta complete-research con un tiempo de espera más largo

    • Investigación de procesos en fragmentos más pequeños

  • Límites de velocidad de la API : si encuentra errores de límite de velocidad de OpenAI o Firecrawl:

    • Implementar un retraso entre los pasos de la investigación

    • Utilice una clave API con límites de velocidad más altos

    • Reintentar con retroceso exponencial

📝 Licencia

ISC

🙏 Agradecimientos

Available Tools

4 tools
complete-researchD
ParametersJSON Schema
NameRequiredDescriptionDefault
depthNo
queryYes
timeoutNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute-research-stepD
ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate-reportD
ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes
timeoutNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

initialize-researchD
ParametersJSON Schema
NameRequiredDescriptionDefault
depthNo
queryYes

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • First observedcomplete-research
    • First observedexecute-research-step
    • First observedgenerate-report
    • First observedinitialize-research

TDQS

D1.6/5.0

Scored across 4 tools

Disambiguation2/5

The tools have overlapping purposes with unclear boundaries, as 'complete-research', 'execute-research-step', and 'initialize-research' all seem to relate to conducting research without clear distinctions. The lack of descriptions exacerbates ambiguity, making it difficult to differentiate their specific roles in a research workflow.

Naming Consistency5/5

All tool names follow a consistent verb-noun pattern with hyphens (e.g., 'complete-research', 'execute-research-step'), showing a predictable and readable naming convention throughout the set. There are no deviations or mixed styles, making the naming highly consistent.

Tool Count3/5

With 4 tools, the count is borderline for a research domain, as it feels thin for covering a complete research lifecycle (e.g., data analysis, validation, collaboration). While it might handle basic steps, the limited number suggests potential gaps in functionality for a comprehensive research process.

Completeness2/5

The tool set shows significant gaps for a research domain, as it lacks operations for data gathering, analysis, validation, or collaboration (e.g., no tools for searching sources, analyzing data, or peer review). The surface is incomplete, likely causing agent failures in conducting thorough research without workarounds.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables iterative deep research by integrating AI agents with search engines, web scraping, and large language models for efficient data gathering and comprehensive reporting.
    4 npm
    323
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A research tool that performs comprehensive, in-depth research on complex topics by combining sequential thinking with Brave Search capabilities to provide detailed, well-sourced reports.
    4 npm
    3
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    An automated research agent that leverages Google Gemini models and Google Search to perform deep, multi-step web research, generating sophisticated queries and producing citation-rich answers.
    1
    28
    MIT