Google Surf MCP
概要
作者による説明(英語の原文)
Web, academic and code search with graph RAG, data lineage, ontology and cross-project schema links.
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi1項目中1項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況i初期↓ 361/週 · ★ –
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンで動く
- トランスポート: stdio
- カテゴリ: 検索・AIの記憶
- 入力が必要なもの:SEARCH_API, GITHUB_TOKEN, ANTHROPIC_API_KEY, ORCAROUTER_API_KEY
インストール
使っているAIアプリを選んで、設定をコピーしてください。
インストールの前に
- 基本チェック:1項目中1項目に合格
- あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
- 自分で入力するもの:
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
「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
- npmNode.jsのインストール(npxコマンドに必要)
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"google-surf": {
"command": "npx",
"args": [
"-y",
"google-surf-mcp"
],
"env": {
"SEARCH_API": "your-value",
"SURF_SEARCH_PROVIDER": "your-value",
"SURF_SCHOLAR_PROVIDER": "your-value",
"SURF_BROWSER_ENGINE": "your-value",
"CHROME_PATH": "your-value",
"SURF_PROFILE_ROOT": "your-value",
"SURF_RESEARCH": "your-value",
"SURF_RETRIEVAL_MODE": "your-value",
"SURF_RESEARCH_ROOT": "your-value",
"SURF_RESEARCH_VECTOR_MODEL": "your-value",
"SURF_RESEARCH_VECTOR_LOW_MEMORY": "your-value",
"SURF_RESEARCH_VECTOR_THREADS": "your-value",
"SURF_RESEARCH_REPO_AUTO": "your-value",
"SURF_RESEARCH_REPO_AUTO_MAX_MB": "your-value",
"SURF_RESEARCH_REPO_AUTO_MAX_FILES": "your-value",
"SURF_RESEARCH_BROKER_IDLE_MS": "your-value",
"SURF_RESEARCH_READ_CONCURRENCY": "your-value",
"SURF_RESEARCH_QUERY_TIMEOUT_MS": "your-value",
"GITHUB_TOKEN": "your-value",
"SURF_LOCALE": "your-value",
"SURF_TZ": "your-value",
"SURF_HEADLESS": "your-value",
"SURF_IDLE_CLOSE_MS": "your-value",
"SURF_ALLOW_PRIVATE": "your-value",
"SURF_LLM_HEAL": "your-value",
"SURF_LLM_PROVIDER": "your-value",
"SURF_LLM_MODEL": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"ORCAROUTER_API_KEY": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add google-surf --env SEARCH_API=your-value --env SURF_SEARCH_PROVIDER=your-value --env SURF_SCHOLAR_PROVIDER=your-value --env SURF_BROWSER_ENGINE=your-value --env CHROME_PATH=your-value --env SURF_PROFILE_ROOT=your-value --env SURF_RESEARCH=your-value --env SURF_RETRIEVAL_MODE=your-value --env SURF_RESEARCH_ROOT=your-value --env SURF_RESEARCH_VECTOR_MODEL=your-value --env SURF_RESEARCH_VECTOR_LOW_MEMORY=your-value --env SURF_RESEARCH_VECTOR_THREADS=your-value --env SURF_RESEARCH_REPO_AUTO=your-value --env SURF_RESEARCH_REPO_AUTO_MAX_MB=your-value --env SURF_RESEARCH_REPO_AUTO_MAX_FILES=your-value --env SURF_RESEARCH_BROKER_IDLE_MS=your-value --env SURF_RESEARCH_READ_CONCURRENCY=your-value --env SURF_RESEARCH_QUERY_TIMEOUT_MS=your-value --env GITHUB_TOKEN=your-value --env SURF_LOCALE=your-value --env SURF_TZ=your-value --env SURF_HEADLESS=your-value --env SURF_IDLE_CLOSE_MS=your-value --env SURF_ALLOW_PRIVATE=your-value --env SURF_LLM_HEAL=your-value --env SURF_LLM_PROVIDER=your-value --env SURF_LLM_MODEL=your-value --env ANTHROPIC_API_KEY=your-value --env ORCAROUTER_API_KEY=your-value -- npx -y google-surf-mcp動かす前に、空欄の値を入力してください。
または、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"google-surf": {
"command": "npx",
"args": [
"-y",
"google-surf-mcp"
],
"env": {
"SEARCH_API": "your-value",
"SURF_SEARCH_PROVIDER": "your-value",
"SURF_SCHOLAR_PROVIDER": "your-value",
"SURF_BROWSER_ENGINE": "your-value",
"CHROME_PATH": "your-value",
"SURF_PROFILE_ROOT": "your-value",
"SURF_RESEARCH": "your-value",
"SURF_RETRIEVAL_MODE": "your-value",
"SURF_RESEARCH_ROOT": "your-value",
"SURF_RESEARCH_VECTOR_MODEL": "your-value",
"SURF_RESEARCH_VECTOR_LOW_MEMORY": "your-value",
"SURF_RESEARCH_VECTOR_THREADS": "your-value",
"SURF_RESEARCH_REPO_AUTO": "your-value",
"SURF_RESEARCH_REPO_AUTO_MAX_MB": "your-value",
"SURF_RESEARCH_REPO_AUTO_MAX_FILES": "your-value",
"SURF_RESEARCH_BROKER_IDLE_MS": "your-value",
"SURF_RESEARCH_READ_CONCURRENCY": "your-value",
"SURF_RESEARCH_QUERY_TIMEOUT_MS": "your-value",
"GITHUB_TOKEN": "your-value",
"SURF_LOCALE": "your-value",
"SURF_TZ": "your-value",
"SURF_HEADLESS": "your-value",
"SURF_IDLE_CLOSE_MS": "your-value",
"SURF_ALLOW_PRIVATE": "your-value",
"SURF_LLM_HEAL": "your-value",
"SURF_LLM_PROVIDER": "your-value",
"SURF_LLM_MODEL": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"ORCAROUTER_API_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"google-surf": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"google-surf-mcp"
],
"env": {
"SEARCH_API": "your-value",
"SURF_SEARCH_PROVIDER": "your-value",
"SURF_SCHOLAR_PROVIDER": "your-value",
"SURF_BROWSER_ENGINE": "your-value",
"CHROME_PATH": "your-value",
"SURF_PROFILE_ROOT": "your-value",
"SURF_RESEARCH": "your-value",
"SURF_RETRIEVAL_MODE": "your-value",
"SURF_RESEARCH_ROOT": "your-value",
"SURF_RESEARCH_VECTOR_MODEL": "your-value",
"SURF_RESEARCH_VECTOR_LOW_MEMORY": "your-value",
"SURF_RESEARCH_VECTOR_THREADS": "your-value",
"SURF_RESEARCH_REPO_AUTO": "your-value",
"SURF_RESEARCH_REPO_AUTO_MAX_MB": "your-value",
"SURF_RESEARCH_REPO_AUTO_MAX_FILES": "your-value",
"SURF_RESEARCH_BROKER_IDLE_MS": "your-value",
"SURF_RESEARCH_READ_CONCURRENCY": "your-value",
"SURF_RESEARCH_QUERY_TIMEOUT_MS": "your-value",
"GITHUB_TOKEN": "your-value",
"SURF_LOCALE": "your-value",
"SURF_TZ": "your-value",
"SURF_HEADLESS": "your-value",
"SURF_IDLE_CLOSE_MS": "your-value",
"SURF_ALLOW_PRIVATE": "your-value",
"SURF_LLM_HEAL": "your-value",
"SURF_LLM_PROVIDER": "your-value",
"SURF_LLM_MODEL": "your-value",
"ANTHROPIC_API_KEY": "your-value",
"ORCAROUTER_API_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
自分で入力する値
- SearchApi API key. Required only for SearchApi primary or fallback modes.
SURF_SEARCH_PROVIDERenvProvider for search and search_parallel: browser, searchapi, or fallback. Defaults to browser.SURF_SCHOLAR_PROVIDERenvProvider for scholar_search: browser, searchapi, or fallback. Defaults to browser.SURF_BROWSER_ENGINEenvBrowser engine: auto, native, or playwright. Auto uses one hidden native Chrome broker shared across local MCP sessions.CHROME_PATHenvAbsolute path to the Chrome binary. Auto-detected on Windows/macOS/Linux when omitted.SURF_PROFILE_ROOTenvDirectory for the warm Chrome profile. Defaults to ~/.google-surf-mcp.SURF_RESEARCHenvEnable Google Surf Auto Ontology: local project memory, evidence capture, and hybrid retrieval. Defaults to true. The SURF_RESEARCH setting name is unchanged.SURF_RETRIEVAL_MODEenvShared route for search and search_parallel: live or hybrid. Defaults to hybrid.SURF_RESEARCH_ROOTenvEmbedded SurrealDB data directory. Defaults to /research.SURF_RESEARCH_VECTOR_MODELenvLocal model for HNSW retrieval and shared reranking. Defaults to Xenova/multilingual-e5-small; use off to disable.SURF_RESEARCH_VECTOR_LOW_MEMORYenvDisable ONNX CPU memory arena and memory pattern. Defaults to true.SURF_RESEARCH_VECTOR_THREADSenvONNX intra-op thread count from 1 to 16. Defaults to 4.SURF_RESEARCH_REPO_AUTOenvSparse-index at most one eligible small GitHub repository per search call. Defaults to true.SURF_RESEARCH_REPO_AUTO_MAX_MBenvMaximum searchable repository source-text size in MB. Assets are excluded. Defaults to 20.SURF_RESEARCH_REPO_AUTO_MAX_FILESenvMaximum repository source file count for automatic indexing. Defaults to 2000.SURF_RESEARCH_BROKER_IDLE_MSenvShared Auto Ontology broker idle lifetime in milliseconds. Defaults to 60000.SURF_RESEARCH_READ_CONCURRENCYenvMaximum concurrent Auto Ontology broker reads. Defaults to 4.SURF_RESEARCH_QUERY_TIMEOUT_MSenvTimeout per embedded SurrealDB query in milliseconds. Defaults to 120000; timed-out retrieval lanes are reported as partial.- Optional token that raises GitHub API limits for repository inspection.
SURF_LOCALEenvBrowser locale, e.g. en-US.SURF_TZenvIANA timezone, e.g. America/New_York. Defaults to system timezone.SURF_HEADLESSenvControls Playwright extraction, compatibility, and recovery paths. Native search hides normal system Chrome and shows it only for CAPTCHA recovery.SURF_IDLE_CLOSE_MSenvIdle ms before closing the sequential ctx and pool. 0 disables idle auto-close. Defaults to 30000.SURF_ALLOW_PRIVATEenvSet to 'true' to allow extract on private/loopback addresses (localhost, 10.x, 192.168.x, 169.254.x, etc). Default blocks them as an SSRF guard.SURF_LLM_HEALenvEnable the optional workflow-only LLM selector repair path. Defaults to false.SURF_LLM_PROVIDERenvLLM selector repair provider: anthropic or orcarouter. Defaults to anthropic.SURF_LLM_MODELenvOptional model override. OrcaRouter defaults to orcarouter/auto.- Anthropic API key for optional LLM-assisted selector repair.
- OrcaRouter API key for optional LLM-assisted selector repair.
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント HarimxChoi で確認済みです
- … 未チェック
今もメンテナンスされている
このリポジトリはまだGitHubから読み取っていません
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
検索・AIの記憶のほかのサーバーとの比較i
- このカテゴリのほかの5684件のうち0%よりスターが多い
- このカテゴリのほかの5684件のうち97%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5684件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
Google Surf MCPは安全ですか?
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
入力が必要なもの:SEARCH_API, GITHUB_TOKEN, ANTHROPIC_API_KEY, ORCAROUTER_API_KEY
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は–、最新バージョン(1.1.6)がレジストリに届いたのは昨日です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
代わりに使えるものは?
同じカテゴリには:Context7, Codebase Memory, Exa
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
google-surf-mcp
English | Korean
Google Surf MCP searches the web, papers, and codebases, then uses Auto Ontology to organize what you read into a local knowledge graph. Start without an API key or a separate database server, and build a personal knowledge base from connected sources and project records.
Sponsored by SearchApi
Core features
- Search and read: Find web pages, papers, PDFs, GitHub repositories, and indexed local code. Tree-sitter links files, code symbols, imports, and function calls.
- Auto Ontology: Organize sources and project records into a typed knowledge graph with evidence and data lineage.
- Cross-project search: Find stored sources across selected projects using exact-match, keyword, semantic, and graph retrieval, with RRF fusion and a shared reranker.
- Explore and export: Browse PKM, lineage, and ontology views; export HTML, PNG, JSON, Graphviz DOT, and Neo4j import bundles.
Stack: TypeScript, Chrome/Playwright, LiteParse, Tree-sitter, SurrealDB, Multilingual E5, and Graphology. Architecture
Quick start
Requires Node.js 22.12+ and Chrome or Chromium for browser search. CI covers Node 22 and 24 on Linux and Windows.
Register the server in your MCP client:
{
"mcpServers": { "google-surf": { "command": "npx", "args": ["-y", "google-surf-mcp@latest"] } } }
Restart the client. Auto Ontology is enabled by default; the local embedding model may be downloaded when you first index content. For search and extraction without the database or embedding model, set SURF_RESEARCH=false in the server environment.
Client setup, local installation, and SearchApi configuration
Search
- Search through system Chrome without an API key
- Dedicated logged-out profile; your personal Chrome profile is never read or copied
- Multi-strategy SERP parsing with geometric verification
- Removal of sponsored results and knowledge panels
- CAPTCHA detection and environment-specific recovery
- Parser self-healing and context fallback
Browser search is the default. SearchApi is an optional primary provider or fallback; it requires your own account, key, and credits.
Supported AI providers and gateways
- OrcaRouter (free models available)
Optional LLM-assisted repair and OrcaRouter setup
Tools
Seven tools are available with Auto Ontology enabled:
| Tool | Use |
|---|---|
search / search_parallel | Discover new web sources and read them in the same call with extract_mode. |
scholar_search | Find paper-specific Google Scholar metadata. |
extract | Read a web page, PDF, or repository from an already-known URL. |
project_memory_search | Local-only search of indexed project knowledge; no live web search. |
project_memory | Manage projects, save research records, index user-approved local folders, and export graphs. |
health | Inspect search and local runtime status. |
Providing project_id to web search does not make it local-only. Use project_memory_search for stored knowledge.
Tool parameters, limits, follow-up reads, and repeatable source collection
Google Surf Auto Ontology
Search and extraction results are saved automatically. Plans, experiments, failures, and decisions are linked when your agent records them through project_memory.
Web + papers + code + project records
| Local knowledge graph | Hybrid retrieval + source-backed evidence
Projects stay separate by default. Selected projects can link knowledge using matching DOIs, repository URLs, or explicitly registered aliases; original records are not merged or moved.
Create a standalone graph explorer for one project:
project_memory(action="export", project_id="my-project", export_format="html", export_view="graph")
The HTML explorer includes PKM, lineage, and ontology views with PNG/JSON downloads. DOT and Neo4j exports are also available. The feature was renamed from Research to Auto Ontology; existing SURF_RESEARCH* settings, project_memory* tools, CLI names, and storage paths still work.
Ontology, lineage, code indexing, and export details
Benchmark
Live web result ranking on 32 held-out queries:
| Ranking | nDCG@5 | MRR | Precision@5 |
|---|---|---|---|
| Original provider ranking | 0.8949 | 0.8203 | 0.6375 |
| BM25 + RRF | 0.8971 | 0.8203 | 0.6500 |
Evaluation conditions, retrieval results, and resource measurements
Documentation
| Guide | Contents |
|---|---|
| Getting started | Installation, clients, browser search, SearchApi setup |
| Tools and workflows | Tool parameters, limits, evidence responses, source collection |
| Auto Ontology | Storage, code structure, graph retrieval, lineage, exports |
| Configuration | Environment variables, resource settings, OrcaRouter |
| Operations and security | CAPTCHA, cache cleanup, CLI, privacy, optional Codex hooks |
| Benchmarks | Measurements, conditions, and evaluation boundaries |
Contributing · Changelog · MIT License