Deep Research MCP
深度研究 MCP 🌐
欢迎来到Deep Research MCP代码库!本项目提供了一个符合模型上下文协议 (MCP) 的服务器。它旨在促进全面的网络研究。通过利用 Tavily 的搜索和爬取 API,该服务器收集各种主题的详细信息,并构建这些数据,以支持使用大型语言模型 (LLM) 创建高质量的 Markdown 文档。
目录
Related MCP server: Deep Research MCP Server
特征
MCP 合规性:服务器遵守模型上下文协议,确保与各种工具和服务的兼容性。
数据聚合:有效地收集和构建来自多个来源的数据。
Markdown 生成:将收集的数据转换为结构良好的 Markdown 文档。
网络爬取:利用 Tavily 的搜索和爬取 API 进行深入的网络研究。
Node.js 和 TypeScript :使用现代技术构建,以获得更好的性能和可维护性。
安装
要开始使用 Deep Research MCP,请按照以下步骤操作:
克隆存储库:
git clone https://github.com/ali-kh7/deep-research-mcp.git导航到项目目录:
cd deep-research-mcp安装依赖项:
npm install运行服务器:
npm start
您还可以查看“发布”部分以了解可下载的文件和具体版本。
用法
服务器运行后,您可以通过 API 与其交互。以下是如何有效地使用它:
发送收集信息的请求:
您可以向服务器发送包含特定主题的请求来收集数据。服务器将返回可供生成 Markdown 的结构化信息。
示例请求:
POST /api/research Content-Type: application/json { "topic": "Artificial Intelligence" }接收结构化数据:
服务器以结构化格式返回数据。这些数据可以直接使用,也可以转换成 Markdown 文档。
生成 markdown 文档:
可以使用 API 中提供的函数将结构化数据转换为 markdown。
Markdown 输出示例
# Artificial Intelligence
## Overview
Artificial Intelligence (AI) refers to the simulation of human intelligence in machines.
## Applications
- Healthcare
- Finance
- Transportation
## Conclusion
AI is transforming industries and shaping the future.API 文档
有关详细的 API 文档,请参阅此存储库中的docs文件夹。它包含有关所有可用端点、请求格式和响应结构的信息。
端点
POST /api/research :收集有关特定主题的信息。
GET /api/status :检查服务器状态。
贡献
我们欢迎大家为改进 Deep Research MCP 做出贡献。如果您有意贡献,请按以下步骤操作:
分叉存储库。
创建新分支:
git checkout -b feature/YourFeatureName进行更改。
提交您的更改:
git commit -m "Add your message here"推送到分支:
git push origin feature/YourFeatureName打开拉取请求。
执照
本项目遵循 MIT 许可证。详情请参阅LICENSE文件。
支持
如果您遇到任何问题或有疑问,请查看发布部分或在存储库中打开问题。
感谢您关注 Deep Research MCP!希望这款工具能够提升您的网络研究能力。祝您编程愉快!
Available Tools
1 tooldeep-research-toolC
Performs extensive web research using Tavily Search and Crawl. Returns aggregated JSON data including the query, search summary (if any), detailed research findings, and documentation instructions. The documentation instructions will guide you on how the user wants the research data to be formatted into markdown.
| Name | Required | Description | Default |
|---|---|---|---|
| chunks_per_source | No | For 'advanced' search: number of content chunks from each source (1-3). | |
| crawl_allow_external | No | Allow crawler to follow links to external domains. | |
| crawl_categories | No | Filter crawl URLs by categories (e.g., 'Blog', 'Documentation'). | |
| crawl_exclude_domains | No | Regex for domains/subdomains to exclude. | |
| crawl_exclude_paths | No | Regex for URL paths to exclude. | |
| crawl_extract_depth | No | Extraction depth for crawl ('basic' or 'advanced'). | basic |
| crawl_include_images | No | Extract image URLs from crawled pages. | |
| crawl_instructions | No | Natural language instructions for the crawler. | |
| crawl_limit | No | Total links crawler will process per root URL (1-20). | |
| crawl_max_breadth | No | Max links to follow per page level during crawl (1-10). | |
| crawl_max_depth | No | Max crawl depth from base URL (1-2). Higher values increase processing time significantly. | |
| crawl_select_domains | No | Regex for domains/subdomains to crawl (e.g., '^docs\.example\.com$'). Overrides auto-domain focus. | |
| crawl_select_paths | No | Regex for URLs paths to crawl (e.g., '/docs/.*'). | |
| crawl_timeout | No | Timeout in seconds for Tavily crawl requests. | |
| days | No | For 'news' topic: number of days back from current date to include results. | |
| documentation_prompt | No | Optional. Custom prompt for LLM documentation generation. Overrides 'DOCUMENTATION_PROMPT' env var and default. If none set, a comprehensive default is used. | |
| exclude_domains_search | No | List of domains to specifically exclude from search. | |
| hardware_acceleration | No | Try to use hardware acceleration (WebGPU) if available. | |
| include_answer | No | Include an LLM-generated answer from Tavily search (true implies 'basic'). | |
| include_domains_search | No | List of domains to specifically include in search. | |
| include_raw_content_search | No | Include cleaned HTML from initial search results. | |
| include_search_image_descriptions | No | Include image descriptions from initial search results. | |
| include_search_images | No | Include image URLs from initial search results. | |
| max_search_results | No | Max search results to retrieve for crawling (1-20). | |
| output_path | No | Optional. Path where generated research documents and images should be saved. If not provided, a default path in user's Documents folder with timestamp will be used. | |
| query | Yes | The main research topic or question. | |
| search_depth | No | Depth of the initial Tavily search ('basic' or 'advanced'). | advanced |
| search_timeout | No | Timeout in seconds for Tavily search requests. | |
| time_range | No | Time range for search results (e.g., 'd' for day, 'w' for week, 'm' for month, 'y' for year). | |
| topic | No | Category for the Tavily search ('general' or 'news'). | general |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the tool returns aggregated JSON data and documentation instructions, but fails to disclose critical behavioral traits: it doesn't indicate whether this is a read-only or mutating operation, potential side effects (e.g., network usage, rate limits), error handling, or performance characteristics. For a complex tool with 30 parameters, this is a significant gap.
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?
The description is two sentences, which is efficient, but it's not optimally front-loaded. The first sentence covers purpose and output, while the second adds detail on documentation instructions. However, for such a complex tool, more structure (e.g., bullet points or clearer sections) could improve readability without adding waste.
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?
Given high complexity (30 parameters), no annotations, and no output schema, the description is incomplete. It covers basic purpose and output format but lacks crucial context: no behavioral transparency, no usage guidelines, and minimal parameter guidance. For a tool of this scale, the description should provide more holistic guidance to compensate for missing structured data.
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?
Schema description coverage is 100%, so the schema fully documents all 30 parameters. The description adds no parameter-specific information beyond implying the 'query' parameter is central. It mentions 'documentation instructions' which relates to the 'documentation_prompt' parameter, but this is minimal. Baseline 3 is appropriate as the schema does the heavy lifting.
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?
The description clearly states the tool 'performs extensive web research using Tavily Search and Crawl' and specifies it 'returns aggregated JSON data' with specific components like query, search summary, findings, and documentation instructions. It distinguishes the tool as a comprehensive research tool, though without sibling tools, differentiation isn't needed. The purpose is specific but could be more precise about the verb (e.g., 'conducts' vs. 'performs').
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?
The description provides no guidance on when to use this tool versus alternatives, prerequisites, or typical use cases. It mentions the tool's output includes documentation instructions for formatting, but this is about post-processing rather than usage context. With no sibling tools, the bar is lower, but it still lacks basic contextual cues for an agent.
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 tool update
v1.0.0- First observed
deep-research-tool
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap with other tools. The tool's purpose is clearly defined as performing extensive web research, and there are no other tools to confuse it with.
Since there is only one tool, naming consistency is inherently perfect. The tool name 'deep-research-tool' follows a clear and descriptive pattern, and there are no other tools to create inconsistency with.
A single tool is generally too few for a server named 'Deep Research MCP', which suggests a broader scope of research-related operations. While the tool is comprehensive, the lack of additional tools (e.g., for query refinement, result filtering, or different research methods) makes the set feel thin and underdeveloped for the domain.
The tool covers basic research functionality but leaves significant gaps in the research domain. There are no tools for managing research queries, saving or organizing results, or performing specialized research tasks, which limits the server's ability to handle complex research workflows effectively.
Related MCP Connectors
Web search, URL content extraction to Markdown, site mapping, and recursive web crawler.
Web search, fetch, extract, and research for AI agents. Markdown output + AI-synthesized answers.
Unified 15-tool SEO, SERP, clean Markdown & GEO (LLM citation Share-of-Voice) MCP server.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server enabling advanced search and content extraction using the Tavily API, with rich customization and integration options.55 npm12MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that performs comprehensive web research by combining Tavily Search and Crawl APIs to gather extensive information and provide structured JSON output tailored for LLMs to create detailed markdown documents.46 npm27Apache 2.0
- FlicenseCqualityDmaintenanceA Model Context Protocol server that enables web search capabilities using the Tavily API, allowing AI models to retrieve current information from the internet through natural language commands.3-
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables web search and document retrieval capabilities through Tavily API and LangConnect vector database, supporting AI agents in gathering information for comprehensive report generation.23-