Skip to main content
Glama
AdityaAWaghmare

freeWeb MCP Server

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.txt

2. 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.py

Browser-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 tool

MCP 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

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for Google search results via SERP API

  • Serper MCP — wraps the Serper Google Search API (serper.dev)

  • Free remote MCP server for fetching public web pages through a rotating proxy pool.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AdityaAWaghmare/freeWeb-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server