SearXNG client and MCP server for Ruby. Local and private web search from console, IDE, and tools.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"searxng": {
"env": {
"SEARXNG_URL": "http://localhost:8080"
},
"args": [
"exec",
"searxng",
"serve"
],
"command": "bundle"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Ruby gem providing a SearXNG HTTP client, CLI (search), and MCP (Model Context Protocol) server for web search. Integrates with MCP-compatible clients like Codex, Cursor, Claude, and other MCP-enabled tools.
This server supports HTTP transport. Be the first to test it — help the community know if it works.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
server-configcurrent server/environment capabilities
config://server-config
usage-guideconcise usage and configuration guide
help://usage-guide
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in search
Web and local search using Brave Search API
Production ready MCP server with real-time search, extract, map & crawl.
Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
MCP Security Weekly
Get CVE alerts and security updates for Searxng.Rb and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Ruby gem providing a SearXNG HTTP client, CLI (search), and MCP (Model Context Protocol) server for web search. Integrates with MCP-compatible clients like Codex, Cursor, Claude, and other MCP-enabled tools.
gem install searxng
Or add to your Gemfile:
gem "searxng"
Quick start with a local SearXNG instance: The repo includes a ready-made docker-compose and settings so you can run SearXNG locally (JSON format and limiter preconfigured for the gem). From the repo root: docker compose -f examples/docker-compose.yml up -d, then export SEARXNG_URL="http://localhost:8080". See examples/SETUP.md for details.
searxng search "your query"
searxng search "ruby" --page 2 --language en --time-range day --json
Options: --url, --page, --language, --time-range (day|month|year), --safesearch (0|1|2), --json.
require "searxng"
client = Searxng::Client.new
data = client.search("ruby programming", pageno: 1, language: "en")
data[:results].each do |r|
puts r[:title], r[:url], r[:content]
end
http://localhost:8080 or https://search.example.com). The client defaults to http://localhost:8080; MCP server startup validates that this variable is explicitly set and well-formed.AUTH_USERNAME / AUTH_PASSWORD are also accepted for compatibility. Auth vars must be provided as a pair.ca_file:, ca_path:, or verify_mode: to Searxng::Client.new.user_agent: to Searxng::Client.new.ipfs:// URLs (default: https://ipfs.io).web_url_read.To fully customize the HTTP client (e.g. custom certs, proxy, timeouts), override #build_http(uri) in a subclass, or pass a configure_http: callable to the client; it is invoked with the Net::HTTP instance and the request URI before each request.
The MCP server provides the following tools:
query (required), pageno (optional), max_results (optional, default 10), time_range (optional), language (optional), safesearch (optional). Use max_results to limit how many results are returned in one response (reduces