MCP Web Search Server
Enables privacy-focused web searches through Brave search engine, supporting parallel queries and configurable result limits.
Provides web search capabilities using DuckDuckGo's privacy-focused search engine with support for result caching and customizable result counts.
Allows web searches through Ecosia's eco-friendly search engine with configurable result limits and parallel search support.
Enables searching public Facebook content through social media search tools.
Provides search capabilities for public GitHub content across repositories, issues, and discussions.
Supports retrieving archived versions of web pages from Google Cache through the archives search functionality.
Enables searching public Instagram content through social media search tools.
Provides search capabilities for public Medium articles and publications.
Enables privacy-focused web searches through Mojeek search engine with support for parallel queries and result caching.
Allows searching public Pinterest content including pins and boards.
Provides search capabilities for public Reddit posts, comments, and communities across the platform.
Enables privacy-focused web searches through Startpage with support for parallel queries and configurable result limits.
Allows searching public TikTok content through social media search tools.
Provides search capabilities for YouTube videos and channels through social media search functionality.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
š MCP Web Search Server
A privacyāfocused web, social media, and archive search server exposing tools via the Model Control Protocol (MCP) for controlled access to external search capabilities.
Table of Contents
Related MCP server: MCP MixSearch
šÆ Features
Parallel search across multiple privacyāfocused web engines.
Social media lookup for public content on major platforms.
Archive retrieval from Wayback Machine, archive.today, Google Cache and others.
Dynamic listing of supported engines and archive services.
Result caching with LRU eviction to speed up repeated queries.
š¦ Installation & Quick Start
# Clone the repository (if applicable)
git clone https://github.com/undici77/MCPWebSearch.git
cd MCPWebSearch
# Run the startup script (adjust name if different)
./run.sh -d /path/to/working/directory1ļøā£ Create & activate a Python virtual environment (.venv).
2ļøā£ Install all required dependencies from requirements.txt.
3ļøā£ Launch the MCP Search Server (main.py) which listens onāÆstdin/stdout for JSONāRPC messages.
š Ensure the startup script is executable:
chmod +x run.sh
āļø CommandāLine Options
Option | Description |
| Path to the working directory (default: current process dir). |
The server itself does not require additional CLI flags; all configuration is performed via JSONāRPC.
š¤ Integration with LMāÆStudio
Add an entry to your mcp.json so LMāÆStudio can start the server automatically:
{
"mcpServers": {
"web-search": {
"command": "/absolute/path/to/run.sh",
"args": [
"-d",
"/absolute/path/to/working/directory"
],
"env": { "WORKING_DIR": "." }
}
}
}š Make the script executable (
chmod +x /absolute/path/to/run.sh) and run./run.shonce to install the virtual environment before launching LMāÆStudio.
š” MCP API Overview
All communication follows JSONāRPCāÆ2.0 over stdin/stdout.
initialize
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {}
}Response: protocol version (2024-11-05), server capabilities (tool enumeration) and basic server info (name, version).
tools/list
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": {}
}Response: an array of tool definitions (name, description, input schema).
tools/call
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "<tool_name>",
"arguments": { ⦠}
}
}Note: The tool identifier key is name, not tool.
š ļø Available Tools
web_search
Search the web using multiple privacyāfocused engines in parallel.
Name | Type | Required | Description |
| string | ā | Search query (maxāÆ500 characters). |
| string | ā (default⯠| Engine to use ( |
| integer | ā (defaultāÆ20) | Max results per engine (1ā50). |
Example
{
"jsonrpc": "2.0",
"id": 10,
"method": "tools/call",
"params": {
"name": "web_search",
"arguments": {
"query": "privacy focused search engines",
"engine": "duckduckgo",
"max_results": 15
}
}
}The server returns a formatted text block containing titles, URLs and snippets from each selected engine.
social_search
Search public content on major socialāmedia platforms.
Name | Type | Required | Description |
| string | ā | Search query (maxāÆ500 characters). |
| string | ā (default⯠| Platform to search ( |
Example
{
"jsonrpc": "2.0",
"id": 11,
"method": "tools/call",
"params": {
"name": "social_search",
"arguments": {
"query": "AI ethics research",
"platform": "reddit"
}
}
}The response contains direct URLs that can be opened in a browser.
archives_search
Find archived versions of a URL across multiple webāarchive services.
Name | Type | Required | Description |
| string | ā | Complete URL (must include |
| string | ā (default⯠| Archive service ( |
| boolean | ā (defaultāÆfalse) | When true, the server queries the Wayback Machine API for snapshot statistics. |
Example
{
"jsonrpc": "2.0",
"id": 12,
"method": "tools/call",
"params": {
"name": "archives_search",
"arguments": {
"url": "https://example.com",
"service": "wayback",
"check_availability": true
}
}
}The response lists archive URLs and, if requested, snapshot counts and timestamps.
list_engines
List all available privacyāfocused search engines.
Name | Type | Required | Description |
(No parameters) | ā | ā | ā |
Example
{
"jsonrpc": "2.0",
"id": 13,
"method": "tools/call",
"params": {
"name": "list_engines",
"arguments": {}
}
}The server returns a markdownāformatted overview of each engine and usage notes.
list_archives_services
List all supported webāarchive services.
Name | Type | Required | Description |
(No parameters) | ā | ā | ā |
Example
{
"jsonrpc": "2.0",
"id": 14,
"method": "tools/call",
"params": {
"name": "list_archives_services",
"arguments": {}
}
}The response includes a description of each service, its ID and key features.
clear_cache
Clear the internal searchāresult cache.
Name | Type | Required | Description |
(No parameters) | ā | ā | ā |
Example
{
"jsonrpc": "2.0",
"id": 15,
"method": "tools/call",
"params": {
"name": "clear_cache",
"arguments": {}
}
}The server replies with a confirmation message.
š Security Features
Query sanitisation ā strips control characters, removes HTML tags and enforces
MAX_QUERY_LENGTH(500).Strict URL validation ā accepts only
http://orhttps://schemes with a valid domain.Blocked patterns ā regexes prevent
<script>injection,javascript:URIs and eventāhandler attributes.Input schema enforcement ā each tool validates required fields via the JSONāRPC
inputSchema.Rate limiting ā an asyncio semaphore caps concurrent external requests (
MAX_CONCURRENT_SEARCHES).
Ā© 2025 Undici77 ā All rights reserved.
This server cannot be deployed
Maintenance
Related MCP Connectors
Multi-engine web and platform search, news, Google Maps places, page reading, sitemaps, and trends.
Web search and page reading for AI agents, including JSON APIs, RSS feeds and YouTube.
Web search, URL content extraction to Markdown, site mapping, and recursive web crawler.
Search the agentic web. 4,100+ sites, 11 tools incl. check_url + verify_mcp for probe-before-use.
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
- AlicenseAqualityCmaintenanceEnables 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
- AlicenseAqualityCmaintenanceEnables 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.248 PyPI10MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to search the web, fetch news, and retrieve page content via DuckDuckGo or Brave Search, with domain whitelisting and audit logging.-