SearXNG MCP Server
Provides web search capabilities via the SearXNG API, enabling general queries, news, and article searches with support for pagination, time-based filtering, language selection, and safe search levels.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SearXNG MCP Serversearch for the latest news on quantum computing from the last month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SearXNG MCP Server
An MCP server implementation that integrates the SearXNG API, providing web search capabilities.
Features
Web Search: General queries, news, articles, with pagination.
Pagination: Control which page of results to retrieve.
Time Filtering: Filter results by time range (day, month, year).
Language Selection: Filter results by preferred language.
Safe Search: Control content filtering level for search results.
Related MCP server: SearXNG MCP Server
Tools
searxng_web_search
Execute web searches with pagination
Inputs:
query(string): The search query. This string is passed to external search services.pageno(number, optional): Search page number, starts at 1 (default 1)time_range(string, optional): Filter results by time range - one of: "day", "month", "year" (default: none)language(string, optional): Language code for results (e.g., "en", "fr", "de") or "all" (default: "all")safesearch(number, optional): Safe search filter level (0: None, 1: Moderate, 2: Strict) (default: instance setting)
web_url_read
Read and convert the content from a URL to markdown
Inputs:
url(string): The URL to fetch and process
Configuration
Setting the SEARXNG_URL
Choose a SearxNG instance from the list of public instances or use your local environment.
Set the
SEARXNG_URLenvironment variable to the instance URL.The default
SEARXNG_URLvalue ishttp://localhost:8080.
Using Authentication
If you are using a password protected SearxNG instance you can set a username and password for HTTP Basic Auth:
Set the
AUTH_USERNAMEenvironmental variable to your usernameSet the
AUTH_PASSWORDenvironmental variable to your password
Usage with Claude Desktop
NPX
{
"mcpServers": {
"searxng": {
"command": "npx",
"args": [
"-y",
"mcp-searxng"
],
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}NPM
npm install -g mcp-searxngAnd then in your MCP config file:
{
"mcpServers": {
"searxng": {
"command": "mcp-searxng",
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}Docker
Using Pre-built Image from Docker Hub
docker pull isokoliuk/mcp-searxng:latestAdd this to your claude_desktop_config.json:
{
"mcpServers": {
"searxng": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SEARXNG_URL",
"isokoliuk/mcp-searxng:latest"
],
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}Build Locally
docker build -t mcp-searxng:latest -f Dockerfile .Use
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"searxng": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SEARXNG_URL",
"mcp-searxng:latest"
],
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Available Tools
2 toolssearxng_web_searchB
Performs a web search using the SearXNG API, ideal for general queries, news, articles, and online content. Use this for broad information gathering, recent events, or when you need diverse web sources.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The search query. This is the main input for the web search | |
| pageno | No | Search page number (starts at 1) | |
| time_range | No | Time range of search (day, month, year) | |
| language | No | Language code for search results (e.g., 'en', 'fr', 'de'). Default is instance-dependent. | all |
| safesearch | No | Safe search filter level (0: None, 1: Moderate, 2: Strict) | 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool is 'ideal for general queries' and 'broad information gathering' which gives some context about scope, but doesn't address important behavioral aspects like rate limits, authentication requirements, result format, pagination behavior, or error handling. For a search tool with no annotation coverage, this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences that each serve a clear purpose. The first sentence establishes the core functionality, while the second provides usage guidance. There's no wasted text, though it could be slightly more front-loaded with the most critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 5 parameters, 100% schema coverage, but no annotations and no output schema, the description provides adequate basic context about when to use the tool. However, it doesn't compensate for the lack of output schema by describing result format or structure, and with no annotations, it should provide more behavioral context about the search operation's characteristics and limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema. It mentions 'general queries' which aligns with the 'query' parameter, but provides no additional semantic context about parameter usage or interactions. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs a web search using SearXNG API, specifying the action ('performs a web search') and resource ('SearXNG API'). It distinguishes from the sibling tool 'web_url_read' by focusing on search rather than reading specific URLs. However, it doesn't explicitly contrast with the sibling beyond implicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool ('ideal for general queries, news, articles, and online content' and 'for broad information gathering, recent events, or when you need diverse web sources'). It gives positive guidance but doesn't explicitly state when NOT to use it or mention the sibling tool as an alternative for specific cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_url_readB
Read the content from an URL. Use this for further information retrieving to understand the content of each URL.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions reading content but fails to disclose critical traits like whether it handles authentication, rate limits, error conditions (e.g., invalid URLs), content types (e.g., HTML, text), or any side effects. This leaves significant gaps in understanding the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences that directly state the tool's function and usage, with no wasted words. However, it could be slightly more front-loaded by leading with the core purpose more explicitly, but overall it's efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a web content reader with no annotations and no output schema), the description is incomplete. It doesn't explain what the tool returns (e.g., raw HTML, parsed text), error handling, or limitations, which are crucial for an AI agent to use it correctly. The lack of output schema exacerbates this gap, making the description insufficient for full contextual understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'url' parameter documented as 'URL'. The description adds no additional meaning beyond this, such as format requirements (e.g., must include http://) or examples. Given the high schema coverage, the baseline score of 3 is appropriate, as the schema does the heavy lifting without extra value from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Read') and resource ('content from an URL'), making it understandable. However, it doesn't explicitly distinguish this from its sibling tool 'searxng_web_search', which appears to be a search tool rather than a direct URL content reader, so it misses full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage guidance by stating 'Use this for further information retrieving to understand the content of each URL,' suggesting it's for post-search content analysis. However, it lacks explicit when-to-use vs. when-not-to-use instructions or named alternatives, such as clarifying if it's for web pages only or how it differs from the sibling search tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.5.0- First observed
searxng_web_search - First observed
web_url_read
TDQS
The two tools have clearly distinct purposes: searxng_web_search performs web searches to find URLs, while web_url_read reads content from specific URLs. There is no overlap or ambiguity between searching for information and retrieving content from a known URL.
Both tools use snake_case naming, which is consistent. However, the naming patterns differ slightly: searxng_web_search includes the server prefix and specifies the action (search), while web_url_read is more generic. This minor deviation prevents a perfect score.
With only two tools, the server feels under-scoped for a web search and content retrieval domain. While the tools cover basic search and reading, there are likely missing operations such as filtering search results, handling pagination, or advanced URL processing, making the count too low for comprehensive functionality.
The tool set is severely incomplete for a web search server. It lacks essential operations like refining searches (e.g., by date, site, or type), managing search sessions, or handling errors and rate limits. Agents will face dead ends when trying to perform more complex web research tasks beyond basic search and URL reading.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Serper MCP — wraps the Serper Google Search API (serper.dev)
Docs: https://docs.keenable.ai/mcp-server Keenable is a free, remote MCP server that gives agents access to the web index. Search the web with ranked results and date/site filters, then fetch any indexed page as clean markdown. Works out of the box with no account or API key.
MCP server for Google search results via SERP API
Related MCP Servers
- AlicenseAqualityAmaintenanceAn MCP server implementation that integrates the SearxNG API, providing web search capabilities.214,6401,204MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that enables web search capabilities by integrating with a SearXNG instance to aggregate results from over 130 engines. It allows users to perform filtered searches across categories like news, science, and social media while supporting advanced parameters for language and time range.9MIT
- AlicenseAqualityBmaintenanceAn MCP server that integrates the SearXNG API for web search and URL content extraction with advanced features like pagination, caching, and proxy support.414,6402MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that integrates the SearXNG API to provide web search with pagination, filtering, and URL content extraction.18MIT
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/tobioffice/mcp-searxng'
If you have feedback or need assistance with the MCP directory API, please join our Discord server