Keyflow

Search Keyflow

Find a shortcut, workflow, MCP server or skill

google-surf-mcp

local MCP server

google-surf-mcp is a local MCP server: Web, academic and code search with graph RAG, data lineage, ontology and cross-project schema links. Install it from npm as google-surf-mcp.

Installation

Terminal

claude mcp add google-surf-mcp -e SEARCH_API=... -e SURF_SEARCH_PROVIDER=... -e SURF_SCHOLAR_PROVIDER=... -e SURF_BROWSER_ENGINE=... -e CHROME_PATH=... -e SURF_PROFILE_ROOT=... -e SURF_RESEARCH=... -e SURF_RETRIEVAL_MODE=... -e SURF_RESEARCH_ROOT=... -e SURF_RESEARCH_VECTOR_MODEL=... -e SURF_RESEARCH_VECTOR_LOW_MEMORY=... -e SURF_RESEARCH_VECTOR_THREADS=... -e SURF_RESEARCH_REPO_AUTO=... -e SURF_RESEARCH_REPO_AUTO_MAX_MB=... -e SURF_RESEARCH_REPO_AUTO_MAX_FILES=... -e SURF_RESEARCH_BROKER_IDLE_MS=... -e SURF_RESEARCH_READ_CONCURRENCY=... -e SURF_RESEARCH_QUERY_TIMEOUT_MS=... -e GITHUB_TOKEN=... -e SURF_LOCALE=... -e SURF_TZ=... -e SURF_HEADLESS=... -e SURF_IDLE_CLOSE_MS=... -e SURF_ALLOW_PRIVATE=... -e SURF_LLM_HEAL=... -e SURF_LLM_PROVIDER=... -e SURF_LLM_MODEL=... -e ANTHROPIC_API_KEY=... -e ORCAROUTER_API_KEY=... -- npx -y google-surf-mcp

Run in your project folder. Add --scope user to use it everywhere.

Claude Desktop, Cursor & other clients

Add to claude_desktop_config.json or .cursor/mcp.json.

{
  "mcpServers": {
    "google-surf-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "google-surf-mcp"
      ],
      "env": {
        "SEARCH_API": "...",
        "SURF_SEARCH_PROVIDER": "...",
        "SURF_SCHOLAR_PROVIDER": "...",
        "SURF_BROWSER_ENGINE": "...",
        "CHROME_PATH": "...",
        "SURF_PROFILE_ROOT": "...",
        "SURF_RESEARCH": "...",
        "SURF_RETRIEVAL_MODE": "...",
        "SURF_RESEARCH_ROOT": "...",
        "SURF_RESEARCH_VECTOR_MODEL": "...",
        "SURF_RESEARCH_VECTOR_LOW_MEMORY": "...",
        "SURF_RESEARCH_VECTOR_THREADS": "...",
        "SURF_RESEARCH_REPO_AUTO": "...",
        "SURF_RESEARCH_REPO_AUTO_MAX_MB": "...",
        "SURF_RESEARCH_REPO_AUTO_MAX_FILES": "...",
        "SURF_RESEARCH_BROKER_IDLE_MS": "...",
        "SURF_RESEARCH_READ_CONCURRENCY": "...",
        "SURF_RESEARCH_QUERY_TIMEOUT_MS": "...",
        "GITHUB_TOKEN": "...",
        "SURF_LOCALE": "...",
        "SURF_TZ": "...",
        "SURF_HEADLESS": "...",
        "SURF_IDLE_CLOSE_MS": "...",
        "SURF_ALLOW_PRIVATE": "...",
        "SURF_LLM_HEAL": "...",
        "SURF_LLM_PROVIDER": "...",
        "SURF_LLM_MODEL": "...",
        "ANTHROPIC_API_KEY": "...",
        "ORCAROUTER_API_KEY": "..."
      }
    }
  }
}

Fill in the environment variables with your own credentials.

What you need

  • Runtime: Node.js 18+ (runs with npx).
  • MCP client: Claude Code, Codex, Antigravity, Claude Desktop, Cursor or any other client that speaks MCP over stdio.
  • Environment variables: SEARCH_API, SURF_SEARCH_PROVIDER, SURF_SCHOLAR_PROVIDER, SURF_BROWSER_ENGINE, CHROME_PATH, SURF_PROFILE_ROOT, SURF_RESEARCH, SURF_RETRIEVAL_MODE, SURF_RESEARCH_ROOT, SURF_RESEARCH_VECTOR_MODEL, SURF_RESEARCH_VECTOR_LOW_MEMORY, SURF_RESEARCH_VECTOR_THREADS, SURF_RESEARCH_REPO_AUTO, SURF_RESEARCH_REPO_AUTO_MAX_MB, SURF_RESEARCH_REPO_AUTO_MAX_FILES, SURF_RESEARCH_BROKER_IDLE_MS, SURF_RESEARCH_READ_CONCURRENCY, SURF_RESEARCH_QUERY_TIMEOUT_MS, GITHUB_TOKEN, SURF_LOCALE, SURF_TZ, SURF_HEADLESS, SURF_IDLE_CLOSE_MS, SURF_ALLOW_PRIVATE, SURF_LLM_HEAL, SURF_LLM_PROVIDER, SURF_LLM_MODEL, ANTHROPIC_API_KEY, ORCAROUTER_API_KEY

Summary

Web, academic and code search with graph RAG, data lineage, ontology and cross-project schema links.

google-surf-mcp vs similar servers

