MCP Deep Search
Provides privacy-first web search with structured results through the Brave Search API
Provides web search capabilities through DuckDuckGo's search service
Enables Gemini grounding search for web queries through Google's API
Provides ChatGPT-grade contextual web search using OpenAI's search capabilities
Enables web search through Perplexity's Sonar and Sonar Pro search variants via OpenRouter
Click on "Deploy 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., "@MCP Deep Searchresearch the latest quantum computing breakthroughs"
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.
MCP Deep Search
MCP server for deep web search using @just-every/search. Search across multiple providers including Google, Bing, Brave, DuckDuckGo, Perplexity, and more.
Quick Start
1. Create or use an environment file
Option A: Create a new .llm.env file in your home directory:
# Download example env file
curl -o ~/.llm.env https://raw.githubusercontent.com/just-every/mcp-deep-search/main/.env.example
# Edit with your API keys
nano ~/.llm.envOption B: Use an existing .env file (must use absolute path):
# Example: /Users/yourname/projects/myproject/.env
# Example: /home/yourname/workspace/.env2. Install
Claude Code
# Using ~/.llm.env
claude mcp add deep-search -s user -e ENV_FILE=$HOME/.llm.env -- npx -y @just-every/mcp-deep-search
# Using existing .env file (absolute path required)
claude mcp add deep-search -s user -e ENV_FILE=/absolute/path/to/your/.env -- npx -y @just-every/mcp-deep-search
# For debugging, check if ENV_FILE is being passed correctly:
claude mcp listOther MCP Clients
Add to your MCP configuration:
{
"mcpServers": {
"deep-search": {
"command": "npx",
"args": ["-y", "@just-every/mcp-deep-search"],
"env": {
"ENV_FILE": "/path/to/.llm.env"
}
}
}
}Related MCP server: MCP MixSearch
MCP Tools
deep_search
Perform web searches using a specific provider.
Parameters:
query(required): The search queryprovider: Search provider (default: brave)maxResults: Maximum results (default: 10)includeAnswer: Include AI answer if available (default: false)
comprehensive_research
Perform comprehensive research using AI agents that intelligently select and query multiple search engines.
Parameters:
query(required): The research topicmodelClass: AI model class (default: reasoning_mini)
Search Providers
Provider | API Key Required | Description |
|
| Privacy-first search with structured results |
|
| Deep multi-hop research |
|
| ChatGPT-grade contextual search |
|
| Gemini grounding search |
|
| Perplexity search variants |
|
| Real-time Grok search |
CLI Usage
# Basic search
mcp-deep-search search "your query"
# Search with specific provider
mcp-deep-search search "your query" -p brave
# Get more results
mcp-deep-search search "your query" -n 20Troubleshooting
MCP Server Shows "Failed" in Claude
If you see "deep-search ✘ failed" in Claude, check these common issues:
Missing API Keys: The most common issue is missing API keys. Check that your ENV_FILE is properly configured:
# Test if ENV_FILE is working ENV_FILE=/path/to/your/.env npx @just-every/mcp-deep-search search "test"Incorrect Installation Command: Make sure you're using
-efor environment variables:# Correct - environment variable passed with -e flag before -- claude mcp add deep-search -s user -e ENV_FILE=$HOME/.llm.env -- npx -y @just-every/mcp-deep-search # Incorrect - trying to pass as argument claude mcp add deep-search -s user -- npx -y @just-every/mcp-deep-search --env ENV_FILE=$HOME/.llm.envPath Issues: ENV_FILE must use absolute paths:
# Good ENV_FILE=/Users/yourname/.llm.env ENV_FILE=$HOME/.llm.env # Bad ENV_FILE=.env ENV_FILE=~/.llm.env # ~ not expanded in some contextsVerify Installation: Check your MCP configuration:
claude mcp listDebug Mode: For detailed error messages, run manually:
ENV_FILE=/path/to/.env npx @just-every/mcp-deep-search
Getting API Keys
Brave: brave.com/search/api
Anthropic: console.anthropic.com
OpenAI: platform.openai.com
Google: makersuite.google.com
OpenRouter: openrouter.ai
xAI: x.ai
Auto-Restart Feature
The MCP server includes automatic restart capability by default for improved reliability:
Automatically restarts the server if it crashes
Handles unhandled exceptions and promise rejections
Implements exponential backoff (max 10 attempts in 1 minute)
Logs all restart attempts for monitoring
Gracefully handles shutdown signals (SIGINT, SIGTERM)
For development/debugging without auto-restart:
# Run directly without restart wrapper
npm run serve:devLicense
MIT © Just Every
Available Tools
2 toolscomprehensive_researchARead-only
Perform in-depth research on complex topics using AI agents that automatically search multiple sources, analyze findings, and compile comprehensive reports. Ideal for thorough investigations, market research, technical analysis, or any topic requiring deep understanding from multiple perspectives.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The research topic or question to investigate comprehensively | |
| modelClass | No | AI model class to use for research | reasoning_mini |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond annotations: it explains that the tool uses AI agents to 'automatically search multiple sources, analyze findings, and compile comprehensive reports.' This clarifies the multi-step, automated nature of the research process. Annotations already indicate it's read-only, non-destructive, open-world, and non-idempotent, so the description appropriately focuses on operational behavior without contradiction.
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 efficiently structured in two sentences: the first explains the core functionality, and the second provides usage context. Every phrase adds value without redundancy, and it's appropriately front-loaded with the main purpose.
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 the tool's complexity (multi-step AI research), the description adequately covers the high-level process but lacks details about output format (no output schema exists), potential limitations, or error handling. With annotations covering safety aspects, the description provides reasonable context but could be more complete for such a sophisticated tool.
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?
With 100% schema description coverage, the input schema fully documents both parameters ('query' and 'modelClass' with enum values). The description doesn't add any parameter-specific information beyond what's in the schema, so it meets the baseline expectation without providing extra semantic value.
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's purpose: 'Perform in-depth research on complex topics using AI agents that automatically search multiple sources, analyze findings, and compile comprehensive reports.' It specifies the verb (perform research), resource (complex topics), and method (using AI agents). However, it doesn't explicitly differentiate from its sibling 'deep_search' tool, which likely has overlapping functionality.
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 implied usage guidance: 'Ideal for thorough investigations, market research, technical analysis, or any topic requiring deep understanding from multiple perspectives.' This suggests appropriate contexts but doesn't explicitly state when to use this tool versus the 'deep_search' sibling or other alternatives, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deep_searchARead-only
Perform deep web searches to find current information, research topics, or answer questions using real-time data from multiple search providers. Use this when you need up-to-date information beyond your knowledge cutoff.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query | |
| provider | No | Search provider to use (e.g., google, bing, brave, etc.) | |
| maxResults | No | Maximum number of results to return | |
| includeAnswer | No | Include AI-generated answer for the query (if supported by provider) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable context beyond annotations: it specifies that the tool uses 'real-time data from multiple search providers' and is for 'current information', which clarifies its dynamic, non-idempotent nature hinted by annotations (idempotentHint: false). Annotations cover safety (readOnlyHint: true, destructiveHint: false) and scope (openWorldHint: true), so the description appropriately supplements with operational details without contradiction.
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 front-loaded with the core purpose in the first sentence and usage guidelines in the second. Every sentence earns its place by clearly stating what the tool does and when to use it, with zero wasted words. It is appropriately sized for a tool with four parameters and good annotations.
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 the tool's complexity (search with multiple providers and parameters), annotations cover safety and scope well, and schema coverage is 100%. The description adds necessary context about real-time data and usage scenarios. However, without an output schema, the description could briefly mention return types (e.g., search results or answers) to be more complete, though it's not required.
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 parameters (query, provider, maxResults, includeAnswer). The description does not add specific meaning beyond the schema, such as explaining how 'deep web' relates to parameters or provider capabilities. Baseline 3 is appropriate as the schema carries the burden, but no extra value is provided.
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's purpose with specific verbs ('perform deep web searches', 'find current information', 'research topics', 'answer questions') and resources ('real-time data from multiple search providers'). It distinguishes from the sibling tool 'comprehensive_research' by emphasizing 'deep web searches' for 'up-to-date information beyond your knowledge cutoff', suggesting a different scope or methodology.
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 explicitly states when to use this tool: 'Use this when you need up-to-date information beyond your knowledge cutoff.' This provides clear context for usage and implies an alternative (relying on internal knowledge) without naming specific sibling tools, but the mention of 'deep web searches' and 'real-time data' differentiates it from other potential tools like 'comprehensive_research'.
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.
2 tool updates
v0.1.23- First observed
comprehensive_research - First observed
deep_search
TDQS
Scored across 2 tools
The two tools have overlapping purposes, both focused on research and searching for information, with 'comprehensive_research' emphasizing analysis and reports and 'deep_search' focusing on real-time data. The boundaries are unclear, as an agent might struggle to choose between them for tasks like market research or technical analysis, leading to potential misselection.
The tool names use a consistent snake_case pattern, but they lack a predictable verb_noun structure. 'comprehensive_research' uses an adjective-noun format, while 'deep_search' uses an adjective-noun format as well, but the verbs are implied rather than explicit, making it readable but not fully consistent in action-oriented naming.
With only 2 tools, the server feels thin for a domain like 'Deep Search' that implies broad research capabilities. This limited set may not adequately cover the scope, as it lacks tools for specific operations like filtering results, saving reports, or handling different data types, making it borderline too few for the apparent purpose.
There are significant gaps in the tool surface for a research domain. The server lacks essential operations such as retrieving saved reports, updating research parameters, deleting old data, or managing search sessions. This incompleteness will likely cause agent failures when trying to perform end-to-end research workflows.
Maintenance
Related MCP Connectors
Real-time web and scholarly search with cited answers and multi-step deep research.
8-tool AI web intelligence suite: search, scrape, screenshot, SEO, docs, crypto, code.
Agent-native search engine with live web research optimized for AI agents.
Web research for agents: quality-scored Google search, webpage extraction, and deep research.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides privacy-focused web search capabilities through SearXNG metasearch engine, enabling web, image, video, and news searches without tracking. Includes comprehensive research tools that aggregate and analyze results from multiple search engines.34MIT
- AlicenseAqualityDmaintenanceEnables advanced web search across multiple search engines (Brave, DuckDuckGo, Google, Bing, Yandex) with intelligent backend selection, full content extraction, and advanced filtering by time, language, geography, and content type.3MIT
- AlicenseNot gradedqualityCmaintenanceEnables comprehensive web research through multi-engine search, intelligent website crawling, content analysis, trends data exploration, and automated research workflows with anti-detection measures and rich snippet detection.130MIT
- AlicenseAqualityBmaintenanceEnables web search without API keys using DuckDuckGo and Bing search engines, and retrieves webpage content. Supports multiple search engines simultaneously with privacy protection and asynchronous processing.2121 PyPI9MIT