MCP SearxNG Search
Provides a web search tool that allows users to perform searches through a SearxNG instance, with control over the query and maximum number of results to return.
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., "@MCP SearxNG Searchsearch for the latest AI research papers on large language models"
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.
MCP SearxNG Search
This project provides an MCP server that allows you to perform web searches using a SearxNG instance. It exposes a tool that can be called by other MCP-compatible applications, such as Goose.
Getting Started
Set the
SEARXNG_BASE_URLenvironment variable to the base URL of your SearxNG instance.Install the package:
pip install .
Related MCP server: mcp_server_searXNG
Usage with Goose
Install the extension: After installing the package, you can add this MCP server as an extension in Goose.
Add the extension in Goose: Go to Settings > Extensions > Add.
Set the extension type: Set the Type to StandardIO.
Provide the extension details: Provide an ID, name, and description for your extension.
Set the command: In the Command field, provide the absolute path to your executable using
uv run. For example:uv run /full/path/to/mcp-searxng-search/.venv/bin/mcp-searxng-searchMake sure to replace
/full/path/to/mcp-searxng-searchwith the actual path to your project directory.Using the extension: Once integrated, you can start using your extension in Goose. Open the Goose chat interface and call your tool as needed. You can verify that Goose has picked up the tools from your custom extension by asking it "what tools do you have?"
The tool ID is searxng_search. It accepts two parameters: query (the search query) and max_results (the maximum number of results to return, defaults to 30).
Available Tools
1 toolsearxng_searchA
Searches the web using a SearxNG instance and returns a list of results.
Args:
query: The search query.
max_results: The maximum number of results to return. Defaults to 30.
Returns:
A list of dictionaries, where each dictionary represents a search result
and contains the title, URL, and content snippet. Returns an error
message in a dictionary if the search fails.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
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 that the tool 'returns a list of results' and 'returns an error message in a dictionary if the search fails,' which adds some context about success and failure behaviors. However, it lacks details on rate limits, authentication needs, or other operational traits, leaving gaps in transparency for a tool that interacts with external services.
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 and front-loaded, with a clear purpose statement followed by structured sections for 'Args' and 'Returns.' Each sentence earns its place by providing essential information without redundancy, making it efficient and easy to parse for an AI agent.
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 moderate complexity (2 parameters, no annotations, but with an output schema), the description is reasonably complete. It covers the purpose, parameters, and return values, and the output schema likely details the result structure, reducing the need for extensive return explanations. However, it could improve by addressing potential errors or usage constraints more explicitly.
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 description adds meaningful semantics beyond the input schema. The schema has 0% description coverage, but the description explains that 'query' is 'The search query' and 'max_results' is 'The maximum number of results to return. Defaults to 30.' This clarifies the purpose and default value, compensating well for the low schema coverage. However, it doesn't detail constraints like query length or result range limits.
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: 'Searches the web using a SearxNG instance and returns a list of results.' It specifies the verb ('searches'), resource ('the web'), and mechanism ('using a SearxNG instance'), making it easy to understand what the tool does. However, since there are no sibling tools mentioned, it doesn't need to differentiate from alternatives, so it doesn't reach the highest score of 5.
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 implies usage through its purpose statement but lacks explicit guidance on when to use this tool versus alternatives. With no sibling tools provided, there's no need to distinguish from them, but it doesn't offer any context on prerequisites, limitations, or best practices. This results in an implied usage scenario without detailed exclusions or recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'searxng_search' has a clear, distinct purpose for web searching.
The single tool name 'searxng_search' follows a consistent pattern (noun_verb style), and with only one tool, there is no inconsistency to evaluate. The naming is straightforward and descriptive.
A single tool for a search server is too minimal for effective agent use. While it covers the core search function, it lacks supporting tools (e.g., for filtering, advanced queries, or handling different search types), making the scope feel thin and incomplete for a typical search domain.
The tool surface is severely incomplete for a search server. It only provides basic search functionality without any tools for related operations like image search, news search, autocomplete, or result management, leading to significant gaps that will limit agent capabilities.
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
MCP server for Google search results via SERP API
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.
Serper MCP — wraps the Serper Google Search API (serper.dev)
Related MCP Servers
- 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
- AlicenseNot gradedqualityCmaintenanceA privacy-friendly web search MCP server using SearXNG, enabling searches across multiple engines and categories.1MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that integrates the SearXNG API to provide web search with pagination, filtering, and URL content extraction.18MIT
- FlicenseAqualityCmaintenanceMCP server that provides a search_web tool to query a self-hosted SearXNG instance and return structured web search results.1
Appeared in Searches
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/Jay4242/mcp_searxng_search'
If you have feedback or need assistance with the MCP directory API, please join our Discord server