mcpField
S
SerpApi MCP Server - Python

SerpApi MCP Server - Python

ローカル
github.com/URDJMK検索271 週間前に更新

SerpApi MCP Server - Python について

SerpApi MCP Server - Pythonは、AIアシスタント向けのMCPサーバー群で、ウェブ、ニュース、学術、金融、地図、画像、YouTubeを検索できます。個別のサーバーがMCP経由で検索・取得機能を提供します。

主な機能

  1. 01Googleウェブ検索とニュース検索
  2. 02Google Scholarの検索結果取得
  3. 03Google TrendsとFinanceの照会
  4. 04Google MapsとImagesの検索
  5. 05YouTube動画の検索
  6. 06YouTube字幕の取得

活用シーン

  1. 01トピックに関する最新ニュースの検索
  2. 02研究課題に関連する論文の検索
  3. 03株価や場所の情報確認
  4. 04動画の検索と字幕取得

MCP 対応

SerpAPIを利用した検索およびYouTube情報取得ツールをMCPクライアントに公開するサーバー群です。READMEではClaude for Desktopなどのクライアントへの接続方法を説明しています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

SerpApi MCP Server - Python

SerpAPI と YouTube を統合し、AI アシスタント向けに検索機能とデータ取得機能を提供する Model Context Protocol(MCP)サーバーのコレクションです。

License: MIT

概要

このプロジェクトでは、Claude などの AI アシスタントが次のサービスからさまざまな検索を実行し、データを取得できる複数の MCP サーバーを提供しています。

  • Google Search
  • Google News
  • Google Scholar
  • Google Trends
  • Google Finance
  • Google Maps
  • Google Images
  • YouTube Search
  • YouTube Transcripts

各サーバーは Model Context Protocol(MCP)と連携するように設計されているため、Claude for Desktop や Grok など、このプロトコルをサポートする AI アシスタントと簡単に統合できます。

機能

  • Google Search(serpapi_google_search.py)
  • Google News(serpapi_google_news.py)
  • Google Scholar(serpapi_google_scholar.py)
  • Google Trends(serpapi_google_trend.py)
  • Google Finance(serpapi_google_finance.py)
  • Google Maps(serpapi_google_maps.py)
  • Google Images(serpapi_google_images.py)
  • YouTube Search(serpapi_youtube_search.py)
  • YouTube Transcript(youtube_transcript.py)

インストール

前提条件
  • Python 3.8 以降
  • SerpAPI API キー(serpapi.com で取得できます)
セットアップ
  1. リポジトリをクローンします。
git clone https://github.com/yourusername/serpapi-mcp-server.git
cd serpapi-mcp-server
  1. 仮想環境を作成し、依存関係をインストールします。
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
  1. 用意されている .env.example をもとに、プロジェクトのルートに .env ファイルを作成します。
cp .env.example .env
  1. .env ファイルを編集し、SerpAPI API キーを追加します。
SERPAPI_API_KEY=your_api_key_here

クイックスタート

  1. サーバーコードを保存します。サーバーコードをファイル(例:server.py)に配置します。

  2. API キーを設定します。同じディレクトリに .env ファイルを作成し、SerpApi API キーを記述します。

SERPAPI_API_KEY=your_api_key_here
  1. サーバーを実行します。次のコマンドでサーバーを起動します。
python src/serpapi_google_search.py  # Or any other server file
  1. MCP クライアントと統合します。サーバーを MCP クライアントまたはホスト(例:Claude for Desktop)に接続します。

