searxng-mcp-scraper
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | Bind host when --transport streamable-http | 127.0.0.1 |
| MCP_PORT | No | Bind port when --transport streamable-http | 8765 |
| LOG_LEVEL | No | Stderr log verbosity: DEBUG/INFO/WARNING/ERROR | INFO |
| USER_AGENT | No | User-Agent header for all requests | searxng-mcp-scraper/0.1 |
| FETCH_MAX_BYTES | No | Refuse to read more than this many bytes per fetch | 5000000 |
| FETCH_TIMEOUT_S | No | HTTP timeout (seconds) for fetch | 20 |
| MCP_CORS_ORIGINS | No | Comma-separated CORS allow-origins. Use * to allow any origin (not recommended on LAN). | http://localhost,http://localhost:*,http://127.0.0.1,http://127.0.0.1:* |
| SEARCH_TIMEOUT_S | No | HTTP timeout (seconds) for search | 30 |
| SEARXNG_BASE_URL | Yes | Base URL of your SearXNG instance, e.g. http://localhost:8888 | |
| FIRECRAWL_API_KEY | No | Optional. Empty uses the keyless free tier | |
| FIRECRAWL_BASE_URL | No | Firecrawl API base — the local keyless proxy by default | http://127.0.0.1:8788 |
| FETCH_ALLOW_PRIVATE | No | Allow fetching private/loopback URLs (SSRF guard, default on) | false |
| FETCH_MAX_REDIRECTS | No | Max HTTP redirects to follow | 5 |
| FIRECRAWL_TIMEOUT_S | No | Timeout for a fallback scrape (Firecrawl renders before responding) | 60 |
| BLOG_SCRAPE_MAX_POSTS | No | Max post pages per blog scrape | 200 |
| BLOG_SCRAPE_OUTPUT_DIR | No | Directory for scrape_blog / deep_scrape Markdown output and assets | ~/scraped-blogs |
| SEARCH_MAX_RESULTS_CAP | No | Hard cap on results per call | 50 |
| BLOG_SCRAPE_CONCURRENCY | No | Max parallel post fetches | 5 |
| DEEP_SCRAPE_CONCURRENCY | No | Max parallel document/image downloads during deep_scrape | 5 |
| SEARXNG_DEFAULT_ENGINES | No | Default engine list when a caller doesn't pass engines. Curated to the keyless engines that return results from this machine's egress IP (Brave/Google/Startpage/DuckDuckGo are rate-limited here). Set to empty to use SearXNG's own default set. | wiby,naver,seznam,marginalia,wikipedia,duckduckgo_html |
| FIRECRAWL_MIN_TEXT_CHARS | No | Static extractions shorter than this are treated as failures and retried | 500 |
| SEARXNG_DEFAULT_CATEGORY | No | Default search category | general |
| SEARXNG_DEFAULT_LANGUAGE | No | Default language code | en |
| FIRECRAWL_FALLBACK_ENABLED | No | Retry a failed/thin static fetch through Firecrawl (see below) | true |
| SEARXNG_DEFAULT_SAFESEARCH | No | Default safesearch: 0/1/2 | 0 |
| BLOG_SCRAPE_DISCOVERY_PAGES | No | Max HTML index pages to scan when no feed is found | 10 |
| DEEP_SCRAPE_MAX_IMAGE_BYTES | No | Refuse a single image above this size | 15000000 |
| DEEP_SCRAPE_MAX_DOCUMENT_BYTES | No | Refuse a single linked document above this size | 50000000 |
| DEEP_SCRAPE_MAX_IMAGES_PER_BLOG | No | Max images downloaded by one deep_scrape call | 200 |
| DEEP_SCRAPE_MAX_DOCUMENTS_PER_BLOG | No | Max linked documents downloaded/extracted by one deep_scrape call | 100 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchA | Search the web via the configured SearXNG instance. |
| fetchA | Fetch a URL and return its cleaned main text content. |
| scrape_blogA | Discover every post on a blog and write a single aggregated Markdown file. |
| deep_scrapeA | Discover every post on a blog, fetch each, AND download + extract every linked document (PDF/DOCX/XLSX/PPTX/CSV/JSON/XML/MD/EPUB/...). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ptrken01/searxng-mcp-scraper'
If you have feedback or need assistance with the MCP directory API, please join our Discord server