# Web Search

Multi-engine search and clean Markdown retrieval for coding agents without API keys. Handy for fetching documentation and reading web pages directly in context.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 8
- Author: hec-ovi
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/hec-ovi/websearch-skill
- Updated: 2026-08-13
- HTML: https://affpapa.org/en/nevibecode/mcp/hec-ovi-web-search

## What it does

The tool queries engines like Google, Brave, DuckDuckGo, and Yandex via `ddgs`. It merges and deduplicates results with Reciprocal Rank Fusion. Fetched pages become clean Markdown, paginated so large documents do not exhaust the prompt context.

Everything runs locally via Python 3.11+ and `uv`. Setup needs no accounts. The package also includes specialized queries for arXiv papers and GitHub repositories alongside optional self-hosted SearXNG integration.

Aggressive bot protections will halt retrieval without dedicated proxy solutions.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add web-search -- uvx websearch-skill
```
uvx runs the command named after the package; if the README names another one, use uvx --from websearch-skill <command>

### Codex

**Platform CLI**
```bash
codex mcp add hec-ovi-web-search -- uvx websearch-skill
```
uvx runs the command named after the package; if the README names another one, use uvx --from websearch-skill <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "hec-ovi-web-search": {
            "command": "uvx",
            "args": [
                "websearch-skill"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from websearch-skill <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "hec-ovi-web-search": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "websearch-skill"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from websearch-skill <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add hec-ovi-web-search uvx websearch-skill
```
uvx runs the command named after the package; if the README names another one, use uvx --from websearch-skill <command>

## When to use it
- search web pages across multiple engines without API keys
- extract article contents into clean paginated Markdown
- query GitHub repositories and inspect metadata
- find academic preprints directly on arXiv

## Example prompts
- Search for the latest Python release notes and fetch the summary
- Find arXiv papers about transformer attention mechanisms
- Query GitHub for repositories related to SearXNG

## Similar
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89899
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119231
- [AIHawk](https://affpapa.org/en/nevibecode/mcp/aihawk.md) — MCP server · ★ 32260
- [Skyvern](https://affpapa.org/en/nevibecode/mcp/skyvern.md) — MCP server · ★ 23283
- [SeleniumBase MCP](https://affpapa.org/en/nevibecode/mcp/seleniumbase-mcp.md) — MCP server · ★ 13181
- [apify-mcp-server](https://affpapa.org/en/nevibecode/mcp/apify-mcp-server.md) — MCP server · ★ 13345

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
