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.17.tar.gz (52.4 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.17-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: heventure_search_mcp-1.4.17.tar.gz
  • Upload date:
  • Size: 52.4 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.17.tar.gz
Algorithm Hash digest
SHA256 6356cb75b39658a1b529e1c6450a3e212c64d9f965023091ec402184704f1d96
MD5 dc5983a06fb95d7782a19aa1b37e71a3
BLAKE2b-256 fbf52fb6b93d253fe1809e85577daa8f2da3e84a4dc08a609c5e8aee13a6fb86

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for heventure_search_mcp-1.4.17-py3-none-any.whl
Algorithm Hash digest
SHA256 a042a210c0ffa3fbfdb0ad2c70ca8fc3d1388bffdba0e329a00a785fb15b5753
MD5 c6a0567ec2c7e914dbf6bb86f50ef687
BLAKE2b-256 6d2423c895051fd5cadc39b26709a08ed5b0ddf73088254c67977afc5e6f7e31

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