Kagimcp vs MCP SearXNG — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Kagimcp vs MCP SearXNG
In-depth architectural comparison of the Kagimcp 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
Kagimcp
Search & Data Extraction · Local stdio
Quality: 82/100 (Excellent) | Auth: API Key required
MCP SearXNG
Search & Data Extraction · Local stdio
Quality: 57/100 (Good) | Auth: No auth required
Verdict Summary: Choose Kagimcp 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 Kagimcp 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)).
The Official Model Context Protocol (MCP) server for Kagi Search & other tools.
/☁️ - A Model Context Protocol Server for SearXNG
Category & Scope
Tools & Capabilities Breakdown
Kagimcp Tools (2)
kagi_search_fetch
Fetch web results for a query using the Kagi Search API. Use for general search and when the user explicitly tells you to 'fetch' results/information. Results are numbered so that a user may refer to a result by a specific number.
kagi_extract
Extract the content of a web page as markdown using the Kagi Extract API. Use this to read the full content of a page when needed.
MCP SearXNG Tools (4)
searxng_web_search
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`.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Kagimcp 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 Kagimcp when you need capabilities focused on search & data extraction and MCP SearXNG when you require tools for search & data extraction.
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.