Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MODENoServer mode: both HTTP+STDIO, HTTP only, or STDIO only. Options: both, http, stdioboth
PORTNoServer port (MCP HTTP/S; CLI daemon uses 3210 by default)3211
LOG_LEVELNoquiet suppresses startup config logs (MCP stdio bare startup is silent by default; use LOG_LEVEL=normal for diagnostics). Options: normal, quietnormal
PROXY_URLNoProxy server URLhttp://127.0.0.1:7890
USE_PROXYNoEnable HTTP proxyfalse
CORS_ORIGINNoCORS origin configuration*
ENABLE_CORSNoEnable CORSfalse
EXA_API_KEYNoOptional. Only needed for exa engine. Get a free key from https://dashboard.exa.ai/api-keys
SEARCH_MODENoSearch strategy. Currently only affects Bing: request only, request then Playwright fallback, or force Playwright. Options: request, auto, playwrightauto
FAKE_IP_CIDRSNoTreat 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_ENGINESNoWith 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_KEYNoOptional API key for higher rate limits on Context7 docs tools
PLAYWRIGHT_PACKAGENoWhich Playwright client package to resolve when browser mode is enabled. Options: auto, playwright, playwright-coreauto
PLAYWRIGHT_HEADLESSNoWhether Playwright Chromium runs in headless modetrue
MCP_TOOL_SEARCH_NAMENoCustom name for the search toolsearch
DEFAULT_SEARCH_ENGINENoDefault search engine. Options: bing, duckduckgo, exa, brave, baidu, csdn, juejin, startpage, sogoubing
ALLOWED_SEARCH_ENGINESNoLimit 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_TLSNoDisable TLS certificate verification for fetchWebContent only. Use only when a target site has a broken certificate chainfalse
PLAYWRIGHT_MODULE_PATHNoReuse an existing Playwright client package outside this project
PLAYWRIGHT_WS_ENDPOINTNoValid Playwright ws:// / wss:// endpoint
BING_IMPERSONATE_TARGETNoBrowser fingerprint target for Bing's HTTP mode. Any curl-cffi-node impersonate target (e.g. chrome131, chrome124, chrome116)chrome131
MCP_TOOL_FETCH_WEB_NAMENoCustom name for generic web/Markdown fetch toolfetchWebContent
PLAYWRIGHT_CDP_ENDPOINTNoValid Chromium CDP endpoint
BING_PLAYWRIGHT_FALLBACKNoIn 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 minResultstrue
MCP_TOOL_FETCH_CSDN_NAMENoCustom name for the CSDN article fetch toolfetchCsdnArticle
MCP_TOOL_FETCH_GITHUB_NAMENoCustom name for the GitHub README fetch toolfetchGithubReadme
MCP_TOOL_FETCH_JUEJIN_NAMENoCustom name for the Juejin article fetch toolfetchJuejinArticle
PLAYWRIGHT_EXECUTABLE_PATHNoLaunch an existing Chromium/Chrome executable without installing bundled browsers
OPEN_WEBSEARCH_QUIET_STARTUPNoSuppress startup config logs (compatibility switch, equivalent to LOG_LEVEL=quiet)false
STARTPAGE_PLAYWRIGHT_FALLBACKNofalse = 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 insteadtrue
PLAYWRIGHT_NAVIGATION_TIMEOUT_MSNoTimeout for Playwright navigation and Bing result waits20000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

my-websearch provides 5 focused tools for web search, web extraction, Git repositories, documentation, and remote code symbols:

  1. 'search': Multi-engine web and code search. Use for finding pages, articles, issues, and code snippets across Bing, Baidu, DuckDuckGo, Brave, GitHub, grep.app, etc. Supports multi-query, timeRange (day/week/month/year), and site filters.

  2. 'fetchWebContent': Extract readable content and markdown from generic web pages and PDF files. Use for reading articles, blogs, documentation pages, or downloading and parsing PDF documents.

  3. 'fetchGithubContent': Fetch GitHub/Gitee content by URL: README, a single source file (/blob/), a directory tree (/tree/), an Issue (/issues/), or a PR (/pull/ on GitHub, /pulls/ on Gitee). Examples: https://github.com/owner/repo/blob/main/src/index.ts ; https://gitee.com/owner/repo/blob/master/README.md ; https://github.com/owner/repo/issues/42 ; https://gitee.com/owner/repo/pulls/4 — ref may be a branch, tag, or commit; one file or directory per call, not a whole-repo clone.

  4. 'queryDocs': Direct access to official documentation and code snippets for libraries and frameworks (Context7 with npm/PyPI and GitHub fallback). Always prefer queryDocs over general web search for official library APIs and examples.

  5. 'codeSymbol': Locate a symbol declaration plus references and call sites in a remote GitHub repo (signature + code block + line numbers). Requires GITHUB_TOKEN; pass the exact symbol name, e.g. repo="fastapi/fastapi", symbol="Depends".

