Skip to main content

Free, API-key-free web search MCP server — DuckDuckGo, Bing, Google & optional SerpAPI/Tavily

Project description

中文 | English


MCP Web Search Server

A free, API-key-free web search MCP (Model Context Protocol) server supporting DuckDuckGo, Bing, Google, and optional SerpAPI/Tavily for enhanced search quality.

Features

  • 🔍 Multi-Engine Search: DuckDuckGo + Bing + Google (free, no API key required)
  • 🔑 Optional API Keys: SerpAPI and Tavily for better search quality
  • 📄 Web Content Fetching: Get text content from any webpage
  • 🚀 Async Processing: High-performance asyncio-based async handling

Installation

PyPI (Recommended)

pip install heventure-search-mcp
heventure-search-mcp

uvx

uvx heventure-search-mcp

From Source

pip install git+https://github.com/HughesCuit/heventure-search-mcp.git
python -m server

Usage

MCP Client Config

{
  "mcpServers": {
    "web-search": {
      "command": "python",
      "args": ["/path/to/server.py"]
    }
  }
}

Trae AI

{
  "mcpServers": {
    "heventure-search-mcp": {
      "command": "uvx",
      "args": ["heventure-search-mcp"]
    }
  }
}

Available Tools

web_search

Search web content with multiple engines.

Parameters:

  • query (string, required): Search query
  • max_results (integer, optional): Max results (default: 10, range: 1-20)
  • search_engine (string, optional): Engine choice (default: "both")
    • "duckduckgo": DuckDuckGo only
    • "bing": Bing only
    • "google": Google only
    • "both": DuckDuckGo + Google + Bing

Optional API Keys (for Enhanced Search)

You can optionally set environment variables to enable paid search engines:

# SerpAPI (Google search results via API, 100 searches/month free)
export SERPAPI_KEY="your_serpapi_key"

# Tavily (AI-optimized search, 1000 searches/month free)
export TAVILY_API_KEY="your_tavily_api_key"

When API keys are configured, they will be automatically used alongside the free engines to improve search quality.

Example:

{
  "query": "Python tutorial",
  "max_results": 5,
  "search_engine": "both"
}

get_webpage_content

Get text content from a webpage.

Parameters:

  • url (string, required): Target webpage URL

Example:

{
  "url": "https://example.com"
}

Error Handling

  • Automatic retry on network failure
  • Graceful degradation on parse errors
  • User-friendly error messages

License

MIT License

Contributing

Issues and Pull Requests are welcome!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

heventure_search_mcp-1.4.19.tar.gz (53.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

heventure_search_mcp-1.4.19-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file heventure_search_mcp-1.4.19.tar.gz.

File metadata

  • Download URL: heventure_search_mcp-1.4.19.tar.gz
  • Upload date:
  • Size: 53.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for heventure_search_mcp-1.4.19.tar.gz
Algorithm Hash digest
SHA256 9f84b9ef0e7388c86ccb47755ea1c43b19c644e40b2973d17c68635b58c9d47e
MD5 203b9684e56d8667a33682ac1f6445f4
BLAKE2b-256 9120ef293592556e946346c733b2707ef9ab084832f88959a40906e9ed7706b5

See more details on using hashes here.

File details

Details for the file heventure_search_mcp-1.4.19-py3-none-any.whl.

File metadata

File hashes

Hashes for heventure_search_mcp-1.4.19-py3-none-any.whl
Algorithm Hash digest
SHA256 ab05a415e7f65fd8c316fb0bd5ae146dfc06c0188f5e9b24410b62e5560f0408
MD5 ddc62324ec38cc96c01fdbd51edab49c
BLAKE2b-256 2f38dcff698569505ed46a6117850d841aa92e7cdd30683b45e43335c84db208

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page