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. searchMode: omit/auto = server SEARCH_MODE; request/playwright force that mode. Engine guidance: for Chinese queries prefer engines=["baidu","sogou","csdn","juejin"] (domestic engines have far better Chinese content coverage); for English/official docs use bing; overseas engines (duckduckgo/brave/startpage/exa) 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 resolveLibraryId + queryDocs (more reliable, works without proxy). Use the site: operator for site-specific queries (e.g. "update site:docs.elastic.co"). |
| fetchCsdnArticleA | Fetch full article content from a CSDN article URL (blog.csdn.net /article/details/ only; for other sites use fetchWebContent) |
| fetchGithubReadmeA | Fetch README content from a GitHub/Gitee repository URL (github.com or gitee.com repo URLs only; for other pages use fetchWebContent) |
| fetchWebContentC | Fetch content from a public HTTP(S) URL (supports Markdown files and normal web pages) |
| fetchJuejinArticleA | Fetch full article content from a Juejin(掘金) post URL (juejin.cn or article.juejin.cn /post/ only; for other sites use fetchWebContent) |
| resolveLibraryIdA | PREFERRED for official docs: resolve a library/package name to a Context7 library ID (e.g. /vercel/next.js). Use this (then queryDocs) FIRST when the task needs official library/framework documentation — more reliable than web search and works without a proxy. |
| queryDocsA | Get up-to-date, version-specific official docs and code snippets for a Context7 library ID (e.g. /vercel/next.js, version-pinnable like /vercel/next.js@v15.1.8). Use with resolveLibraryId for official documentation lookups — 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 7 tools
Each tool has a well-defined target: search vs. generic fetching vs. site-specific fetching vs. official docs. The specialized fetchers explicitly delegate non-matching URLs to fetchWebContent, reducing misselection.
Most tools follow a verb-first camelCase pattern (fetchX, queryDocs, resolveLibraryId). 'search' is a bare verb without an object, and object specificity varies, but the pattern remains predictable.
Seven tools cover the server's purpose without redundancy or bloat. The count is within the ideal 3–15 range and each tool contributes a distinct capability.
The set covers generic web fetching, specialized extraction for CSDN, Juejin, and GitHub READMEs, multi-engine web search, and official documentation lookups. No critical functionality appears missing for a web search and content-fetch server.