Google Search MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Provides Google Custom Search capabilities with advanced filtering, allowing search queries with parameters for trusted domains, excluded domains, result count, safe search, and date restrictions

  • Converts web content to markdown format for improved readability, with options to include/exclude images and videos, preserve links, and format code blocks

  • Leverages Puppeteer (via rebrowser-puppeteer) for advanced bot detection avoidance, enabling reliable web content viewing and scraping

ウェブ検索MCPサーバー

高度なボット検出回避機能を備えた Google 検索機能と Web コンテンツの表示を提供する MCP サーバー。

特徴

  • 高度なフィルタリング機能を備えた Google カスタム検索
  • マークダウン変換によるWebコンテンツ表示
  • レート制限とキャッシュ
  • ブラウザインスタンスプーリング
  • rebrowser-puppeteer を使用したボット検出回避

前提条件

  • Bun ランタイム v1.0 以上
  • Google API 認証情報(API キーと検索エンジン ID)

インストール

# Install dependencies bun install # Build the TypeScript files bun run build

構成

クッキーの設定

認証されたサイトにアクセスするには、次のことが必要です。

  1. Get cookies.txt LOCALLY Chrome拡張機能をインストールする
  2. 認証したいサイトにアクセスしてログインします
  3. 拡張機能を使用してCookieをJSON形式でエクスポートします
  4. エクスポートしたCookieファイルを安全な場所に保存します
  5. BROWSER_COOKIES_PATH環境変数をCookieファイルの絶対パスに設定します。

MCP サーバーの構成

MCP 設定ファイルにサーバー構成を追加します。

  • Cline の場合: %APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json
  • Claude Desktopの場合:
    • MacOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "web-search": { "command": "bun", "args": [ "run", "/ABSOLUTE/PATH/TO/web_search_mcp/dist/index.js" ], "env": { "GOOGLE_API_KEY": "your_api_key", "GOOGLE_SEARCH_ENGINE_ID": "your_search_engine_id", "MAX_CONCURRENT_BROWSERS": "3", "BROWSER_TIMEOUT": "30000", "RATE_LIMIT_WINDOW": "60000", "RATE_LIMIT_MAX_REQUESTS": "60", "SEARCH_CACHE_TTL": "3600", "VIEW_URL_CACHE_TTL": "7200", "MAX_CACHE_ITEMS": "1000", "BROWSER_POOL_MIN": "1", "BROWSER_POOL_MAX": "5", "BROWSER_POOL_IDLE_TIMEOUT": "30000", "REBROWSER_PATCHES_RUNTIME_FIX_MODE": "addBinding", "REBROWSER_PATCHES_SOURCE_URL": "jquery.min.js", "REBROWSER_PATCHES_UTILITY_WORLD_NAME": "util", "REBROWSER_PATCHES_DEBUG": "0", "BROWSER_COOKIES_PATH": "C:\\path\\to\\cookies.json", "LOG_LEVEL": "info", "NO_COLOR": "0", "BUN_FORCE_COLOR": "1", "FORCE_COLOR": "1" } } } }

/ABSOLUTE/PATH/TO/web_search_mcpをサーバー ディレクトリへの絶対パスに置き換えます。

ログ構成

次の環境変数はログ動作を制御します。

  • LOG_LEVEL : ログレベル(エラー、警告、情報、デバッグ)を設定します。デフォルト: 情報
  • NO_COLOR : 「1」に設定するとカラー出力が無効になります
  • BUN_FORCE_COLOR : Bun ランタイムでカラー出力を制御します (無効にするには「0」に設定します)
  • FORCE_COLOR : 色付き出力をグローバルに制御します(無効にするには「0」に設定します)

ボット検出回避

このサーバーはボット検出を回避するために rebrowser-puppeteer を使用しています:

  1. ランタイム.リーク防止を有効にする:
    • Runtime.Enable 検出を回避するために addBinding テクニックを使用します
    • Webワーカーとiframeで動作します
    • メインワールドコンテキストへのアクセスを維持
  2. ソース URL マスキング:
    • Puppeteer のソース URL を正規のスクリプトのように変更します
    • 自動化ツールの検出を回避するのに役立ちます
  3. ユーティリティワールド名:
    • 汎用ユーティリティワールド名を使用する
    • ワールド名のパターンによる検出を防止
  4. ブラウザ起動構成:
    • 自動化フラグを無効にする
    • 最適化されたChrome引数を使用する
    • ビューポートとウィンドウの設定を構成します

Claude Desktopでの使用

  1. Claude Desktopがインストールされ、最新バージョンにアップデートされていることを確認してください。
  2. Claude Desktop 構成ファイルを開きます。
    • MacOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. 上記の構成セクションに示すように、サーバー構成を追加します。
  4. Claudeデスクトップを再起動します
  5. ハンマーアイコンを探してくださいツールが利用可能であることを確認する

利用可能なツール

1. 検索ツール

{ name: "search", params: { query: string; trustedDomains?: string[]; excludedDomains?: string[]; resultCount?: number; safeSearch?: boolean; dateRestrict?: string; } }

2. URL表示ツール

{ name: "view_url", params: { url: string; includeImages?: boolean; includeVideos?: boolean; preserveLinks?: boolean; formatCode?: boolean; } }

トラブルシューティング

クロードデスクトップ統合の問題

  1. ログを確認します:
    # MacOS/Linux tail -n 20 -f ~/Library/Logs/Claude/mcp*.log # Windows type %APPDATA%\Claude\Logs\mcp*.log
  2. よくある問題:
    • サーバーが表示されない: 設定ファイルの構文とパスを確認してください
    • ツールの呼び出しが失敗しました: サーバーログを確認し、Claude Desktop を再起動してください
    • パスの問題: 絶対パスを使用していることを確認してください

より詳細なトラブルシューティングについては、 MCP デバッグ ガイドを参照してください。

発達

# Run in development mode with watch bun --watch run dev # Run tests bun run test # Run linter bun run lint

重要な注意事項

  1. ボット検出:
    • ボット検出回避機能は、最も一般的な検出方法を防ぐのに役立ちます
    • ただし、適切なプロキシやユーザーエージェントなどの追加対策が必要になる場合があります。
    • 一部のウェブサイトでは、他の手段で自動化を検出する場合があります。
  2. パフォーマンス:
    • ブラウザインスタンスはプールされ、再利用されます
    • アイドル状態のブラウザは自動的にクリーンアップされます
    • リソース制限により過負荷を防止

ライセンス

マサチューセッツ工科大学

-
security - not tested
A
license - permissive license
-
quality - not tested

MCP プロトコルによる高度なボット検出回避機能を備えた、Google 検索機能、Web コンテンツ抽出、スクリーンショット機能を提供します。

  1. Features
    1. Prerequisites
      1. Installation
        1. Configuration
          1. Cookie Setup
          2. MCP Server Configuration
          3. Logging Configuration
        2. Bot Detection Avoidance
          1. Using with Claude Desktop
            1. Available Tools
              1. 1. Search Tool
              2. 2. View URL Tool
            2. Troubleshooting
              1. Claude Desktop Integration Issues
            3. Development
              1. Important Notes
                1. License
                  ID: na33znv5mg