Routing guidance:

  • Prefer 'queryDocs' for official package documentation (no proxy required).

  • Prefer 'fetchGithubContent' for GitHub/Gitee repos, files, issues, and PRs.

  • Prefer 'codeSymbol' when the exact symbol name is known and you need its definition or call sites.

  • Prefer 'fetchWebContent' for generic URLs and PDF files.

  • Use 'search' with site: operator (e.g. site:docs.python.org) or timeRange for targeted queries.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
searchB

Search the web across multiple engines (Chinese/English/Code). Supports multi-query fan-out ('queries'), timeRange filtering, site limits, fetchTop article content, and no API keys required.

fetchWebContentA

Fetch readable web content/docs/PDFs from public URLs. Auto-cleans ads, keeps code/tables. Batch urls (1-3), CSS selector scoping, bm25 focus, startIndex paging, cache, schema extract to JSON, citations, link retention.

fetchGithubContentA

Fetch GitHub/Gitee by URL: README, source file (/blob/, with lines), tree, issue, PR, commit, compare, or releases (releaseLimit for recent N). Example: https://github.com/o/r/blob/main/src/index.ts — ref can be branch/tag/commit; not a repo clone.

queryDocsB

Get official docs, API references, and code snippets for libraries/packages (e.g. 'react', 'fastapi', 'next.js'). Queries Context7 with fallback to npm/PyPI registry and GitHub README. Direct, no proxy needed.

codeSymbolA

Find a symbol declaration and references in a remote GitHub repo. Uses GitHub code search + raw files; returns signature, code block, and reference lines. Requires GITHUB_TOKEN. Example: repo="fastapi/fastapi", symbol="Depends".

Prompts

Interactive templates invoked by user choice

NameDescription
deep-researchMulti-source research with query fan-out, official docs, and citation-backed synthesis.
code-lookupLook up official docs, source code, and release notes for a library API question.

Resources

Contextual data attached and managed by the client

NameDescription
websearch-page-cacheRecently cached pages from fetchWebContent (metadata only).
websearch-docs-cacheRecently cached queryDocs results (metadata only).

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation4/5

Each tool targets a reasonably distinct need: general web search, generic URL/PDF extraction, GitHub-specific artifacts, library documentation lookup, and symbol-level code search. The main friction is between fetchWebContent and fetchGithubContent (both fetch content, and the boundary is only implied by URL type) and between queryDocs and search (docs lookup can fall back to GitHub READMEs). Descriptions largely resolve these, but an agent must read carefully to pick correctly for a github.com URL.

Naming Consistency4/5

Four of five tools use camelCase verb_noun-ish names (fetchWebContent, fetchGithubContent, queryDocs, codeSymbol), giving a predictable pattern. The lone 'search' breaks the pattern by being a bare verb, a minor deviation rather than a systemic inconsistency.

Tool Count5/5

Five tools is well-scoped for a web search/fetch server; each covers a genuinely different retrieval target (search, generic page, GitHub artifact, docs, symbol). No tool appears redundant or thrown in as filler.

Completeness4/5

The surface covers the core retrieval lifecycle: discovery (search, queryDocs), retrieval (fetchWebContent, fetchGithubContent), and code navigation (codeSymbol), with pagination and caching handled inside fetchWebContent. Minor gaps exist — no dedicated repo-wide listing/browsing, no explicit cache management or multi-page crawl tool — but agents can work around these via search and URL paging.

Maintenance

ActivityActive
ResponsivenessNo recent community issues