Skip to main content
Glama
georgittanchev

web-tools-mcp-server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PROXY_URLNoProxy URL for direct fetches. Format: http://user:pass@host:port or socks5://user:pass@host:port
HTTP_PROXYNoAlternative to PROXY_URL (standard env var)
HTTPS_PROXYNoAlternative to PROXY_URL (standard env var)
JINA_API_KEYNoJina Reader API key for higher rate limits. Free tier works without it.
BRAVE_API_KEYYesBrave Search API subscription token

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
web_searchA

Search the web using the Brave Search API. Returns titles, URLs, descriptions, and snippets.

This tool replaces the native web_search with anti-detection capabilities — queries go through the Brave Search API with your own API key, avoiding IP blocks.

Args:

  • query (string, required): Search query. Keep it short and specific (1-6 words).

  • count (number, optional): Number of results, 1-20. Default: 10.

  • offset (number, optional): Pagination offset. Default: 0.

  • country (string, optional): Two-letter country code for localized results.

  • search_lang (string, optional): Language code (e.g., 'en').

  • freshness (string, optional): Time filter — 'pd', 'pw', 'pm', 'py', or 'YYYY-MM-DDtoYYYY-MM-DD'.

Returns: Search results with title, url, description for each result. Includes extra_snippets when available.

Examples:

  • "latest Node.js release" -> query="Node.js latest release", freshness="pw"

  • "Python asyncio tutorial" -> query="Python asyncio tutorial"

web_fetchA

Fetch the contents of a web page with anti-detection capabilities.

This tool replaces the native web_fetch. It uses rotating real-browser user agents, optional proxy (Bright Data or any HTTP/SOCKS5), and automatic fallback to Jina Reader API for sites that block direct access.

Three fetch strategies:

  • "auto" (default): Tries direct fetch first (with UA rotation + proxy if configured). If blocked (403/429/503/captcha), automatically falls back to Jina Reader.

  • "direct": Direct HTTP fetch only. Uses rotating browser user agents and your configured proxy. Returns raw HTML.

  • "jina": Uses Jina Reader API exclusively. Best for JS-heavy sites. Returns clean LLM-ready markdown. Handles rendering server-side.

For fetching multiple URLs at once, use web_bulk_fetch instead — it's faster and uses a single tool call.

Args:

  • url (string, required): The URL to fetch. Must include https:// or http://.

  • strategy (string, optional): "auto", "direct", or "jina". Default: "auto".

Returns: Page content (HTML for direct, markdown for Jina), HTTP status, final URL after redirects, and which strategy was used.

web_bulk_fetchA

Fetch multiple URLs in parallel with anti-detection capabilities. Much faster than calling web_fetch multiple times.

Use this after web_search to fetch the top 3-4 results in a single call instead of making separate web_fetch calls.

Args:

  • urls (string[], required): Array of URLs to fetch (max 10). Each must include https:// or http://.

  • strategy (string, optional): "auto", "direct", or "jina". Applied to all URLs. Default: "auto".

Returns: Combined results for all URLs, each with page content, HTTP status, strategy used, and content size. Failed URLs are clearly marked.

Example: urls=["https://docs.python.org/3/library/asyncio.html", "https://nodejs.org/en/docs/guides/event-loop"]

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.7/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct purpose: web_fetch retrieves a single page, web_bulk_fetch retrieves multiple pages in parallel, and web_search performs a web search. There is no overlap between these operations; even web_fetch and web_bulk_fetch are clearly differentiated by the number of URLs they handle.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with a web_ prefix: web_fetch, web_search, web_bulk_fetch. The naming is predictable and clearly indicates the action and resource, with 'bulk' correctly modifying the fetch verb.

Tool Count5/5

With only three tools, the set is well-scoped for a web utility server. Each tool covers a distinct primary use case (single fetch, bulk fetch, search), and the size is appropriate without being bloated or too sparse.

Completeness5/5

The tool surface covers the core operations for the domain: searching the web and fetching one or multiple pages, with strategy options (auto/direct/jina) for different anti-blocking needs. No obvious gaps for typical web research workflows, as pagination via count/offset is available in web_search.

Maintenance

ActivityInactive
ResponsivenessNo issues