Skip to main content
Glama
krich11

evo-scry

by krich11

evo-scry

MCP server for internet search via direct Google and DuckDuckGo HTML scraping with AI-powered result normalization.

Python. Zero API keys required for search. Optional AI summarization via GitHub Copilot token or local Ollama model.

Features

  • 4 MCP Tools: web_search, search_google, search_duckduckgo, extract_content

  • Multi-engine aggregation: Parallel search across Google + DuckDuckGo with deduplication and cross-engine ranking

  • AI summarization: Optional result summaries via GitHub Copilot or local Ollama models

  • Production-ready: Systemd service with full environment variable configuration

  • Privacy-respecting: Direct HTML scraping, no third-party search APIs

  • FastMCP pattern: Same architecture as evo-mem — SSE + streamable-http dual transport

Related MCP server: serp-it

Quick Start

# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install
pip install -e .

# Run (STDIO transport for local MCP clients)
python -m evoscry.mcp_server

# Run (SSE transport for remote/systemd)
python -m evoscry.mcp_server --transport sse --port 3000

Claude Desktop / VS Code Configuration

{
  "mcpServers": {
    "evo-scry": {
      "command": "python",
      "args": ["-m", "evoscry.mcp_server"]
    }
  }
}

SSE Transport (remote)

{
  "mcpServers": {
    "evo-scry": {
      "url": "http://your-server:3000/sse"
    }
  }
}

MCP Tools

Search the internet using both Google and DuckDuckGo. Results are aggregated, deduplicated, and ranked.

Parameter

Type

Required

Default

Description

query

string

yes

—

Search query

engines

list

no

config

Engines to use

max_results

int

no

10

Max results per engine

language

string

no

"en"

Language code

date_range

string

no

—

"day", "week", "month", "year"

summarize

bool

no

false

AI-summarize results

search_google / search_duckduckgo

Engine-specific search tools with the same parameters (minus engines and summarize).

extract_content

Fetch URLs and extract clean text or Markdown content.

Parameter

Type

Required

Default

Description

url

str | list[str]

yes

—

URL(s) to extract

format

string

no

"markdown"

"text" or "markdown"

AI Summarization Setup

python -m evoscry.generate_copilot_token

Follow the prompts to authenticate via GitHub OAuth Device Flow. Add the generated token to your .env or systemd environment file.

Local Model (Ollama)

# In .env or systemd env:
EVOSCRY_LOCAL_MODEL_URL=http://localhost:11434
EVOSCRY_LOCAL_MODEL_NAME=llama3

Systemd Deployment

# Install (requires root)
sudo bash install.sh

# Configure
sudo vim /etc/evo-scry/evo-scry.env

# Start
sudo systemctl enable --now evo-scry

SSE endpoint: http://localhost:3000/sse Health check: http://localhost:3000/health

Configuration

All options via environment variables. See .env.example for the full list.

Variable

Default

Description

EVOSCRY_TRANSPORT

stdio

stdio, sse, or streamable-http

EVOSCRY_HOST

0.0.0.0

HTTP bind address

EVOSCRY_PORT

3000

HTTP port

EVOSCRY_SEARCH_ENGINES

duckduckgo

Enabled engines

EVOSCRY_MAX_RESULTS

10

Results per engine

EVOSCRY_REQUEST_DELAY_MS

1000

Rate limiting delay

EVOSCRY_USER_AGENT

rotate

UA rotation

EVOSCRY_PROXY_URL

—

HTTP/SOCKS5 proxy

EVOSCRY_COPILOT_TOKEN

—

Copilot API token

EVOSCRY_COPILOT_REFRESH_TOKEN

—

GitHub OAuth token for auto-refresh

EVOSCRY_LOCAL_MODEL_URL

—

Ollama endpoint

EVOSCRY_LOG_LEVEL

info

Log verbosity

EVOSCRY_CACHE_TTL_SECONDS

300

Cache TTL

License

MIT

Related MCP Connectors

Related MCP Servers

  • 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
    Not graded
    quality
    C
    maintenance
    An MCP server that aggregates web search results from multiple engines and optionally renders pages to Markdown, providing a unified search interface.
    17 npm
    3
    ISC
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for local web search via SearXNG, providing unlimited queries without API keys or cost, with automatic fallback to public instances.
    3
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that provides web search scraping from DuckDuckGo (with Mojeek fallback) and URL content fetching as markdown/text or raw HTML.
    1
    -