Skip to main content
Glama
micaelmalta

Websearch MCP Server

by micaelmalta

Websearch MCP Server

An MCP server for web search and page fetching. Converts HTML to clean markdown using html-to-markdown (Rust-based, ~200 MB/s), cutting token usage by ~60% when LLMs consume web content.

No API keys required — search is powered by DuckDuckGo.

Token Savings

Run uv run python benchmark.py to reproduce. Results from fetching real pages:

Page

HTML tokens

MD tokens

Saved

GitHub Blog

90,829

50,733

44%

Hacker News

11,884

4,381

63%

MDN — JavaScript

51,862

23,326

55%

BBC News

123,997

28,918

77%

Go pkg — net/http

119,994

60,344

50%

Python docs — asyncio

6,686

2,405

64%

Rust Lang

5,107

1,515

70%

Total

410,359

171,622

58%

At Sonnet pricing ($3/M input tokens), that's $0.72 saved per batch of 7 pages.

Tools

Tool

Description

websearch_search

Search the web via DuckDuckGo

websearch_fetch_page

Fetch a URL and return content as markdown

websearch_search_and_fetch

Search + fetch top results in one call

Parameter

Type

Default

Description

query

str

required

Search query

max_results

int

10

Number of results (1–20)

region

str

"wt-wt"

Region code ("us-en", "wt-wt" for global)

websearch_fetch_page

Parameter

Type

Default

Description

url

str

required

URL to fetch

max_chars

int

20000

Truncate output (1,000–100,000)

extract_metadata

bool

False

Include YAML frontmatter (title, meta tags)

heading_style

str

"atx"

"atx" (#) or "underlined"

websearch_search_and_fetch

Parameter

Type

Default

Description

query

str

required

Search query

max_results

int

3

Pages to fetch (1–5)

max_chars_per_page

int

5000

Max characters per page (1,000–50,000)

Setup

Requires uv.

uv sync

Usage

MCP Inspector (dev)

uv run mcp dev server.py

Claude Code

claude mcp add websearch -- uv run --directory /path/to/mcp-websearch-server python server.py

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "websearch": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/mcp-websearch-server", "python", "server.py"]
    }
  }
}

Benchmark

uv run python benchmark.py

Fetches a set of real pages, counts tokens with tiktoken (cl100k_base), and reports HTML vs markdown savings with cost estimates for Sonnet and Opus pricing.

Dependencies

  • mcp — FastMCP framework

  • httpx — async HTTP client

  • html-to-markdown — Rust-based HTML-to-Markdown converter

  • ddgs — DuckDuckGo search (no API key)

  • truststore — system certificate store for SSL

  • tiktoken — token counting (dev dependency, for benchmark)

Install Server
F
license - not found
A
quality
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

  • LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.

  • Read any web page as clean Markdown for AI agents: fetch, search, metadata, links. SSRF-safe.

  • Web search for AI agents — one tool across 6 engines, routed to the cheapest + cached.

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/micaelmalta/websearch-mcp'

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