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
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
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/google-surf-mcpDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended 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 memoryMCP
- 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_APIsecret- 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.
Related
MCP serversA unified search MCP server: one interface to Tavily, Brave, Kagi, Exa, Linkup, Firecrawl and GitHub search
A web search MCP server that gives the agent full page text at once: Stack Overflow answers, GitHub threads, arXiv papers
A metasearch MCP server: the agent searches text, images, news, videos and books across many engines and extracts page content
Yandex and Google search MCP server
web-compass
An MCP web-search and content-extraction server via Yandex and Google on top of SerpAPI, geared toward RU/CIS results
Web search via DuckDuckGo and page reading for the agent with no API keys, with built-in rate limiting
A local research MCP server: web, Reddit and YouTube search, maps and code exploration for a model in LM Studio or Cursor
Comparison with similar tools
Entries that share the main search query, and how they differ.
| Entry | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| google-surf-mcp (this entry) | no | not required | 291 | |
| AnySearch MCP Server | no | key is optional | 2,052 | real-time search across general and vertical sources, without local project memory |
| CORE: memory and tasks for Claude Code | no | 2,007 | a plugin that keeps decisions and project context, without Google search | |
| Bright Data Skills | yes | 268 | Bright 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.