Claude for Desktop での使用方法

  1. claude_desktop_config.json ファイルに追加して、これらの MCP サーバーを使用するよう Claude for Desktop を設定します。
{
  "mcpServers": {
    "serpapi-google-search": {
      "type": "stdio",
      "command": "path/to/python",
      "args": [
        "path/to/serpapi-mcp-server/src/serpapi_google_search.py"
      ],
      "env": {
        "PYTHONPATH": "path/to/site-packages"
      }
    },
    "serpapi-youtube-search": {
      "type": "stdio",
      "command": "path/to/python",
      "args": [
        "path/to/serpapi-mcp-server/src/serpapi_youtube_search.py"
      ],
      "env": {
        "PYTHONPATH": "path/to/site-packages"
      }
    },
    "serpapi-google-news": {
      "type": "stdio",
      "command": "path/to/python",
      "args": [
        "path/to/serpapi-mcp-server/src/serpapi_google_news.py"
      ],
      "env": {
        "PYTHONPATH": "path/to/site-packages"
      }
    },
    "serpapi-google-trend": {
      "type": "stdio",
      "command": "path/to/python",
      "args": [
        "path/to/serpapi-mcp-server/src/serpapi_google_trend.py"
      ],
      "env": {
        "PYTHONPATH": "path/to/site-packages"
      }
    },
    "serpapi-google-scholar": {
      "type": "stdio",
      "command": "path/to/python",
      "args": [
        "path/to/serpapi-mcp-server/src/serpapi_google_scholar.py"
      ],
      "env": {
        "PYTHONPATH": "path/to/site-packages"
      }
    },
    "serpapi-google-finance": {
      "type": "stdio",
      "command": "path/to/python",
      "args": [
        "path/to/serpapi-mcp-server/src/serpapi_google_finance.py"
      ],
      "env": {
        "PYTHONPATH": "path/to/site-packages"
      }
    },
    "serpapi-google-maps": {
      "type": "stdio",
      "command": "path/to/python",
      "args": [
        "path/to/serpapi-mcp-server/src/serpapi_google_maps.py"
      ],
      "env": {
        "PYTHONPATH": "path/to/site-packages"
      }
    },
    "serpapi-google-images": {
      "type": "stdio",
      "command": "path/to/python",
      "args": [
        "path/to/serpapi-mcp-server/src/serpapi_google_images.py"
      ],
      "env": {
        "PYTHONPATH": "path/to/site-packages"
      }
    },
    "youtube-transcript": {
      "type": "stdio",
      "command": "path/to/python",
      "args": [
        "path/to/serpapi-mcp-server/src/youtube_transcript.py"
      ],
      "env": {
        "PYTHONPATH": "path/to/site-packages"
      }
    }
  }
}
  1. プロジェクトのルートディレクトリにある .env ファイルに SerpAPI キーが設定されていることを確認します。

  2. Claude for Desktop を再起動して、新しい設定を読み込みます。

  3. これで、Claude との会話でこれらの検索機能を直接利用できます。

クエリの例

Claude Desktop でこれらのサーバーを使用する方法の例を紹介します。

Google Search
Please search for "climate change solutions" and summarize the top results.
Google News
Find the latest news about artificial intelligence.
Google Scholar
Find recent academic papers on quantum computing.
Google Trends
What are the trending topics in technology right now?
Google Finance
Look up the current stock price and financial information for Apple (AAPL).
Google Maps
Find coffee shops near Central Park, New York.
Google Images
Search for images of "northern lights" and describe what you see.
YouTube Search
Search for tutorial videos on Python programming.
YouTube Transcript
Get the transcript of this YouTube video: https://www.youtube.com/watch?v=dQw4w9WgXcQ

API パラメーター

各サーバーでは、検索を細かく調整するためのさまざまなパラメーターをサポートしています。以下にすべてのパラメーターを示します。

Google Search
  • q:検索クエリ
  • num:結果数(1~100)
  • start:ページネーション用の結果オフセット(1から始まるインデックス)
  • location:検索対象の場所
  • gl:Google 検索の国コード(例:'us'、'uk')
  • hl:言語コード(例:'en'、'es')
  • device:デバイスの種類('desktop'、'mobile'、'tablet')
  • safe:セーフサーチの設定('active'、'off')
  • filter:重複コンテンツのフィルタリング('0' はオフ、'1' はオン)
  • time_period:新しさによるフィルタリング(例:'d' は過去 1 日)
  • exactTerms:完全一致で含める語句
  • include_domains:検索結果に含めるドメインのリスト
  • exclude_domains:検索結果から除外するドメインのリスト
  • raw_json:未加工の完全な JSON レスポンスを返します(ブール値)
  • readable_json:Markdown 形式のテキストで結果を返します(ブール値)

