DeepResearch MCP

Integrations

  • Uses environment variables for configuration of API keys and other settings, with support for .env files

  • Runs on Node.js as the underlying runtime environment, requiring Node.js 18 or higher for operation

  • Leverages OpenAI for analysis and report generation as part of the research workflow, processing collected information into structured knowledge

딥리서치 MCP

📚 개요

DeepResearch MCP는 모델 컨텍스트 프로토콜(MCP)을 기반으로 구축된 강력한 연구 지원 도구입니다. 웹 검색, 분석 및 종합 보고서 생성을 통해 모든 주제에 대해 지능적이고 반복적인 연구를 수행합니다.

🌟 주요 특징

  • 지능형 주제 탐색 - 지식 격차를 자동으로 식별하고 집중적인 검색 쿼리를 생성합니다.
  • 포괄적인 콘텐츠 추출 - 향상된 콘텐츠 구성을 통한 향상된 웹 스크래핑
  • 구조화된 지식 처리 - 토큰 사용을 관리하면서 중요한 정보를 보존합니다.
  • 학술 보고서 생성 - 요약, 분석 및 시각화를 통해 상세하고 잘 구성된 보고서를 생성합니다.
  • 완전한 참고문헌 - 번호가 매겨진 참조를 통해 모든 출처를 적절하게 인용합니다.
  • 적응형 콘텐츠 관리 - 토큰 한도 내에 있도록 콘텐츠를 자동으로 관리합니다.
  • 오류 복원력 - 전체 처리가 불가능한 경우 오류를 복구하고 부분 보고서를 생성합니다.

🛠️ 건축

지엑스피1

💻 설치

필수 조건

  • Node.js 18 이상
  • OpenAI API 키
  • Firecrawl API 키

설정 단계

  1. 저장소를 복제합니다
    git clone <repository-url> cd deep-research-mcp
  2. 종속성 설치
    npm install
  3. 환경 변수 구성
    cp .env.example .env
    .env 파일을 편집하고 API 키를 추가하세요.
    OPENAI_API_KEY=sk-your-openai-api-key FIRECRAWL_API_KEY=your-firecrawl-api-key
  4. 프로젝트를 빌드하세요
    npm run build

🚀 사용법

MCP 서버 실행

MCP 클라이언트 연결을 위해 stdio에서 서버를 시작합니다.

npm start

예제 클라이언트 사용

특정 주제에 대해 지정된 깊이로 연구를 실행합니다.

npm run client "Your research topic" 3

매개변수:

  • 첫 번째 주장: 연구 주제 또는 질의
  • 두 번째 인수: 연구 깊이(반복 횟수, 기본값: 2)
  • 세 번째 인수(선택 사항): 완전한 연구 도구(단일 단계 프로세스)를 사용하려면 "complete"를 사용합니다.

예:

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

출력 예

DeepResearch MCP는 다음을 포함하는 포괄적인 보고서를 작성합니다.

  • 요약 - 연구 결과에 대한 간략한 개요
  • 서론 - 연구 주제의 맥락 및 중요성
  • 방법론 - 연구 접근 방식에 대한 설명
  • 종합 분석 - 주제에 대한 자세한 검토
  • 비교 분석 - 주요 측면의 시각적 비교
  • 토론 - 연구 결과 및 의미 해석
  • 제한 사항 - 연구의 제약 및 차이점
  • 결론 - 최종 통찰력 및 권장 사항
  • 참고문헌 - URL이 포함된 전체 출처 목록

🔧 MCP 통합

사용 가능한 MCP 리소스

리소스 경로설명
research://state/{sessionId}연구 세션의 현재 상태에 액세스하세요
research://findings/{sessionId}세션에 대한 수집된 결과에 액세스하세요

사용 가능한 MCP 도구

도구 이름설명매개변수
initialize-research새로운 연구 세션을 시작하세요query : 문자열, depth : 숫자
execute-research-step다음 연구 단계를 실행하세요sessionId : 문자열
generate-report최종 보고서 작성sessionId : 문자열, timeout : 숫자(선택 사항)
complete-research전체 연구 과정을 실행합니다query : 문자열, depth : 숫자, timeout : 숫자(선택 사항)

🖥️ Claude 데스크톱 통합

DeepResearch MCP는 Claude Desktop과 통합되어 Claude에 직접적인 연구 기능을 제공할 수 있습니다.

구성 단계

  1. 샘플 구성을 복사합니다
    cp claude_desktop_config_sample.json ~/path/to/claude/desktop/config/directory/claude_desktop_config.json
  2. 구성 파일을 편집하세요deep-research-mcp 설치를 가리키도록 경로를 업데이트하고 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. Claude Desktop을 다시 시작하세요구성을 저장한 후 Claude Desktop을 다시 시작하여 변경 사항을 적용하세요.
  4. Claude Desktop과 함께 사용이제 다음과 같은 명령을 사용하여 Claude에게 연구를 수행하도록 요청할 수 있습니다.
    Can you research the impact of climate change on coral reefs and provide a detailed report?

📋 샘플 클라이언트 코드

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);

🔍 문제 해결

일반적인 문제

  • 토큰 한도 초과 : 매우 큰 규모의 연구 주제의 경우 OpenAI 토큰 한도 오류가 발생할 수 있습니다. 다음을 시도해 보세요.
    • 연구 깊이 줄이기
    • 더 구체적인 쿼리 사용
    • 복잡한 주제를 더 작은 하위 주제로 나누기
  • 시간 초과 오류 : 복잡한 조사의 경우, 프로세스가 시간 초과될 수 있습니다. 해결 방법:
    • 도구 호출에서 시간 초과 매개변수를 늘리세요
    • 더 긴 시간 제한이 있는 complete-research 도구를 사용하세요
    • 더 작은 단위로 연구 과정 진행
  • API 속도 제한 : OpenAI 또는 Firecrawl에서 속도 제한 오류가 발생하는 경우:
    • 연구 단계 사이에 지연을 구현합니다.
    • 더 높은 속도 제한이 있는 API 키를 사용하세요
    • 지수 백오프로 재시도

📝 라이센스

아이에스씨

🙏 감사의 말

ID: fstxi0xu1t