google-surf-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SURF_TZ | No | Timezone for the browser (e.g. America/New_York, default: system timezone) | |
| CHROME_PATH | No | Absolute path to Chrome binary (auto-detected if not set) | |
| SURF_LOCALE | No | Browser locale (default: en-US) | |
| SURF_HEADLESS | No | Set to 'false' to run Chrome visibly (default: 'true') | |
| SURF_PROFILE_ROOT | No | Directory where the warm Chrome profile lives (default: ~/.google-surf-mcp) | |
| SURF_IDLE_CLOSE_MS | No | Idle milliseconds before closing browser contexts (default: '30000') |
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 | Single Google search via browser, SearchApi primary, or browser-to-SearchApi fallback. Returns title, URL, and snippet. Results are cached 24h. For latest/today/breaking queries set SURF_CACHE_TTL_SEARCH_MS=0 to bypass the cache. Browser is the default provider and requires no API key. Default limit 10, max 20. |
| scholar_searchA | Search Google Scholar via browser, SearchApi primary, or fallback. Returns title, authors, publication, year, snippet, citation count, related/version links, and an available full-text link. Results are cached with the same TTL as search. Max 10 papers per call. |
| search_parallelA | Run 2-10 Google searches with the provider selected by SURF_SEARCH_PROVIDER. Browser mode uses a worker pool. SearchApi primary and fallback work in cloud mode. Per-query browser failures are isolated and replaced individually in fallback mode. |
| extractA | Fetch one public URL -> clean article text. HTML via Mozilla Readability; academic PDFs (arxiv/biorxiv/Nature/OpenReview/NeurIPS/JMLR/PMLR/Springer/PubMed-via-PMC) auto-detected via Content-Type, %PDF magic, citation_pdf_url meta, and per-domain URL rules. Tiered depth: |
| search_extractA | One-shot Google search + parallel extract of the top results. Default |
| healthA | MCP server status: cascade mode + transitions, rate-limiter usage, cache size, config. Call this if searches start failing or returning empty -- check cascade.totalCaptchas and rateLimiter.queueSize, and reduce search volume if they are high. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/HarimxChoi/google-surf-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server