get_suggestions
Generate search autocomplete suggestions for query prefixes to help discover related terms and improve search query formulation.
Instructions
Get search suggestions/autocomplete for a query prefix.
This tool provides search suggestions based on a partial query, similar to autocomplete functionality in search engines. Useful for discovering related searches or expanding on a topic.
Use this when you need to:
Get autocomplete suggestions for a search
Discover related search terms
Help users formulate better search queries
Explore variations of a search topic
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The query prefix to get suggestions for | |
| language | No | Language code for suggestions (default: 'en') | en |
Input Schema (JSON Schema)
{
"properties": {
"language": {
"default": "en",
"description": "Language code for suggestions (default: 'en')",
"type": "string"
},
"query": {
"description": "The query prefix to get suggestions for",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
}
Implementation Reference
- src/searxng_mcp_server/server.py:215-229 (handler)The tool execution handler within the call_tool method that calls the client's get_suggestions and formats the response as JSON.elif name == "get_suggestions": suggestions = await client.get_suggestions( query=arguments["query"], language=arguments.get("language", "en"), ) return [ TextContent( type="text", text=json.dumps( {"query": arguments["query"], "suggestions": suggestions}, indent=2, ), ) ]
- Input schema defining parameters for the get_suggestions tool: required 'query' string, optional 'language' string.inputSchema={ "type": "object", "properties": { "query": { "type": "string", "description": "The query prefix to get suggestions for", }, "language": { "type": "string", "description": "Language code for suggestions (default: 'en')", "default": "en", }, }, "required": ["query"], },
- src/searxng_mcp_server/server.py:107-135 (registration)Registration of the 'get_suggestions' tool in the tools list with name, description, and input schema.Tool( name="get_suggestions", description="""Get search suggestions/autocomplete for a query prefix. This tool provides search suggestions based on a partial query, similar to autocomplete functionality in search engines. Useful for discovering related searches or expanding on a topic. Use this when you need to: - Get autocomplete suggestions for a search - Discover related search terms - Help users formulate better search queries - Explore variations of a search topic""", inputSchema={ "type": "object", "properties": { "query": { "type": "string", "description": "The query prefix to get suggestions for", }, "language": { "type": "string", "description": "Language code for suggestions (default: 'en')", "default": "en", }, }, "required": ["query"], }, ),
- The supporting method in SearXNGClient that implements the core logic by querying the SearXNG /autocomplete endpoint.async def get_suggestions( self, query: str, language: str = "en", ) -> List[str]: """Get search suggestions for a query prefix. Args: query: The query prefix language: Language code for suggestions Returns: List of suggestion strings Raises: httpx.HTTPError: If the request fails """ url = urljoin(self.base_url, "/autocomplete") params = { "q": query, "language": language, } response = await self.client.get(url, params=params) response.raise_for_status() # Autocomplete returns a simple list return response.json()