ServerStarsTypeAPI keyRuntime
google-surf-mcp290LocalYesnpm
OpenMetadata15KHostedNoNone
Firecrawl MCP Server7,526LocalYesnpm
arxiv-mcp-server3,177LocalYespypi
brave1,477HostedYesNone

Questions

It reads 29 environment variables: SEARCH_API, SURF_SEARCH_PROVIDER, SURF_SCHOLAR_PROVIDER, SURF_BROWSER_ENGINE, CHROME_PATH, SURF_PROFILE_ROOT, SURF_RESEARCH, SURF_RETRIEVAL_MODE, SURF_RESEARCH_ROOT, SURF_RESEARCH_VECTOR_MODEL, SURF_RESEARCH_VECTOR_LOW_MEMORY, SURF_RESEARCH_VECTOR_THREADS, SURF_RESEARCH_REPO_AUTO, SURF_RESEARCH_REPO_AUTO_MAX_MB, SURF_RESEARCH_REPO_AUTO_MAX_FILES, SURF_RESEARCH_BROKER_IDLE_MS, SURF_RESEARCH_READ_CONCURRENCY, SURF_RESEARCH_QUERY_TIMEOUT_MS, GITHUB_TOKEN, SURF_LOCALE, SURF_TZ, SURF_HEADLESS, SURF_IDLE_CLOSE_MS, SURF_ALLOW_PRIVATE, SURF_LLM_HEAL, SURF_LLM_PROVIDER, SURF_LLM_MODEL, ANTHROPIC_API_KEY, ORCAROUTER_API_KEY. Set them in your MCP config before starting the server.

Node.js 18+ (runs with npx), plus an MCP client such as Claude Code, Codex, Claude Desktop or Cursor.

google-surf-mcp is a local MCP server distributed as the npm package google-surf-mcp.

Run: claude mcp add google-surf-mcp -e SEARCH_API=... -e SURF_SEARCH_PROVIDER=... -e SURF_SCHOLAR_PROVIDER=... -e SURF_BROWSER_ENGINE=... -e CHROME_PATH=... -e SURF_PROFILE_ROOT=... -e SURF_RESEARCH=... -e SURF_RETRIEVAL_MODE=... -e SURF_RESEARCH_ROOT=... -e SURF_RESEARCH_VECTOR_MODEL=... -e SURF_RESEARCH_VECTOR_LOW_MEMORY=... -e SURF_RESEARCH_VECTOR_THREADS=... -e SURF_RESEARCH_REPO_AUTO=... -e SURF_RESEARCH_REPO_AUTO_MAX_MB=... -e SURF_RESEARCH_REPO_AUTO_MAX_FILES=... -e SURF_RESEARCH_BROKER_IDLE_MS=... -e SURF_RESEARCH_READ_CONCURRENCY=... -e SURF_RESEARCH_QUERY_TIMEOUT_MS=... -e GITHUB_TOKEN=... -e SURF_LOCALE=... -e SURF_TZ=... -e SURF_HEADLESS=... -e SURF_IDLE_CLOSE_MS=... -e SURF_ALLOW_PRIVATE=... -e SURF_LLM_HEAL=... -e SURF_LLM_PROVIDER=... -e SURF_LLM_MODEL=... -e ANTHROPIC_API_KEY=... -e ORCAROUTER_API_KEY=... -- npx -y google-surf-mcp

Run: codex mcp add google-surf-mcp --env SEARCH_API=... --env SURF_SEARCH_PROVIDER=... --env SURF_SCHOLAR_PROVIDER=... --env SURF_BROWSER_ENGINE=... --env CHROME_PATH=... --env SURF_PROFILE_ROOT=... --env SURF_RESEARCH=... --env SURF_RETRIEVAL_MODE=... --env SURF_RESEARCH_ROOT=... --env SURF_RESEARCH_VECTOR_MODEL=... --env SURF_RESEARCH_VECTOR_LOW_MEMORY=... --env SURF_RESEARCH_VECTOR_THREADS=... --env SURF_RESEARCH_REPO_AUTO=... --env SURF_RESEARCH_REPO_AUTO_MAX_MB=... --env SURF_RESEARCH_REPO_AUTO_MAX_FILES=... --env SURF_RESEARCH_BROKER_IDLE_MS=... --env SURF_RESEARCH_READ_CONCURRENCY=... --env SURF_RESEARCH_QUERY_TIMEOUT_MS=... --env GITHUB_TOKEN=... --env SURF_LOCALE=... --env SURF_TZ=... --env SURF_HEADLESS=... --env SURF_IDLE_CLOSE_MS=... --env SURF_ALLOW_PRIVATE=... --env SURF_LLM_HEAL=... --env SURF_LLM_PROVIDER=... --env SURF_LLM_MODEL=... --env ANTHROPIC_API_KEY=... --env ORCAROUTER_API_KEY=... -- npx -y google-surf-mcp

Similar MCP servers

NameStars
  1. OpenMetadataio.github.open-metadata/openmetadata-mcp15K
  2. Firecrawl MCP Serverio.github.firecrawl/firecrawl-mcp-server7,526
  3. arxiv-mcp-serverio.github.blazickjp/arxiv-mcp-server3,177
  4. braveai.smithery/brave1,477
  5. SoloMDio.github.zhitongblog/solomd1,130
  6. QueryWeavercom.falkordb/QueryWeaver1,081
  7. fastCRWio.github.us/fastcrw1,079
  8. Marmot Data Catalogio.github.marmotdata/marmot618