google-surf-mcp

An MCP server that searches Google and Scholar, reads pages and PDFs and stores findings in a local project knowledge graph

  • 291 ★ on the repository
  • Last commit
  • MIT
MCP server

Extended access

Why this level

  • The server launches Chrome, goes online and downloads pages, PDFs and parts of GitHub repositories
  • Results and read texts are saved automatically to the project's local database
All reasons and checks

harimxchoi/google-surf-mcp

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/google-surf-mcp

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The server launches Chrome, goes online and downloads pages, PDFs and parts of GitHub repositories
  • Results and read texts are saved automatically to the project's local database

This is third-party code. Review the repository files before installing.

What it does

google-surf-mcp searches the web through system Chrome with a dedicated logged-out profile. The server gives the agent seven tools. Search uses search, search_parallel and scholar_search, and extract reads pages and PDFs. project_memory_search and project_memory serve project memory, and health checks status. Everything found and read lands in the current project's local memory, from web sources and papers to plans and decisions. From it the server builds a knowledge graph with an ontology and data lineage. Tree-sitter parses code, so files, symbols, imports and calls are visible. Memory search combines exact match, BM25, vectors and the graph, and the server fuses results through RRF and one shared reranker. Projects are isolated from each other, and only matching DOIs, repository URLs and explicit aliases link them. The graph can be analysed locally, for example with PageRank and Louvain communities, and exported for outside tools. A separate optional Codex hook trims oversized shell output down to the records that match the query.

Who it is for. For researchers and developers running long projects with an agent who want Google search, paper reading and a store of findings on their own machine.

Good fit when

  • The agent needs Google search without signing up for a paid search API
  • Research spans several sessions and sources, DOIs and conclusions must be saved to project memory
  • You need to read a PDF or HTML paper and get the title, authors, DOI and text
  • You need search over the code of a local project and relevant GitHub repositories: files, symbols, imports, calls

Not a fit when

  • You need search in Yandex or another service: the server works with Google
  • The environment has no Chrome or Chromium: browser search mode requires them
  • You need only search and reading without storage: set SURF_RESEARCH=false, otherwise memory and the graph are enabled
  • You need guaranteed results even when Google shows a CAPTCHA: browser search stops working when blocked

Example request

Find recent papers on retrieval-augmented generation, read the two most relevant and save the conclusions to project memory

MCP

Transport
stdio
Authentication
not required

Environment variables

SURF_RESEARCH
False disables project memory and the graph; search and reading remain.
SURF_SEARCH_PROVIDER
Search provider: browser, searchapi or fallback.
SEARCH_API secret
SearchApi key for the searchapi and fallback modes.

Limitations

Requires Node.js 20.18.1 or newer and Google Chrome or Chromium. The first tool call prepares the browser profile itself and Chrome may open briefly; if that fails run npm run bootstrap. The SearchApi fallback needs your own account, a key in the SEARCH_API variable and credits. Project memory lives in a local embedded SurrealDB on RocksDB. The author reports search speed of 4.0–5.1 seconds per query, and network and Google response times change it.

How to disable. Remove the google-surf entry from mcpServers in ~/.claude.json and restart the client. If you installed the Codex hook, run npx -y google-surf-mcp@latest hooks uninstall --host codex.

FAQ

How do I connect google-surf-mcp to Claude Code?

Add a google-surf entry to ~/.claude.json with the command npx and arguments -y google-surf-mcp, then restart Claude Code.

Do I need an API key for Google search?

No. By default search goes through the browser, and SearchApi is optional as a primary or fallback provider through SURF_SEARCH_PROVIDER.

How do I turn off project memory?

Set SURF_RESEARCH=false. Search and reading keep working without the database and graph, and the memory tools are not registered.

Does the server read my Chrome profile?

No. It uses a dedicated logged-out profile and never reads or copies your everyday Chrome profile.

Can I export the knowledge graph?

Yes. The graph exports to HTML, Graphviz, D3 JSON and the Neo4j import format, so you can open it in a browser or load it into a graph database.

Discussion

No questions or reviews yet.

A unified search MCP server: one interface to Tavily, Brave, Kagi, Exa, Linkup, Firecrawl and GitHub search

MCP serverExtended access359Repository stars

A web search MCP server that gives the agent full page text at once: Stack Overflow answers, GitHub threads, arXiv papers

MCP serverExtended access402Repository stars

A metasearch MCP server: the agent searches text, images, news, videos and books across many engines and extracts page content

MCP serverExtended access3KRepository stars
Russian stack

An MCP web-search and content-extraction server via Yandex and Google on top of SerpAPI, geared toward RU/CIS results

MCP serverExtended access1Repository stars

Web search via DuckDuckGo and page reading for the agent with no API keys, with built-in rate limiting

MCP serverExtended access1.6KRepository stars

A local research MCP server: web, Reddit and YouTube search, maps and code exploration for a model in LM Studio or Cursor

MCP serverExtended access530Repository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialAuthenticationRepository starsMain difference
google-surf-mcp (this entry)nonot required291
AnySearch MCP Servernokey is optional2,052real-time search across general and vertical sources, without local project memory
CORE: memory and tasks for Claude Codeno2,007a plugin that keeps decisions and project context, without Google search
Bright Data Skillsyes268Bright Data skills for search and page collection through their cloud service

README in short

The author calls the project an automatic local knowledge graph built from search, papers and code. Tables show search speed and the reranker check.

README badge

Report a problem

Foxx AIgoogle-surf-mcp
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.