Deep Research MCP
This server performs comprehensive web research and generates structured markdown documents using Tavily's Search and Crawl APIs.
Web Research: Gather detailed information on various topics from multiple web sources
Data Aggregation: Collect and structure data into usable JSON format
Markdown Generation: Convert research data into well-organized documents with customizable formatting
Search Customization: Control parameters like time range, depth, and included/excluded domains
Crawling Control: Define specific URLs, categories, and depth for web crawls
Server Status: Check operational status
MCP Compliance: Adheres to the Model Context Protocol
Provides access to GitHub repositories for downloading releases of the Deep Research MCP server
Enables conversion of gathered research data into well-structured markdown documents
Leverages Node.js as the runtime environment for the MCP server implementation
Incorporates Shields.io badges for displaying version information in the repository
Built using TypeScript for better performance and maintainability of the MCP server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Deep Research MCPresearch the latest developments in quantum computing and summarize key findings"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Deep Research MCP 🌐
Welcome to the Deep Research MCP repository! This project provides a server compliant with the Model Context Protocol (MCP). It is designed to facilitate comprehensive web research. By utilizing Tavily's Search and Crawl APIs, the server gathers detailed information on various topics and structures this data to support high-quality markdown document creation using large language models (LLMs).
Table of Contents
Related MCP server: Deep Research MCP Server
Features
MCP Compliance: The server adheres to the Model Context Protocol, ensuring compatibility with various tools and services.
Data Aggregation: Efficiently gathers and structures data from multiple sources.
Markdown Generation: Converts gathered data into well-structured markdown documents.
Web Crawling: Utilizes Tavily's Search and Crawl APIs for in-depth web research.
Node.js and TypeScript: Built using modern technologies for better performance and maintainability.
Installation
To get started with Deep Research MCP, follow these steps:
Clone the repository:
git clone https://github.com/ali-kh7/deep-research-mcp.gitNavigate to the project directory:
cd deep-research-mcpInstall the dependencies:
npm installRun the server:
npm start
You can also check the Releases section for downloadable files and specific versions.
Usage
Once the server is running, you can interact with it via the API. Here’s how to use it effectively:
Send a request to gather information:
You can send a request to the server with a specific topic to gather data. The server will return structured information ready for markdown generation.
Example request:
POST /api/research Content-Type: application/json { "topic": "Artificial Intelligence" }Receive structured data:
The server responds with data in a structured format. This data can be used directly or transformed into markdown documents.
Generate markdown documents:
The structured data can be converted into markdown using the provided functions in the API.
Example Markdown Output
# 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 Documentation
For detailed API documentation, please refer to the docs folder in this repository. It contains information on all available endpoints, request formats, and response structures.
Endpoints
POST /api/research: Gather information on a specific topic.
GET /api/status: Check the server status.
Contributing
We welcome contributions to improve Deep Research MCP. If you want to contribute, please follow these steps:
Fork the repository.
Create a new branch:
git checkout -b feature/YourFeatureNameMake your changes.
Commit your changes:
git commit -m "Add your message here"Push to the branch:
git push origin feature/YourFeatureNameOpen a Pull Request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Support
If you encounter any issues or have questions, please check the Releases section or open an issue in the repository.
Thank you for checking out Deep Research MCP! We hope this tool enhances your web research capabilities. Happy coding!
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. Dates show when Glama detected each change.
1 tool update
v1.0.0- First observed
deep-research-tool
TDQS
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.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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.
A Model Context Protocol server for Wix AI tools
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.6912MIT
- AlicenseNot gradedqualityCmaintenanceA 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.3427Apache 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.22-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/ali-kh7/deep-research-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server