Google Search API パラメーターの詳細なドキュメント

Google News
  • q: 検索クエリ
  • gl: 国コード(例:'us'、'uk')
  • hl: 言語コード(例:'en'、'es')
  • publication_token: 特定の出版物内を検索します
  • topic_token: 特定のトピック内を検索します
  • story_token: 特定のニュース記事の全報道を取得します
  • section_token: 特定のセクション内を検索します
  • so: 並べ替え方法(関連性順は'0'、日付順は'1')
  • raw_json: 完全な未加工JSONレスポンスを返します(ブール値)
  • readable_json: 結果をMarkdown形式のテキストで返します(ブール値)

Google News API パラメーターの詳細なドキュメント

Google Scholar
  • q: 検索クエリ
  • hl: 言語コード(例:'en'、'es')
  • lr: 言語の制限(例:'lang_fr|lang_de')
  • start: ページネーションの結果オフセット
  • num: 結果数(1~20)
  • cites: 被引用検索用のID
  • as_ylo: 期間の開始年
  • as_yhi: 期間の終了年
  • scisbd: 日付順に並べ替え(関連性順は0、要約は1、すべては2)
  • cluster: すべてのバージョンを検索するためのID
  • as_sdt: 検索タイプまたはフィルター
  • safe: セーフサーチの設定('active'、'off')
  • filter: 類似結果/除外結果のフィルター(オフは'0'、オンは'1')
  • as_vis: 引用を含めるかどうか(含める場合は'0'、除外する場合は'1')
  • as_rr: レビュー論文のみを表示(すべての場合は'0'、レビューのみの場合は'1')
  • raw_json: 完全な未加工JSONレスポンスを返します(ブール値)
  • readable_json: 結果をMarkdown形式のテキストで返します(ブール値)

Google Scholar API パラメーターの詳細なドキュメント

Google Trends
  • q: 検索クエリ(カンマ区切りで複数のクエリを指定できます)
  • geo: 地域(例:'US'、'GB')
  • date: 期間(例:'now 1-d'、'now 7-d'、'today 12-m')
  • tz: 分単位のタイムゾーンオフセット
  • data_type: 検索タイプ(例:'TIMESERIES'、'GEO_MAP')
  • cat: カテゴリーID
  • gprop: プロパティフィルター(例:'web'、'news'、'images')
  • raw_json: 完全な未加工JSONレスポンスを返します(ブール値)
  • readable_json: 結果をMarkdown形式のテキストで返します(ブール値)

Google Trends API パラメーターの詳細なドキュメント

Google Finance
  • q: 株式、指数、投資信託、通貨、先物の検索クエリ
  • hl: 言語コード(例:'en'、'es')
  • window: グラフの期間(例:'1D'、'5D'、'1M'、'6M'、'YTD'、'1Y'、'5Y'、'MAX')
  • raw_json: 完全な未加工JSONレスポンスを返します(ブール値)
  • readable_json: 結果をMarkdown形式のテキストで返します(ブール値)

Google Finance API パラメーターの詳細なドキュメント

Google Maps
  • q: 検索クエリ
  • type: 検索タイプ('search'または'place')
  • place_id: Google Maps上の場所を示す一意の参照ID
  • data: 検索結果のフィルター、または特定の場所の検索
  • ll: '@latitude,longitude,zoom'形式のGPS座標
  • google_domain: 使用するGoogleドメイン(デフォルトはgoogle.com)
  • hl: 言語コード(例:'en'、'es')
  • gl: 国コード(例:'us'、'uk')
  • start: ページネーションの結果オフセット(整数)
  • raw_json: 完全な未加工JSONレスポンスを返します(ブール値)
  • readable_json: 結果をMarkdown形式のテキストで返します(ブール値)

