by mnhlt
Access real-time Google web results with our search API, offering custom result limits, language filters & domain rules
Enables AI assistants to perform real-time web searches through a dedicated crawler service. Retrieves current information from the web with configurable filters and result limits.
WebSearch (Google) is a community-built MCP server published by mnhlt that provides AI assistants with tools and capabilities via the Model Context Protocol. Access real-time Google web results with our search API, offering custom result limits, language filters & domain rules It is categorized under search web.
You can install WebSearch (Google) in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
MIT
WebSearch (Google) is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Fetch and extract information from websites automatically
Example
Research competitor pricing, scrape product reviews, monitor news mentions
Automate 5-10 hours/week of manual web research
Track website changes, new content, price updates
Example
Monitor competitor blog for new posts, track stock availability, watch for pricing changes
Stay informed without manual checking, never miss important updates
Extract structured data from multiple websites
Example
Compile product listings from 10 e-commerce sites, aggregate job postings, collect real estate data
Build datasets 100x faster than manual copying
Share your MCP server with the developer community
Useful MCP listing: WebSearch (Google) is the kind of server we cite when onboarding engineers to host + tool permissions.
WebSearch (Google) is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
WebSearch (Google) reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
I recommend WebSearch (Google) for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
Strong directory entry: WebSearch (Google) surfaces stars and publisher context so we could sanity-check maintenance before adopting.
I recommend WebSearch (Google) for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
Strong directory entry: WebSearch (Google) surfaces stars and publisher context so we could sanity-check maintenance before adopting.
WebSearch (Google) is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
WebSearch (Google) has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
We evaluated WebSearch (Google) against two servers with overlapping tools; this profile had the clearer scope statement.
showing 1-10 of 35
A Model Context Protocol (MCP) server implementation that provides a web search capability over stdio transport. This server integrates with a WebSearch Crawler API to retrieve search results.
WebSearch-MCP is a Model Context Protocol server that provides web search capabilities to AI assistants that support MCP. It allows AI models like Claude to search the web in real-time, retrieving up-to-date information about any topic.
The server integrates with a Crawler API service that handles the actual web searches, and communicates with AI assistants using the standardized Model Context Protocol.
To install WebSearch for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @mnhlt/WebSearch-MCP --client claude
npm install -g websearch-mcp
Or use without installing:
npx websearch-mcp
The WebSearch MCP server can be configured using environment variables:
API_URL: The URL of the WebSearch Crawler API (default: http://localhost:3001)MAX_SEARCH_RESULT: Maximum number of search results to return when not specified in the request (default: 5)Examples:
# Configure API URL
API_URL=https://crawler.example.com npx websearch-mcp
# Configure maximum search results
MAX_SEARCH_RESULT=10 npx websearch-mcp
# Configure both
API_URL=https://crawler.example.com MAX_SEARCH_RESULT=10 npx websearch-mcp
Setting up WebSearch-MCP involves two main parts: configuring the crawler service that performs the actual web searches, and integrating the MCP server with your AI client applications.
The WebSearch MCP server requires a crawler service to perform the actual web searches. You can easily set up the crawler service using Docker Compose.
docker-compose.yml with the following content:version: '3.8'
services:
crawler:
image: laituanmanh/websearch-crawler:latest
container_name: websearch-api
restart: unless-stopped
ports:
- "3001:3001"
environment:
- NODE_ENV=production
- PORT=3001
- LOG_LEVEL=info
- FLARESOLVERR_URL=http://flaresolverr:8191/v1
depends_on:
- flaresolverr
volumes:
- crawler_storage:/app/storage
flaresolverr:
image: 21hsmw/flaresolverr:nodriver
container_name: flaresolverr
restart: unless-stopped
environment:
- LOG_LEVEL=info
- TZ=UTC
volumes:
crawler_storage:
workaround for Mac Apple Silicon
version: '3.8'
services:
crawler:
image: laituanmanh/websearch-crawler:latest
container_name: websearch-api
platform: "linux/amd64"
restart: unless-stopped
ports:
- "3001:3001"
environment:
- NODE_ENV=production
- PORT=3001
- LOG_LEVEL=info
- FLARESOLVERR_URL=http://flaresolverr:8191/v1
depends_on:
- flaresolverr
volumes:
- crawler_storage:/app/storage
flaresolverr:
image: 21hsmw/flaresolverr:nodriver
platform: "linux/arm64"
container_name: flaresolverr
restart: unless-stopped
environment:
- LOG_LEVEL=info
- TZ=UTC
volumes:
crawler_storage:
docker-compose up -d
docker-compose ps
curl http://localhost:3001/health
Expected response:
{
"status": "ok",
"details": {
"status": "ok",
"flaresolverr": true,
"google": true,
"message": null
}
}
The crawler API will be available at http://localhost:3001.
You can test the crawler API directly using curl:
curl -X POST http://localhost:3001/crawl \
-H "Content-Type: application/json" \
-d '{
"query": "typescript best practices",
"numResults": 2,
"language": "en",
"filters": {
"excludeDomains": ["youtube.com"],
"resultType": "all"
}
}'
You can customize the crawler service by modifying the environment variables in the docker-compose.yml file:
PORT: The port on which the crawler API listens (default: 3001)LOG_LEVEL: Logging level (options: debug, info, warn, error)FLARESOLVERR_URL: URL of the FlareSolverr service (for bypassing Cloudflare protection)Here's a quick reference for MCP configuration across different clients:
{
"mcpServers": {
"websearch": {
"command": "npx",
"args": [
"websearch-mcp"
],
"environment": {
"API_URL": "http://localhost:3001",
"MAX_SEARCH_RESULT": "5" // reduce to save your tokens, increase for wider information gain
}
}
}
}
Workaround for Windows, due to Issue
{
"mcpServers": {
"websearch": {
"command": "cmd",
"args": [
"/c",
"npx",
"websearch-mcp"
],
"environment": {
"API_URL": "http://localhost:3001",
"MAX_SEARCH_RESULT": "1"
}
}
}
}
This package implements an MCP server using stdio transport that exposes a web_search tool with the following parameters:
query (required): The search query to look upnumResults (optional): Number of results to return (default: 5)language (optional): Language code for search results (e.g., 'en')region (optional): Region code for search results (e.g., 'us')excludeDomains (optional): Domains to exclude from resultsincludeDomains (optional): Only include these domains in resultsexcludeTerms (optional): Terms to exclude from resultsresultType (optional): Type of results to return ('all', 'news', or 'blogs')Here's an example of a search response:
{
"query": "machine learning trends",
"results": [
{
"title": "Top Machine Learning Trends in 2025",
"snippet": "The key machine learning trends for 2025 include multimodal AI, generative models, and quantum machine learning applications in enterprise...",
"url": "https://example.com/machine-learning-trends-2025",
"siteName": "AI Research Today",
"byline": "Dr. Jane Smith"
},
{
"title": "The Evolution of Machine Learning: 2020-2025",
"snippet": "Over the past five years, machine learning has evolved from primarily supervised learning approaches to more sophisticated self-supervised and reinforcement learning paradigms...",
"url": "https://example.com/ml-evolution",
"siteName": "Tech Insights",
"byline": "John Doe"
}
]
}
To test the WebSearch MCP server locally, you can use the included test client:
npm run test-client
This will start the MCP server and a simple command-line interface that allows you to enter search queries and see the results.
You can also configure the API_URL for the test client:
API_URL=https://crawler.example.com npm run test-client
You can use this package programmatically:
import { createMCPClient } from '@modelcontextprotocol/sdk';
// Create an MCP client
const client = createMCPClient({
transport: { type: 'subprocess', command: 'npx websearch-mcp' }
});
// Execute a web search
const response = await client.request({
method: 'call_tool',
params: {
name: 'web_search',
arguments: {
query: 'your search query',
numResults: 5,
language: 'en'
}
}
});
console.log(response.result);
docker-compose logs crawler
docker-compose logs flaresolverr
Interact with services that don't offer APIs
Example
Check form submissions, validate website functionality, test user flows
Automate interactions with any website, even without API
Prerequisites
Time Estimate
20-40 minutes including configuration and testing
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
MCP server handles HTTP requests, HTML parsing, JavaScript rendering (if headless browser), and returns structured data to Claude.
Protocols
Compatibility
✓ Use when
Use for research automation, content monitoring, data aggregation from multiple sources, and when official APIs don't exist. Best for read-only information gathering.
✗ Avoid when
Avoid for sites with APIs (use API instead), sites that explicitly forbid scraping, when data is copyrighted, or for login-required content without proper authorization.