Skip to main content
Glama
thejusdutt

deep-search-mcp

by thejusdutt

Deep Search MCP Server

An MCP (Model Context Protocol) server that performs comprehensive web searches by combining Google search with advanced content extraction using Mozilla's Readability algorithm.

Features

  • Advanced Content Extraction - Uses Mozilla's Readability algorithm (same as Firefox Reader View) for clean article extraction

  • Multiple Search Types - Web search, news search, and image search

  • Domain Filtering - Include or exclude specific domains from results

  • Retry Logic - Automatic retries with exponential backoff for reliability

  • Controlled Concurrency - Fetches pages in batches to avoid overwhelming servers

  • Full Content - Returns complete page content, not just snippets

Related MCP server: Web Search MCP Tool

Prerequisites

Get a Serper API Key

This MCP server uses Serper.dev for Google search results.

  1. Go to https://serper.dev

  2. Sign up for a free account (2,500 free searches)

  3. Copy your API key from the dashboard

Installation

No installation needed - just configure your MCP client:

{
  "mcpServers": {
    "deep-search": {
      "command": "npx",
      "args": ["-y", "@thejusdutt/deep-search-mcp"],
      "env": {
        "SERPER_API_KEY": "your-serper-api-key-here"
      }
    }
  }
}

Global Installation

npm install -g @thejusdutt/deep-search-mcp

Then configure:

{
  "mcpServers": {
    "deep-search": {
      "command": "deep-search-mcp",
      "env": {
        "SERPER_API_KEY": "your-serper-api-key-here"
      }
    }
  }
}

Tools

Comprehensive web search with full content extraction.

Parameters:

Parameter

Type

Default

Description

query

string

required

The search query

num_results

number

10

Number of results (1-10)

max_content_per_page

number

50000

Max characters per page (5000-100000)

search_type

string

"web"

Search type: "web", "news", or "images"

include_domains

string

-

Comma-separated domains to include

exclude_domains

string

-

Comma-separated domains to exclude

Examples:

// Basic web search
deep_search({ query: "React best practices 2025" })

// News search
deep_search({ query: "AI announcements", search_type: "news" })

// Image search - returns image URLs and source pages
deep_search({ query: "cute cats", search_type: "images" })

// Search specific sites only
deep_search({ 
  query: "TypeScript tips",
  include_domains: "github.com,dev.to"
})

// Exclude certain sites
deep_search({
  query: "web development trends",
  exclude_domains: "pinterest.com,facebook.com"
})

deep_search_news

Optimized for news article search.

Parameters:

Parameter

Type

Default

Description

query

string

required

The news topic to search

num_results

number

10

Number of articles (1-10)

max_content_per_page

number

30000

Max characters per article

Example:

deep_search_news({ query: "OpenAI latest updates" })

Configuration for Different MCP Clients

Kiro / Claude Desktop

Add to ~/.kiro/settings/mcp.json or claude_desktop_config.json:

{
  "mcpServers": {
    "deep-search": {
      "command": "npx",
      "args": ["-y", "deep-search-mcp"],
      "env": {
        "SERPER_API_KEY": "your-api-key"
      }
    }
  }
}

VS Code with Continue

Add to your Continue config:

{
  "mcpServers": [
    {
      "name": "deep-search",
      "command": "npx",
      "args": ["-y", "deep-search-mcp"],
      "env": {
        "SERPER_API_KEY": "your-api-key"
      }
    }
  ]
}

Search Types

Web Search (default)

Standard Google search with full page content extraction using Mozilla Readability.

Searches Google News for recent articles. Use search_type: "news" or the dedicated deep_search_news tool.

Searches Google Images and returns:

  • title - Image title/description

  • link - Source page URL where the image is hosted

  • snippet - Direct image URL

Note: Image search returns metadata and URLs only - it does not download or display actual images.

How It Works

  1. Search - Queries Google via Serper API to get top results

  2. Fetch - Downloads each result page with retry logic (web/news only)

  3. Extract - Uses Mozilla Readability to extract clean article content

  4. Format - Returns consolidated markdown with full content from each page

Requirements

License

MIT

Author

thejusdutt

Contributing

Issues and PRs welcome at GitHub

Available Tools

2 tools
deep_search_newsB

Searches for recent news articles on a topic, fetches full article content, and returns consolidated results. Optimized for news and current events.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe news topic to search for
num_resultsNoNumber of news articles to fetch (1-10, default: 10)
max_content_per_pageNoMaximum characters per article (default: 30000)

TDQS

B3.4/5.0
Behavior3/5

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 does disclose the multi-step pipeline (search, fetch full article content, consolidate), which is genuinely useful. However it says nothing about permissions, rate limits, failure modes when articles can't be fetched, or how truncation via max_content_per_page affects output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences; the core action and the consolidating behavior come first, with the news-focus qualifier at the end. Nothing is redundant, though there is no explicit output-format note.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with no annotations and no output schema, the description covers the essential workflow but leaves gaps: it doesn't characterize the return structure ('consolidated results' is vague) or the trade-off implied by max_content_per_page truncation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (query, num_results, max_content_per_page) already have descriptions with defaults and ranges. The description adds no parameter-level detail beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (searches news articles) plus the multi-step behavior (fetches full content, returns consolidated results). The 'Optimized for news and current events' clause implicitly differentiates it from the sibling deep_search, though it never names that sibling directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Optimized for news and current events' gives an implied usage domain, but there is no explicit when-to-use/ when-not guidance and no reference to the sibling deep_search, which is the obvious alternative for non-news queries.

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. 2 tool updatesv2.0.3
    • First observeddeep_search
    • First observeddeep_search_news

TDQS

B3.3/5.0

Scored across 2 tools

Disambiguation3/5

deep_search and deep_search_news overlap because deep_search explicitly supports news search types, so an agent may be unsure when to use the specialized news tool versus the general one. The descriptions help clarify that one is optimized for news, but the functional boundary remains fuzzy.

Naming Consistency4/5

Both tools use consistent snake_case and share the deep_search prefix, making the set predictable and readable. It is not a strict verb_noun pattern, but the convention is internally consistent.

Tool Count3/5

Only two tools are provided for a search server, and one is largely a specialization of the other, so the set feels thin and partially redundant. A slightly broader surface, such as separate image or filtered search tools, would better match the apparent scope.

Completeness3/5

General web and news search are covered, but image search is only a mode inside deep_search and there are no distinct tools for other common search needs or filters. The specialized news tool duplicates functionality already present in deep_search.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    Not graded
    maintenance
    Enables web search through Google and Wikipedia plus content extraction from any webpage via the Seekr API. Provides real-time search results with advanced filtering options and clean text extraction capabilities.
    2
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables Google search automation and web content extraction using Playwright. Performs Google searches and fetches main content from web pages, returning structured results in JSON format.
    13 npm
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables comprehensive web and news searches via the Google Custom Search API with integrated content extraction using the Mozilla Readability algorithm. It allows users to perform quick snippet lookups or deep searches that fetch and format full article content into clean markdown.
    3
    7 npm
    2
    MIT