Google Maps API パラメーターの詳細なドキュメント

Google Images
  • q:検索クエリ
  • location:検索元の場所
  • uule:Google 形式でエンコードされた場所(location と併用できません)
  • google_domain:使用する Google ドメイン(デフォルトは google.com)
  • hl:言語コード(例:'en'、'es')
  • gl:国コード(例:'us'、'uk')
  • cr:国の制限(例:'countryUS')
  • device:デバイスの種類('desktop'、'tablet'、'mobile')
  • ijn:ページ番号(0 始まりのインデックス)
  • chips:Google が検索候補として提供するフィルター文字列
  • tbs:詳細検索パラメーター
  • imgar:画像のアスペクト比('s' - 正方形、't' - 縦長、'w' - 横長、'xw' - パノラマ)
  • imgsz:画像のサイズ('l' - 大、'm' - 中、'i' - アイコンなど)
  • image_color:画像の色('red'、'blue'、'green'、'black'、'white' など)
  • image_type:画像の種類('face'、'photo'、'clipart'、'lineart'、'animated')
  • licenses:ライセンスの範囲('f' - 無料で使用可能、'fc' - 商用利用無料など)
  • safe:セーフサーチ設定('active'、'off')
  • nfpr:自動修正された結果を除外(除外する場合は'1'、含める場合は'0')
  • filter:'類似の検索結果'および'省略された検索結果'のフィルターを有効化/無効化
  • time_period:新しさで絞り込む(例:過去1日は'd')
  • raw_json:完全な未加工のJSONレスポンスを返します(ブール値)
  • readable_json:結果をMarkdown形式のテキストで返します(ブール値)

Google Images API パラメーターの詳細なドキュメント

YouTube Search
  • search_query:検索クエリ
  • gl:国コード(例:'us'、'uk')
  • hl:言語コード(例:'en'、'es')
  • sp:フィルターパラメーター(例:今日アップロードされた動画の場合は'CAISAhAB')
  • raw_json:完全な未加工のJSONレスポンスを返します(ブール値)
  • readable_json:結果をMarkdown形式のテキストで返します(ブール値)

YouTube Search API パラメーターの詳細なドキュメント

YouTube Video
  • v:YouTube 動画 ID
  • gl:国コード(例:'us'、'uk')
  • hl:言語コード(例:'en'、'es')
  • next_page_token:関連動画、コメント、返信の次のページを取得するためのトークン
  • raw_json:完全な未加工のJSONレスポンスを返します(ブール値)
  • readable_json:結果をMarkdown形式のテキストで返します(ブール値)
YouTube Transcript
  • video_url:YouTube 動画のURLまたはID
  • with_timestamps:文字起こしにタイムスタンプを含めます(ブール値)
  • language:文字起こしの言語コード(デフォルト:'en')
  • preserve_formatting:HTML の書式要素を保持します(ブール値)
  • cookies_path:年齢制限のある動画用の cookies.txt ファイルへのパス
  • proxy:リクエストに使用する HTTPS プロキシ
  • raw_json:完全な未加工のJSONレスポンスを返します(ブール値)
  • readable_json:人間が読みやすい形式のテキストを返します(ブール値)
  • text_transcript:文字起こしを単一のテキスト文字列として返します(ブール値)

YouTube Transcript API ドキュメント

トラブルシューティング
無効な API キー
  • .env ファイルの API キー設定を確認してください
  • SerpAPI ダッシュボードで API キーが有効であることを確認してください
  • API キーに引用符や空白文字が含まれていないか確認してください
リクエストの失敗
  • ネットワーク接続を確認してください
  • API 呼び出しのクォータを超過していないことを確認してください
  • リクエストパラメーターの形式を検証してください
  • レート制限の問題がないか確認してください

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルを参照してください。

謝辞

  • 検索 API を提供している SerpApi
  • 文字起こしの取得に使用する YouTube Transcript API
  • AI アシスタントとの統合を可能にする MCP プロトコル

リソース

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。