Skip to main content
Glama
Web Search MCP
by guhcostan

Web Search MCP

GitHub Sponsors

Minimal MCP server that can search the web and extract readable page content, similar to Cursor's built-in web context.

Features

  • search_web: Query the web (DuckDuckGo HTML) and return result URLs and titles

  • fetch_page: Fetch any URL and extract readable content using Mozilla Readability + JSDOM

Requirements

  • Node.js 20+ (recommended: 20.18.1+)

Install

npm install

Run (stdio)

npm start

Install globally

npm i -g @guhcostan/web-search-mcp

Then reference the binary web-search-mcp.

Integrate with Cursor (MCP)

Add to your Cursor MCP settings:

{
  "mcpServers": {
    "web-search-mcp": { "command": "web-search-mcp" }
  }
}

Alternatively, without global install, use npx:

{
  "mcpServers": {
    "web-search-mcp": {
      "command": "npx",
      "args": ["-y", "@guhcostan/web-search-mcp@latest"]
    }
  }
}

Tools

  • search_web

    • input:

      • query (string, required)

      • limit (number, optional, 1–10, default 5)

    • output: array of { url: string; title?: string; snippet?: string }

  • fetch_page

    • input:

      • url (string URL, required)

    • output: { url: string; title?: string; content: string }

Development

Type-check, lint and tests:

npm run check

Run individually:

npm run build
npm run lint
npm test

Notes

  • Web search uses DuckDuckGo HTML; results may vary and are HTML-scraped (no API key required)

  • Be mindful of target site terms of use and robots policies when fetching pages

License

MIT

Available Tools

2 tools
fetch_pageC

Fetch a page and extract its readable content and title using Readability.

Inputs: url (required).

search_webC

Search the web and return a list of result URLs and titles. Uses DuckDuckGo HTML.

Inputs: query (required), limit.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 2 tools

    Disambiguation5/5

    The two tools have clearly distinct purposes: fetch_page retrieves and extracts content from a specific URL, while search_web performs a general web search to find relevant URLs. There is no overlap or ambiguity between them, as one is for accessing known pages and the other is for discovering new ones.

    Naming Consistency5/5

    Both tools follow a consistent verb_noun naming pattern (fetch_page and search_web), using clear, descriptive verbs that align with their functions. The naming is uniform and predictable across the set.

    Tool Count3/5

    With only two tools, the server feels thin for a web search domain, as it lacks operations like advanced search filtering, result pagination, or handling different search engines. While the tools cover basic fetch and search, the count is borderline minimal for the apparent scope.

    Completeness3/5

    The tools provide core search and fetch capabilities, but there are notable gaps: no ability to refine searches (e.g., by date or site), manage search history, or handle errors like rate limits. This could lead to agent workarounds for more complex tasks.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers