Skip to main content
Glama
MCP WebResearch
by damameet14

🧠 MCP WebResearch

An AI-ready MCP Server that performs intelligent web searches using SearxNG and Playwright β€” all containerized for one-step setup. This project provides both manual and Docker installation options for developers and Cline users.


πŸš€ Features

  • πŸ” Integrated SearxNG meta search engine

  • 🧭 Web automation via Playwright

  • 🐳 One-command Docker setup (runs MCP + SearxNG together)

  • 🧩 Supports JSON search results for easy AI processing

Related MCP server: searxng-mcp

Newly added features

  • Now you can save the screenshots in your permanent memory. Just tell your AI to save the screen shot permanently.

  • You can ask the AI to list the screenshots. This will give you the path at which the screenshots are saved.

  • More features are incoming...


🧰 Prerequisites

Before starting, ensure you have:


This is the easiest way to get everything running.

  1. Clone this repository

    git clone https://github.com/damameet14/mcp-webresearch.git
    cd mcp-webresearch
  2. Build and start the container

    docker-compose up -d

    That’s it! πŸŽ‰

    • This automatically installs all dependencies.

    • Starts SearxNG on port 8080.

    • Waits until it’s ready.

    • Then launches your MCP server.


πŸ”§ Cline MCP Configuration

Once the container is running, edit your mcp_settings.json:

"mcpServers": {
  "webresearch": {
    "command": "docker",
    "args": ["exec", "-i", "mcp-webresearch", "node", "/app/index.js"]
  }
}

This connects Cline directly to your running container.


🧱 Manual Setup (Without Docker)

If you don’t want to use Docker:

# Clone this repo
git clone https://github.com/damameet14/mcp-webresearch.git
cd mcp-webresearch

# Install MCP dependencies
npm install

# Clone and setup SearxNG
git clone https://github.com/searxng/searxng.git
cd searxng
make install

# Enable JSON output (important)
# Add "-json" to line 78 of searx/settings.yml manually

# Start SearxNG
make run # Note that you will have to start the searxng instance everytime you want to use the mcp server.

I am working on making "no docker" setup too a one command setup. But for now, I recommend going with Docker or go through this tiring process.

πŸ”§ Cline MCP Configuration (for manual setup)

Once the container is running, edit your mcp_settings.json:

"mcpServers": {
  "webresearch": {
    "command": "node",
    "args": ["<path_to>/mcp-webresearch/index.js"]
  }
}

🧠 How It Works

Inside the container:

  1. SearxNG launches in the background.

  2. A small startup script (start.sh) waits until SearxNG is responsive.

  3. Then your MCP server (index.js) starts.

Both processes share the same network and communicate via localhost:8080.


🧩 Project Structure

mcp-webresearch/
β”œβ”€β”€ index.js
β”œβ”€β”€ package.json
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ docker-compose.yml
β”œβ”€β”€ start.sh
└── etc...

⚠️ Notes

  • The default SearxNG config is patched automatically to support JSON output (-json format).

  • The container is lightweight and will stay idle when unused.

  • You can stop it anytime to free memory.


πŸ’‘ Future Plans

  • Add Windows-compatible setup

  • Publish image to Docker Hub and MCP Registry for AI code editors

  • Add more tools


Compatibility

  • This is intended for Linux and MacOS.

  • But if you want to use it on windows, you can do so with wsl (You can download it from Microsoft Store)

πŸ§‘β€πŸ’» Author

Meet Dama (@damameet14) Creator of the MCP WebResearch Server


Available Tools

6 tools
list_permanent_screenshotsA

List all permanently saved screenshots

Inputs: no named parameters.

read_permanent_screenshotB

Read a specific permanent screenshot

Inputs: filename (required).

save_screenshot_permanentlyB

Save a screenshot from current session permanently

Inputs: index (required).

search_webA

Search the web using Searxng

Inputs: query (required).

take_screenshotC

Take a screenshot of the current page

Inputs: savePermanently.

visit_pageC

Visit a webpage and extract its content

Inputs: url (required), cookies, takeScreenshot, savePermanently.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool has a distinct purpose: searching, visiting pages, taking screenshots, saving screenshots, listing saved screenshots, and reading them. There is no overlap or ambiguity between the tools.

    Naming Consistency5/5

    All tool names follow a consistent snake_case verb_noun pattern, such as search_web, visit_page, and take_screenshot. The naming is uniform and predictable across the set.

    Tool Count5/5

    With 6 tools, the server is well-scoped for web research. Each tool serves a clear function without redundancy or excessive bloat, and the count is appropriate for the domain.

    Completeness4/5

    The tool set covers the core workflow of searching, visiting, capturing, and persisting web content. Minor gaps exist, such as the absence of a delete operation for permanent screenshots or page interaction beyond simple visiting, but these are not critical for the stated purpose.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that wraps a local SearXNG instance to provide private, customizable web search capabilities. It enables AI assistants to perform queries with support for specific parameters like results limits, language, and time ranges.
      133 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      MCP server for web search and content extraction using DuckDuckGo or SearXNG, with Playwright-based fetching and LLM-powered data extraction.
      139
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      A self-hosted MCP server that gives AI agents deep internet research capabilities β€” no API keys required, powered by SearxNG, Playwright, and Docker.
      4
      90 npm
      ISC