1. Conduid
  2. Developer Tools
  3. Websearch Server
MCP server · Developer Tools

Websearch Server

A Model Context Protocol (MCP) server that provides multi-engine web search capabilities with content extraction.

Unclaimed last commit 6 months ago mcp-servermcp-websearchdevtools
53Fair

Scored yesterday · breakdown

About Websearch Server

Websearch Server is an MCP server published by liliang-cn in the Developer Tools category: a Model Context Protocol (MCP) server that provides multi-engine web search capabilities with content extraction. It has been installed 0 times through Conduid.

The repository has 1 stars and 0 forks, with the last commit 6 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx mcp-websearch-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Websearch Server

Powered by Claude · Grounded in docs

I know everything about Websearch Server. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.4.0v1.4.0
v1.3.0v1.3.0
v1.2.0v1.2.0
v1.1.0v1.1.0
v1.0.1v1.0.1

README

MCP Web Search Server

A Model Context Protocol (MCP) server that provides multi-engine web search capabilities with intelligent content extraction using a hybrid approach.

Features

  • 🔍 Hybrid Search Engine: Fast goquery-based search results + intelligent chromedp content extraction
  • 🌐 Multi-Engine Support: Bing, Brave, and DuckDuckGo with smart fallback mechanisms
  • 📄 Intelligent Content Extraction: Advanced article parsing with multiple content selectors
  • 🚀 Concurrent Processing: Parallel content extraction with rate limiting
  • 🤖 AI-Ready Summaries: Aggregated content optimized for AI analysis and summarization
  • 🛠️ MCP Protocol: Full compliance with Model Context Protocol specification

Installation

Via go install

go install github.com/liliang-cn/mcp-websearch-server@latest

From Source

git clone https://github.com/liliang-cn/mcp-websearch-server
cd mcp-websearch-server
go build -o mcp-websearch-server

Usage

Standalone

# Show help
mcp-websearch-server --help

# Run the server (stdio mode)
mcp-websearch-server

Integration with Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "websearch": {
      "command": "mcp-websearch-server"
    }
  }
}

If installed via go install, make sure ~/go/bin is in your PATH.

Using with Claude Code (Skills)

This project includes a SKILL.md definition that can be used with Claude Code. This skill provides specialized instructions for Claude to effectively use the web search tools for deep research and fact-checking.

To use it:

  1. Ensure the MCP server is configured in your claude_desktop_config.json (as above).
  2. Copy SKILL.md to your skills directory:
    mkdir -p ~/.claude/skills
    cp SKILL.md ~/.claude/skills/web-search.md
    
  3. You can now use the skill in Claude Code via /web-search or by asking natural language questions that trigger the skill.

Available Tools

🔍 websearch_basic

Basic web search returning titles, URLs and snippets from a single search engine using the hybrid approach.

Parameters:

  • query (string, required): The search query
  • max_results (int, optional): Maximum results to return (default: 10)

📄 websearch_with_content

Web search with intelligent content extraction from result pages using chromedp.

Parameters:

  • query (string, required): The search query
  • max_results (int, optional): Maximum results to return (default: 5)
  • extract_content (bool, optional): Extract full page content (default: true)

🚀 websearch_multi_engine

Comprehensive search across multiple engines (Bing, Brave, DuckDuckGo) with content extraction.

Parameters:

  • query (string, required): The search query
  • max_results (int, optional): Maximum results to return (default: 3)
  • engines (array, optional): Search engines to use ["bing", "brave", "duckduckgo"] (default: all)

🤖 websearch_ai_summary

Search and return AI-ready aggregated content optimized for analysis and summarization.

Parameters:

  • query (string, required): The search query
  • max_results (int, optional): Maximum results to return (default: 3)

Returns: Formatted markdown content with proper structure for AI processing.

Architecture

mcp-websearch-server/
├── main.go                     # Entry point with CLI flags
├── mcp/                        # MCP protocol implementation
│   └── server.go              # MCP server and tool registration
├── search/                     # Search engine implementations
│   ├── interface.go           # Common interfaces
│   ├── hybrid_searcher.go     # Hybrid multi-engine searcher
│   ├── multi_engine.go        # Basic multi-engine orchestration
│   ├── bing_goquery.go        # Fast Bing search with goquery
│   ├── brave_goquery.go       # Fast Brave search with goquery
│   ├── duckduckgo_goquery.go  # Fast DuckDuckGo search with goquery
│   ├── bing.go               # Original Bing search (chromedp)
│   ├── brave.go              # Original Brave search (chromedp)
│   └── duckduckgo.go         # Original DuckDuckGo search (chromedp)
├── extraction/                 # Content extraction
│   ├── hybrid_extractor.go   # Intelligent chromedp-based extraction
│   └── chromedp.go           # Basic browser-based extraction
├── examples/                   # Demo applications
│   ├── basic_search_demo/     # Basic search functionality demo
│   ├── hybrid_search_demo/    # Hybrid search with content extraction
│   └── mcp_tools_demo/        # MCP server tools demonstration
└── utils/                     # Utilities
    └── retry.go              # Retry logic with backoff

Hybrid Approach

The server uses a sophisticated hybrid approach for optimal performance:

1. Fast Search Results (goquery)

  • Bing: Scrapes www.bing.com/search with proper CSS selectors
  • Brave: Scrapes search.brave.com/search for results
  • DuckDuckGo: Scrapes duckduckgo.com with lite interface
  • Benefits: Fast response times, reliable result parsing

2. Intelligent Content Extraction (chromedp)

  • Article Detection: Uses advanced selectors to find main content
  • Content Cleaning: Removes scripts, styles, and navigation elements
  • Fallback Strategy: Falls back to paragraph extraction if article content not found
  • Benefits: High-quality content extraction, JavaScript handling

3. AI-Ready Aggregation

  • Structured Output: Properly formatted markdown for AI processing
  • Content Summarization: Truncates content intelligently at sentence boundaries
  • Multi-Source: Combines content from multiple search engines
  • Benefits: Optimized for AI analysis and summarization

Development

Prerequisites

  • Go 1.21 or higher
  • Chrome/Chromium browser (for content extraction)

Building

# Build the server
go build -o mcp-websearch-server

# Run tests
go test ./...

# Run tests with coverage
go test -cover ./...

# Format code
go fmt ./...

# Lint (requires golangci-lint)
golangci-lint run

Testing

The project includes comprehensive unit tests with 60%+ coverage:

# Run all tests
go test ./...

# Run with verbose output
go test -v ./...

# Generate coverage report
go test -coverprofile=coverage.out ./...
go tool cover -html=coverage.out

Example Applications

# Test basic search functionality
go run ./examples/basic_search_demo/main.go

# Test hybrid search with content extraction
go run ./examples/hybrid_search_demo/main.go

# Test MCP server tools
go run ./examples/mcp_tools_demo/main.go

How It Works

  1. Search Request: Receives search query via MCP protocol
  2. Engine Selection: Uses goquery-based engines for fast results
  3. Search Execution: Performs HTTP-based search with proper headers
  4. Content Extraction: Uses chromedp for intelligent content extraction
  5. Aggregation: Combines and formats content for AI analysis
  6. Response: Returns structured results via MCP protocol

Search Engine Priority

The hybrid searcher prioritizes engines in this order:

  1. DuckDuckGo - Primary engine (privacy-focused)
  2. Bing - First fallback (comprehensive results)
  3. Brave - Second fallback (independent search)

If one engine fails, the server automatically tries the next available engine.

Error Handling

  • Implements retry logic with exponential backoff
  • Graceful fallback to alternative search engines
  • Structured error messages via MCP protocol
  • Timeout handling for long-running operations
  • Rate limiting for content extraction

Performance

  • Search Speed: ~200-500ms per search using goquery
  • Content Extraction: ~2-5s per page using chromedp
  • Concurrent Extraction: Limited to 2-3 simultaneous browser instances
  • Memory Usage: Optimized with proper context cleanup

Dependencies

  • MCP Go SDK: Model Context Protocol implementation
  • chromedp: Browser automation for content extraction
  • goquery: Fast HTML parsing and scraping
  • Standard Library: HTTP client, context, sync primitives

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details

Acknowledgments

README mirrored from the source repository yesterday. The original is authoritative.

Questions

About Websearch Server

How do I install Websearch Server?

Run npx mcp-websearch-server, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Websearch Server safe to use with an AI agent?

Its trust score is 53 out of 100 (fair). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Websearch Server still maintained?

The last commit was 6 months ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.