MyWebSearch
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MODE | No | Server mode: both HTTP+STDIO, HTTP only, or STDIO only. Options: both, http, stdio | both |
| PORT | No | Server port (MCP HTTP/S; CLI daemon uses 3210 by default) | 3211 |
| LOG_LEVEL | No | quiet suppresses startup config logs (MCP stdio bare startup is silent by default; use LOG_LEVEL=normal for diagnostics). Options: normal, quiet | normal |
| PROXY_URL | No | Proxy server URL | http://127.0.0.1:7890 |
| USE_PROXY | No | Enable HTTP proxy | false |
| CORS_ORIGIN | No | CORS origin configuration | * |
| ENABLE_CORS | No | Enable CORS | false |
| EXA_API_KEY | No | Optional. Only needed for exa engine. Get a free key from https://dashboard.exa.ai/api-keys | |
| SEARCH_MODE | No | Search strategy. Currently only affects Bing: request only, request then Playwright fallback, or force Playwright. Options: request, auto, playwright | auto |
| FAKE_IP_CIDRS | No | Treat DNS answers in these CIDRs as synthetic fake-IP results and do not block them as private-network DNS answers. Literal private/local targets and other private-network DNS answers remain blocked | |
| PROXY_ENGINES | No | With USE_PROXY=true, only the engines in this whitelist route through the proxy; others stay direct. Empty = all engines proxied (legacy global behavior). Recommended for mainland China: PROXY_ENGINES=duckduckgo,exa,brave,startpage | |
| CONTEXT7_API_KEY | No | Optional API key for higher rate limits on Context7 docs tools | |
| PLAYWRIGHT_PACKAGE | No | Which Playwright client package to resolve when browser mode is enabled. Options: auto, playwright, playwright-core | auto |
| PLAYWRIGHT_HEADLESS | No | Whether Playwright Chromium runs in headless mode | true |
| MCP_TOOL_SEARCH_NAME | No | Custom name for the search tool | search |
| DEFAULT_SEARCH_ENGINE | No | Default search engine. Options: bing, duckduckgo, exa, brave, baidu, csdn, juejin, startpage, sogou | bing |
| ALLOWED_SEARCH_ENGINES | No | Limit which search engines can be used; if the default engine is not in this list, the first allowed engine becomes the default | |
| FETCH_WEB_INSECURE_TLS | No | Disable TLS certificate verification for fetchWebContent only. Use only when a target site has a broken certificate chain | false |
| PLAYWRIGHT_MODULE_PATH | No | Reuse an existing Playwright client package outside this project | |
| PLAYWRIGHT_WS_ENDPOINT | No | Valid Playwright ws:// / wss:// endpoint | |
| BING_IMPERSONATE_TARGET | No | Browser fingerprint target for Bing's HTTP mode. Any curl-cffi-node impersonate target (e.g. chrome131, chrome124, chrome116) | chrome131 |
| MCP_TOOL_FETCH_WEB_NAME | No | Custom name for generic web/Markdown fetch tool | fetchWebContent |
| PLAYWRIGHT_CDP_ENDPOINT | No | Valid Chromium CDP endpoint | |
| BING_PLAYWRIGHT_FALLBACK | No | In auto mode, when Bing's request mode hits an anti-bot page: true = launch a Playwright browser (slow, ~400MB); false = surface the error so the search service can cascade to lighter engines (e.g. duckduckgo/brave) via minResults | true |
| MCP_TOOL_FETCH_CSDN_NAME | No | Custom name for the CSDN article fetch tool | fetchCsdnArticle |
| MCP_TOOL_FETCH_GITHUB_NAME | No | Custom name for the GitHub README fetch tool | fetchGithubReadme |
| MCP_TOOL_FETCH_JUEJIN_NAME | No | Custom name for the Juejin article fetch tool | fetchJuejinArticle |
| PLAYWRIGHT_EXECUTABLE_PATH | No | Launch an existing Chromium/Chrome executable without installing bundled browsers | |
| OPEN_WEBSEARCH_QUIET_STARTUP | No | Suppress startup config logs (compatibility switch, equivalent to LOG_LEVEL=quiet) | false |
| STARTPAGE_PLAYWRIGHT_FALLBACK | No | false = do not launch a Playwright browser for Startpage's Anubis anti-bot warmup (saves ~400MB memory and seconds of latency); surface the error so minResults can cascade to lighter engines instead | true |
| PLAYWRIGHT_NAVIGATION_TIMEOUT_MS | No | Timeout for Playwright navigation and Bing result waits | 20000 |
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 across multiple engines with no API key required. Requires either "query" (single query string) or "queries" (array of 1-4 queries for fan-out). searchMode: omit/auto = server SEARCH_MODE; request/playwright force that mode. Engine guidance: for Chinese queries prefer engines=["baidu","sogou","csdn","juejin"]; for English general/official docs use bing; for bug/issue lookups use github; for developer Q&A use stackoverflow; for tech reviews use hackernews; for papers use arxiv; overseas engines (duckduckgo/brave/startpage/exa/github/stackoverflow/hackernews/arxiv) need a proxy. Omit engines to use server-side auto routing. Cite the relevant result URLs as markdown links in your answer. For OFFICIAL library/framework documentation, prefer queryDocs (more reliable, works without proxy). Use the site: operator for site-specific queries (e.g. "update site:docs.elastic.co"). |
| fetchWebContentA | Fetch high-quality readable content from any public HTTP(S) URL (web pages, technical documentation, Markdown files, and technical articles such as CSDN, Juejin, WeChat, Stack Overflow). Automatically bypasses domestic anti-bot walls, removes promotional noise/watermarks, and preserves code blocks (with programming language) and GFM tables. Defaults to format='markdown'. Supports focus='keyword' for chapter targeting ( |
| fetchGithubReadmeA | Fetch comprehensive GitHub/Gitee content: repository README, source code files (/blob/:branch/:path with language-tagged code blocks), directory trees (/tree/:branch/:path with clean ASCII trees), Issue discussions (/issues/:number with top solutions/comments), or Pull Requests (/pull/:number with changed files list). For generic web pages, use fetchWebContent. |
| queryDocsB | PREFERRED for official documentation: get up-to-date, version-specific official docs and code snippets for any library, framework, or package (e.g. 'next.js', 'react', 'fastapi', or exact ID '/vercel/next.js'). Directly pass the package name — automatically resolves to the canonical library. Direct, reliable, no proxy needed. |
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 4 tools
Each tool has a fairly distinct target: web search (search), generic URL fetch (fetchWebContent), GitHub/Gitee-specific fetch (fetchGithubReadme), and official docs lookup (queryDocs). There is mild overlap between fetchWebContent and fetchGithubReadme (both fetch content) and between search and queryDocs (both retrieve docs), but descriptions explicitly cross-reference each other to steer selection.
Three tools use a clear camelCase verb-noun pattern (fetchGithubReadme, fetchWebContent, queryDocs), giving a predictable structure. However, 'search' is a bare single-word name that breaks the verb_noun convention of the rest, a minor deviation.
Four tools is slightly lean but well-scoped for a web search/retrieval server, with search, fetch, GitHub content, and docs each earning a distinct role. It borders on thin since there's no dedicated multi-page crawl or news tool, but nothing is redundant.
The surface covers the core retrieval lifecycle: search, generic fetch, code-host fetch, and canonical docs lookup, which is solid for a research/search server. Minor gaps exist (no dedicated crawl/site-mapping or structured extraction), but the descriptions show agents can work around them via site: operators and batch URLs.