DeepResearch MCP
ディープリサーチMCP
📚 概要
DeepResearch MCPは、モデルコンテキストプロトコル(MCP)を基盤とする強力なリサーチアシスタントです。Web検索、分析、包括的なレポート生成を通じて、あらゆるトピックに関するインテリジェントで反復的なリサーチを実行します。
🌟 主な機能
インテリジェントなトピック探索- 知識のギャップを自動的に特定し、焦点を絞った検索クエリを生成します
包括的なコンテンツ抽出- コンテンツ構成の改善による強化されたWebスクレイピング
構造化知識処理- トークンの使用を管理しながら重要な情報を保存します
学術レポート生成- エグゼクティブサマリー、分析、視覚化を備えた詳細で構造化されたレポートを作成します。
完全な参考文献- 番号付きの参考文献ですべての情報源を適切に引用する
適応型コンテンツ管理- トークン制限内に収まるようにコンテンツを自動的に管理します
エラー耐性- 完全な処理が不可能な場合にエラーから回復し、部分的なレポートを生成します
Related MCP server: OpenDeepSearch
🛠️ 建築
┌────────────────────┐ ┌─────────────────┐ ┌────────────────┐
│ │ │ │ │ │
│ MCP Server Layer ├────►│ Research Service├────►│ Search Service │
│ (Tools & Prompts) │ │ (Session Mgmt) │ │ (Firecrawl) │
│ │ │ │ │ │
└────────────────────┘ └─────────┬───────┘ └────────────────┘
│
▼
┌─────────────────┐
│ │
│ OpenAI Service │
│ (Analysis/Rpt) │
│ │
└─────────────────┘💻 インストール
前提条件
Node.js 18以上
OpenAI APIキー
Firecrawl APIキー
セットアップ手順
リポジトリをクローンする
git clone <repository-url> cd deep-research-mcp依存関係をインストールする
npm install環境変数を設定する
cp .env.example .env.envファイルを編集し、API キーを追加します。OPENAI_API_KEY=sk-your-openai-api-key FIRECRAWL_API_KEY=your-firecrawl-api-keyプロジェクトを構築する
npm run build
🚀 使用方法
MCPサーバーの実行
MCP クライアント接続用に stdio でサーバーを起動します。
npm startサンプルクライアントの使用
特定のトピックについて、指定した深さで調査を実行します。
npm run client "Your research topic" 3パラメータ:
最初の議論: 研究テーマまたはクエリ
2番目の引数: 調査の深さ(反復回数、デフォルト: 2)
3 番目の引数(オプション): 「complete」を指定すると、complete-research ツール(ワンステップ プロセス)が使用されます。
例:
npm run client "the impact of climate change on coral reefs" 3 complete出力例
DeepResearch MCP は、以下の内容を含む包括的なレポートを作成します。
エグゼクティブサマリー- 研究結果の簡潔な概要
はじめに- 研究テーマの背景と重要性
方法論- 研究アプローチの説明
包括的な分析- トピックの詳細な調査
比較分析- 主要な側面の視覚的な比較
考察- 調査結果とその意味の解釈
限界- 研究における制約とギャップ
結論- 最終的な洞察と推奨事項
参考文献- URL を含む完全な情報源リスト
🔧 MCP 統合
利用可能なMCPリソース
リソースパス | 説明 |
| 研究セッションの現在の状態にアクセスする |
| セッションで収集された結果にアクセスする |
利用可能なMCPツール
ツール名 | 説明 | パラメータ |
| 新しい研究セッションを開始する |
|
| 次の研究ステップを実行する |
|
| 最終レポートを作成する |
|
| 研究プロセス全体を実行する |
|
🖥️ クロード デスクトップ統合
DeepResearch MCP を Claude Desktop と統合して、Claude に直接リサーチ機能を提供できます。
設定手順
サンプル構成をコピーする
cp claude_desktop_config_sample.json ~/path/to/claude/desktop/config/directory/claude_desktop_config.json設定ファイルを編集する
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" } } } }Claudeデスクトップを再起動します
設定を保存した後、変更を有効にするために Claude Desktop を再起動します。
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キーを使用する
指数バックオフで再試行する
📝 ライセンス
ISC
🙏 謝辞
Available Tools
4 toolscomplete-researchD
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | ||
| query | Yes | ||
| timeout | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | ||
| timeout | No |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | ||
| query | Yes |
TDQS
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.
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.
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.
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.
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.
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.
4 tool updates
v1.0.0- First observed
complete-research - First observed
execute-research-step - First observed
generate-report - First observed
initialize-research
TDQS
Scored across 4 tools
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.
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.
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.
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
Related MCP Connectors
Real-time web and scholarly search with cited answers and multi-step deep research.
Web search, fetch, extract, and research for AI agents. Markdown output + AI-synthesized answers.
Agent-native search engine with live web research optimized for AI agents.
Fan out deep research across multiple AI providers, synthesize into one unified report.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables iterative deep research by integrating AI agents with search engines, web scraping, and large language models for efficient data gathering and comprehensive reporting.4 npm323MIT
- AlicenseNot gradedqualityDmaintenanceA 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 npm3MIT
- AlicenseNot gradedqualityDmaintenanceA tool that helps users conduct comprehensive research on complex topics by exploring questions in depth, finding relevant sources, and generating structured, well-cited research reports.215MIT
- AlicenseBqualityCmaintenanceAn 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.128MIT