This server provides privacy-respecting web search capabilities through SearXNG, a metasearch engine that aggregates results from multiple sources without tracking users, accessible via an MCP protocol interface.
Web Search: Execute privacy-focused searches with customizable parameters including query, language, time range (day/week/month/year), categories (general/images/news), and specific search engines
Result Control: Manage pagination, limit results (1-50), and configure safe search levels (off/moderate/strict) to filter explicit content
Authentication & Security: Support for multiple auth types (none, static, JWT, OAuth Proxy, OIDC Proxy, Remote OAuth) and Eunomia authorization policies (embedded or remote)
Deployment Flexibility: Run via stdio (local testing) or HTTP (networked service), with Docker and Docker Compose support
Privacy Features: Optional random SearXNG instance selection for enhanced privacy
AI Integration: Compatible with MCP protocol for integration with AI assistants and tools
Enables privacy-respecting metasearch capabilities with customizable search parameters including language, time range, categories, engines, safe search levels, and pagination control.
SearXNG MCP Server
Version: 0.0.7
Perform privacy-respecting web searches using SearXNG through an MCP server!
This repository is actively maintained - Contributions are welcome!
Supports:
Privacy-respecting metasearch
Customizable search parameters (language, time range, categories, engines)
Safe search levels
Pagination control
Basic authentication support
Random instance selection
MCP CLI
Short Flag | Long Flag | Description |
-h | --help | Display help information |
-t | --transport | Transport method: 'stdio', 'http', or 'sse' [legacy] (default: stdio) |
-s | --host | Host address for HTTP transport (default: 0.0.0.0) |
-p | --port | Port number for HTTP transport (default: 8000) |
--auth-type | Authentication type: 'none', 'static', 'jwt', 'oauth-proxy', 'oidc-proxy', 'remote-oauth' (default: none) | |
--token-jwks-uri | JWKS URI for JWT verification | |
--token-issuer | Issuer for JWT verification | |
--token-audience | Audience for JWT verification | |
--oauth-upstream-auth-endpoint | Upstream authorization endpoint for OAuth Proxy | |
--oauth-upstream-token-endpoint | Upstream token endpoint for OAuth Proxy | |
--oauth-upstream-client-id | Upstream client ID for OAuth Proxy | |
--oauth-upstream-client-secret | Upstream client secret for OAuth Proxy | |
--oauth-base-url | Base URL for OAuth Proxy | |
--oidc-config-url | OIDC configuration URL | |
--oidc-client-id | OIDC client ID | |
--oidc-client-secret | OIDC client secret | |
--oidc-base-url | Base URL for OIDC Proxy | |
--remote-auth-servers | Comma-separated list of authorization servers for Remote OAuth | |
--remote-base-url | Base URL for Remote OAuth | |
--allowed-client-redirect-uris | Comma-separated list of allowed client redirect URIs | |
--eunomia-type | Eunomia authorization type: 'none', 'embedded', 'remote' (default: none) | |
--eunomia-policy-file | Policy file for embedded Eunomia (default: mcp_policies.json) | |
--eunomia-remote-url | URL for remote Eunomia server |
Using as an MCP Server
The MCP Server can be run in two modes: stdio (for local testing) or http (for networked access). To start the server, use the following commands:
Run in stdio mode (default):
Run in HTTP mode:
AI Prompt:
AI Response:
Deploy MCP Server as a Service
The ServiceNow MCP server can be deployed using Docker, with configurable authentication, middleware, and Eunomia authorization.
Using Docker Run
For advanced authentication (e.g., JWT, OAuth Proxy, OIDC Proxy, Remote OAuth) or Eunomia, add the relevant environment variables:
Using Docker Compose
Create a docker-compose.yml file:
For advanced setups with authentication and Eunomia:
Run the service:
Configure mcp.json for AI Integration
Install Python Package