Stocky vs MCP SearXNG — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Stocky vs MCP SearXNG
In-depth architectural comparison of the Stocky and MCP SearXNG MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Stocky
Search & Data Extraction · Local stdio
Quality: 55/100 (Good) | Auth: API Key required
MCP SearXNG
Search & Data Extraction · Local stdio
Quality: 57/100 (Good) | Auth: No auth required
Verdict Summary: Choose Stocky if you need specialized Search & Data Extraction tools running via a local process. Choose MCP SearXNG if your workspace requires Search & Data Extraction integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Stocky when:
You need dedicated capabilities in the Search & Data Extraction domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: API Key required (BYOK (Pay Provider Direct)).
You have access to required keys: PEXELS_API_KEY, UNSPLASH_ACCESS_KEY, ENABLE_ATTRIBUTION_LINKS, STOCKY_CACHE_TTL, STOCKY_HTTP_TIMEOUT, STOCKY_MAX_DOWNLOAD_BYTES, STOCKY_DOWNLOAD_ROOT, STOCKY_LOG_LEVEL.
Primary tools included: Concurrent multi-provider search (Pexels and Unsplash), Rich metadata including image sizes, photographer, tags, License-aware attribution generation per provider requirements.
An MCP server for searching and downloading royalty-free stock photography from Pexels and Unsplash. Features multi-provider search, rich metadata, pagination support, and async performance for AI assistants to find and access high-quality images.
Stocky is categorized under Search & Data Extraction and uses a local stdio subprocess. In contrast, MCP SearXNG belongs to Search & Data Extraction using local stdio subprocess. Select Stocky when you need capabilities focused on search & data extraction and MCP SearXNG when you require tools for search & data extraction.
Searches the web using SearXNG and returns a list of results, each with a title, URL, and content snippet. CRITICAL: The required parameter name is exactly `query` (not `prompt`, `q`, or any other name). Calls an external SearXNG instance; availability depends on the `SEARXNG_URL` configuration. Use `pageno` to paginate results; combine `time_range` and `language` to narrow scope. When `engines` and `time_range` are both provided, every selected engine must explicitly advertise time-range support via SearXNG /config; otherwise the request is rejected before search. To read the full text of a result URL, follow up with `web_url_read`.
searxng_search_suggestions
Returns autocomplete suggestions from the configured SearXNG instance. Use this to refine vague or partial queries before searching.
searxng_instance_info
Discovers capabilities from all reachable configured SearXNG instances via /config, including categories.common/available, engines.common/available, defaults, locales, and plugins.
web_url_read
Fetches a URL and returns readable content as markdown. Content-type aware: HTML is converted to markdown; JSON is pretty-printed; plain text, YAML, TOML, and XML are returned as fenced readable text. PDF text extraction is supported with bounded input, output, page count, time, concurrency, and memory; OCR is not supported. Binary, media, archive, and octet-stream downloads other than PDFs are intentionally rejected instead of being returned as raw bytes. When the operator configures browser solvers, mcp-searxng attempts FlareSolverr first and then Byparr only after a busy or transient-unavailable acquisition; cache hits bypass acquisition and a final busy or unavailable provider uses one uncached direct-fetch fallback. Three modes: (1) Full content — omit filtering params; use `startChar`/`maxLength` to paginate large pages. (2) Section extraction — set `section` to return content under a specific heading. (3) Headings only — set `readHeadings: true` to list all headings (mutually exclusive with other filtering params). Returns an error string if the URL is unreachable or content cannot be extracted. Use after `searxng_web_search` to read the full content of individual result URLs.