mcp-web-search

1.0.0 • Public • Published

MCP Web Search Server

A Model Context Protocol (MCP) server that provides comprehensive web search capabilities using curl commands to interact with DuckDuckGo and Brave Search.

Features

  • Multiple Search Engines: Search using DuckDuckGo, Brave Search, or both
  • Unified Search: Combine results from multiple search engines with deduplication
  • Customizable Parameters: Control region, language, safe search, time filters, and more
  • Simple Integration: Easy to integrate with any MCP-compatible client

Installation

npm install mcp-web-search

Usage

As an MCP Server

Add the following to your MCP settings configuration file:

{
  "mcpServers": {
    "web-search": {
      "command": "node",
      "args": ["path/to/mcp-web-search/index.js"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Available Tools

DuckDuckGo Search

Search the web using DuckDuckGo.

{
  "name": "duckduckgo_search",
  "arguments": {
    "query": "your search query",
    "region": "us-en",
    "safeSearch": true,
    "time": "",
    "maxResults": 10
  }
}

Parameters:

  • query (required): The search query
  • region (optional): Region code (e.g., us-en, uk-en). Default: us-en
  • safeSearch (optional): Enable safe search. Default: true
  • time (optional): Time filter (d: day, w: week, m: month). Default: "" (no filter)
  • maxResults (optional): Maximum number of results. Default: 10

Brave Search

Search the web using Brave Search.

{
  "name": "brave_search",
  "arguments": {
    "query": "your search query",
    "country": "US",
    "language": "en",
    "safeSearch": true,
    "freshness": "",
    "maxResults": 10
  }
}

Parameters:

  • query (required): The search query
  • country (optional): Country code (e.g., US, GB). Default: US
  • language (optional): Language code (e.g., en, fr). Default: en
  • safeSearch (optional): Enable safe search. Default: true
  • freshness (optional): Time filter (pd: past day, pw: past week, pm: past month, py: past year). Default: "" (no filter)
  • maxResults (optional): Maximum number of results. Default: 10

Unified Search

Search using multiple engines and combine results.

{
  "name": "unified_search",
  "arguments": {
    "query": "your search query",
    "engines": ["duckduckgo", "brave"],
    "maxResults": 5,
    "deduplicate": true
  }
}

Parameters:

  • query (required): The search query
  • engines (optional): Search engines to use. Default: ["duckduckgo", "brave"]
  • maxResults (optional): Maximum number of results per engine. Default: 5
  • deduplicate (optional): Remove duplicate results. Default: true

Response Format

All search tools return results in the following format:

{
  "engine": "engine_name",
  "query": "your search query",
  "results": [
    {
      "title": "Result title",
      "url": "https://example.com",
      "snippet": "Result snippet or description"
    },
    ...
  ]
}

The unified search returns:

{
  "query": "your search query",
  "engines": ["duckduckgo", "brave"],
  "results": [
    {
      "title": "Result title",
      "url": "https://example.com",
      "snippet": "Result snippet or description",
      "engine": "engine_name"
    },
    ...
  ]
}

Technical Details

This MCP server uses curl commands to interact with search engines and regex-based parsing to extract results from HTML responses. It does not rely on official APIs, which makes it more resilient to API changes but may require updates if the search engines change their HTML structure.

Limitations

  • HTML parsing is done using regex, which may break if search engines change their HTML structure
  • No support for advanced search features like image search, news search, etc.
  • Rate limiting is handled by the search engines themselves

License

ISC

Package Sidebar

Install

npm i mcp-web-search

Weekly Downloads

24

Version

1.0.0

License

ISC

Unpacked Size

34.8 kB

Total Files

7

Last publish

Collaborators

  • liaskos