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. Activate the conda environment

conda activate mcp
pip install -r requirements.txt

2. Run the server

python main.py

The server starts on http://127.0.0.1:8101/mcp.

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 (Starlette + CORS)
├── 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"],
      "env": {
        "PYTHONPATH": "/path/to/freeWeb"
      }
    }
  }
}

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
C
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)

  • MCP server for accessing curated awesome list documentation

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