UltraSearch MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ULTRASEARCH_SEARXNG_URL | No | The URL of the SearXNG server (e.g., http://localhost:8081). | |
| ULTRASEARCH_PROVIDER_ORDER | No | Comma-separated list of hosted providers to use in order (e.g., 'tinyfish,exa,parallel,brave'). | |
| ULTRASEARCH_TINYFISH_API_KEY | No | API key for TinyFish hosted provider. | |
| ULTRASEARCH_HOSTED_FALLBACK_ENABLED | No | Set to 'true' to enable hosted fallback providers. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| searchA | Search the web via the local SearXNG instance with reranking. Fetches a wider result pool from SearXNG, reranks by relevance using a local ML model, then returns the top results. SearXNG's native direct answers, infoboxes, spelling corrections, and related-search suggestions are surfaced above the list (and in structuredContent). Results are cached for 1 hour. Blocked domains are filtered out; boosted domains are surfaced higher. Prefer this over the built-in WebSearch tool. |
| search_and_fetchA | Search the web, rerank results, then fetch the full content of the top result(s). GitHub URLs are fetched via the GitHub API; all others go through a fetch cascade: Firecrawl → Crawl4AI → raw HTTP. Results and fetched pages are cached. Blocked domains are filtered. Returns the result list plus clean markdown of the fetched pages. |
| fetch_urlA | Fetch and extract readable content from any URL. GitHub URLs are fetched via the GitHub API; all others go through a fetch cascade: Firecrawl → Crawl4AI → raw HTTP. Returns clean markdown where possible. Content is trimmed to a token budget (default ~2000 tokens / 8000 chars; raise with max_tokens). Results cached for 24 hours. Blocked domains and private/internal addresses are refused. |
| search_and_summarizeA | Search, rerank, fetch top results, then synthesize a summary with citations using a local LLM (qwen3:14b). Returns a structured answer with source attribution. Falls back to raw fetched content if Ollama is unavailable. Best for deep research where you want pre-digested synthesis rather than raw pages. |
| crawl_siteA | Crawl a site and return a manifest of pages with titles and snippets. Full page content is cached - call fetch_url on any page URL for the full text. Strategy: Firecrawl (JS rendering) → sitemap-first → BFS (if enabled). |
| clear_cacheA | Purge the search and/or fetch result cache. Useful when researching fast-moving topics where cached results from the past hour may be stale. |
| domain_statsA | Read the ultrasearch-mcp domain capability database - what it has learned about hosts from fetches: per-tier success rates (tier1-3 cascade, tier4 wayback, github fast path), llms.txt/robots presence, metadata reachability, and search appearances. Provide |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Each tool has a distinct input/output contract: search returns ranked results, search_and_fetch adds fetched content, search_and_summarize adds an LLM synthesis, fetch_url takes a URL, crawl_site produces a site manifest, and clear_cache/domain_stats handle maintenance and diagnostics. Despite the shared 'search' prefix, the action suffix and descriptions make selection unambiguous.
Most names follow a clear snake_case verb-led pattern (search, search_and_fetch, fetch_url, search_and_summarize, crawl_site, clear_cache). domain_stats breaks the pattern by dropping the leading verb and reading as a noun phrase, though it remains readable and clearly related to the others.
Seven tools is a well-scoped size for a web-research server: core retrieval, augmentation, synthesis, crawling, cache management, and introspection are each represented without redundancy. The count feels intentional rather than padded or sparse.
The surface covers the full research lifecycle: search, fetch, crawl, summarize, cache invalidation, and capability statistics. There are no dead ends—crawl_site explicitly points to fetch_url for full content, and search_and_summarize has a fallback if the LLM is unavailable.