freeWeb MCP Server
Allows searching the web using DuckDuckGo and extracting page content via web_search and web_visit tools.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
freeWeb MCP Server
A lightweight MCP (Model Context Protocol) server providing web search and page content extraction tools powered by DuckDuckGo.
Tools
web_search- Search the web using DuckDuckGo, returning title, URL, and snippet for each result.web_visit- Visit a URL and extract its page content in various formats (markdown, plain text, rich text).
Related MCP server: local-websearch-mcp
Quick Start
1. Create the conda environment
conda create -n mcp python=3.12
conda activate mcp
pip install -r requirements.txt2. Run the server
python main.py # HTTP mode on http://127.0.0.1:8101/mcp
python main.py --stdio # Stdio mode (for MCP clients)3. Run tests
python test_server.pyBrowser-based MCP Clients
MCP 2.x returns a plain Starlette app with no built-in CORS handling. When connecting from a browser-based MCP client (e.g., at http://127.0.0.1:8080), add CORSMiddleware:
from starlette.middleware.cors import CORSMiddleware
app.add_middleware(
CORSMiddleware,
allow_origins=["http://127.0.0.1:8080"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
expose_headers=["Mcp-Session-Id", "Mcp-Protocol-Version"],
)The SDK intentionally provides no opinionated middleware — auth, rate limiting, and CORS are left to the user.
Project Structure
freeWeb/
├── main.py # Server entry point (HTTP + stdio modes)
├── test_server.py # Test suite (run with: python test_server.py)
└── tools/
├── __init__.py
├── search.py # web_search tool
└── visit.py # web_visit toolMCP Client Configuration
Stdio transport
{
"mcpServers": {
"freeWeb": {
"command": "conda",
"args": ["run", "-n", "mcp", "python", "/path/to/freeWeb/main.py", "--stdio"]
}
}
}HTTP transport (browser clients)
Connect your browser-based MCP client to http://127.0.0.1:8101/mcp with CORS configured as shown above.
Requirements
See requirements.txt. Test uses starlette (TestClient), which is a transitive dependency of mcp.
Package | Version |
mcp | 2.0.0 |
ddgs | 9.14.4 |
This server cannot be deployed
Maintenance
Related MCP Connectors
One MCP server for all web data. Scrape, search, crawl, and AI research in one install.
DuckDuckGo search results and rank checks via the Apify DuckDuckGo Scraper, hosted MCP.
MCP server for Google search results via SERP API
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceLightweight MCP server for DuckDuckGo search with HTML fallback, safe webpage fetching, caching, and clean text extraction.AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceSmall Python MCP server that provides web search and page fetching tools via DuckDuckGo, requiring no API key.Apache 2.0
- FlicenseNot gradedqualityDmaintenanceMCP server that enables web search via DuckDuckGo and readable content extraction from HTML pages using FastMCP.-
- AlicenseAqualityDmaintenanceA simple MCP server that provides web search functionality via DuckDuckGo, returning titles, URLs, and descriptions for results. Configurable result limit.1ISC