Web Search MCP Server
# Web Search MCP Server
A Model Context Protocol (MCP) server that enables free web searching using Google search results, with no API keys required.
## Features
- Search the web using Google search results
- No API keys or authentication required
- Returns structured results with titles, URLs, and descriptions
- Configurable number of results per search
## Installation
1. Clone or download this repository
2. Install dependencies:
```bash
npm install
```
3. Build the server:
```bash
npm run build
```
4. Add the server to your MCP configuration:
For VSCode (Claude Dev Extension):
```json
{
"mcpServers": {
"web-search": {
"command": "node",
"args": ["/path/to/web-search/build/index.js"]
}
}
}
```
For Claude Desktop:
```json
{
"mcpServers": {
"web-search": {
"command": "node",
"args": ["/path/to/web-search/build/index.js"]
}
}
}
```
## Usage
The server provides a single tool named `search` that accepts the following parameters:
```typescript
{
"query": string, // The search query
"limit": number // Optional: Number of results to return (default: 5, max: 10)
}
```
Example usage:
```typescript
use_mcp_tool({
server_name: "web-search",
tool_name: "search",
arguments: {
query: "your search query",
limit: 3 // optional
}
})
```
Example response:
```json
[
{
"title": "Example Search Result",
"url": "https://example.com",
"description": "Description of the search result..."
}
]
```
## Limitations
Since this tool uses web scraping of Google search results, there are some important limitations to be aware of:
1. **Rate Limiting**: Google may temporarily block requests if too many searches are performed in a short time. To avoid this:
- Keep searches to a reasonable frequency
- Use the limit parameter judiciously
- Consider implementing delays between searches if needed
2. **Result Accuracy**:
- The tool relies on Google's HTML structure, which may change
- Some results might be missing descriptions or other metadata
- Complex search operators may not work as expected
3. **Legal Considerations**:
- This tool is intended for personal use
- Respect Google's terms of service
- Consider implementing appropriate rate limiting for your use case
## Contributing
Feel free to submit issues and enhancement requests!
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is singular and clear, so an agent cannot misselect between multiple options.
A single tool inherently has perfect naming consistency, as there are no other tools to compare it against for patterns. The name 'search' is straightforward and appropriate for its function.
One tool is too few for a server named 'Web Search MCP Server', which suggests a broader scope like searching, filtering, or managing search results. A single search tool feels thin and limits functionality, making it borderline inappropriate for the implied domain.
The tool surface is severely incomplete for web search functionality. It only provides a basic search tool, missing obvious operations like filtering results, getting details, saving searches, or handling pagination, which are common in search domains and could lead to agent failures in complex tasks.