Provides web search functionality using DuckDuckGo's free API, allowing queries with configurable result limits and built-in timeout handling.
search-mcp: Minimal Web Search MCP Server
A simple, reliable MCP server for web search using DuckDuckGo. No API keys required. Totally vibe-coded in ~25 minutes. Don't trust this app (even if it works for me).
Features
Single tool:
web_search- search the web via DuckDuckGoNo API keys needed - uses free DuckDuckGo API
Timeout handling - 10-second timeout per request to prevent hanging
Minimal dependencies - only
mcpandrequestsProper MCP protocol - correct stdio transport implementation
Installation
Or with uv:
Usage
Direct Testing
Then send JSON-RPC requests via stdin:
Amazon Q Configuration
Add to your ~/.config/cursor/mcp.json or Kiro-CLI config:
Tool: web_search
Parameters:
query(string, required): The search querymax_results(integer, optional): Max results to return (default: 5)
Example:
Why This Works
Correct MCP protocol - properly implements stdio transport with persistent connection
Timeout handling - 10-second timeout on requests to prevent Amazon Q hangs
Error handling - gracefully handles network errors and timeouts
Simple codebase - ~150 lines, easy to debug or modify
No external service - uses DuckDuckGo's free API, no rate limiting issues
Troubleshooting
Module not found errors
Make sure you installed with pip install -e .:
Server not responding
Check that the Python path is correct in your config:
Timeout issues
The server has a 10-second timeout per request. If searches are timing out:
Check your internet connection
Verify DuckDuckGo is accessible
Try simpler/shorter search queries
License
MIT