List available search engines
enginesList available search providers for the search and research tools. Use it to discover valid identifiers for the provider parameter, enabling user selection and configuration.
Instructions
List engine names accepted by the engines= parameter of search / research.
Best for:
- Discovering what's installable before passing a non-default engine.
- Building user-facing UIs that let humans pick engines.
Not recommended for:
- Calling on every search — the list is static; cache it.
Returns:
- The live, complete list of engine name strings. The buckets below are
illustrative; always trust the returned list over this doc.
Common mistakes:
- Passing one of these names as a query to `search` — they go in the
`engines=` argument, not `query`.
- Passing a key-only engine (brave_api/serper/tavily/google_cse) with no key
configured — it returns an actionable error, not results.
Defaults: duckduckgo + mojeek + googlenews + bing (reliable, all-HTTP,
low-latency; googlenews is an RSS index with structured publish
dates and its URLs resolve to the real publisher on
fetch/research; bing's www4 edge answers in ~0.3s).
Keyless opt-in: google + serpsearch (Google SERP scrapers, HTTP-first),
anysearch (JSON aggregator), startpage (browser-rendered, slower),
brave (PoW captcha after a few calls), baidu
(CN index), bilibili (CN video), zhihu (CN Q&A, often login-gated),
sogou + so360 (CN indexes; sogou returns redirect URLs),
wikipedia (encyclopedia, follows SEARCH_MCP_REGION language),
openlibrary (books),
searx (public-instance meta-search; set SEARCH_MCP_SEARX_INSTANCES
if it returns nothing).
Vertical (auto-selected by `category`, see below): arxiv, openalex,
crossref, pubmed (papers); github, stackexchange, hackernews
(code and developer discussion); gdelt (worldwide news).
Key-required (configure via admin UI / SEARCH_MCP_*_API_KEY): brave_api,
serper, tavily, google_cse, github_code (GitHub rejects anonymous
code search).
You usually do NOT need to pass `engines=` for these. Passing `category=`
to `search`/`research` routes the query to the sources that natively index
it — `category="paper"` actually queries arXiv/OpenAlex/Crossref instead of
filtering general web results by hostname. Naming engines explicitly turns
that routing off.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |