mcpField
M
MCP Gemini

MCP Gemini

ローカル
github.com/crunchtoolsAI・エージェント03 日前に更新

MCP Gemini について

MCP Geminiは、Google Geminiのテキスト、メディア、ドキュメント、調査機能をMCPクライアントに接続します。これらの作業をMCPツールで行いたいユーザー向けで、APIキーはローカルで扱います。

主な機能

  1. 01Geminiへの問い合わせとウェブ検索
  2. 02画像の生成と編集
  3. 03ドキュメント、URL、動画の分析
  4. 04詳細調査と追加質問
  5. 05音声と構造化出力の生成
  6. 06コード分析とGemini経由のPython実行

活用シーン

  1. 01PDFやYouTube動画の要約
  2. 02プロンプトによる画像生成や編集
  3. 03ウェブ情報を使ったテーマ調査
  4. 04コードのセキュリティ問題の確認

MCP 対応

MCPクライアントにGoogle Geminiの問い合わせ、メディア、ドキュメント、調査などのツールを提供します。stdioでローカル実行し、APIキーの不用意なログ出力を防ぎます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"crunchtools-gemini": {
"command": "uvx",
"args": [
"mcp-gemini-crunchtools"
]
}
}
}
起動コマンドuvx mcp-gemini-crunchtools

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-gemini-crunchtools0.3.0

ツール

39

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
modelstringいいえ使用するモデル('pro' または 'flash')。
promptstringはいGemini に送信するプロンプト。
use_google_searchbooleanいいえGoogle Search の結果を使って回答の根拠を示します。
system_instructionanyいいえ回答を導くための省略可能なシステム指示。

詳細

MCP Gemini CrunchTools

Google Gemini AI 向けのセキュアな MCP(Model Context Protocol)サーバーです。テキスト、画像、動画、リサーチなどに対応しています。

概要

この MCP サーバーは、次の特長を備えています。

  • デフォルトでセキュア - STRIDE 脅威モデル(SECURITY.md を参照)、Pydantic による入力検証、誤ってログに記録されるのを防ぐため SecretStr として保持される API キー
  • サードパーティサービス不要 - stdio 経由でローカル実行され、API キーがマシンの外部に送信されることはありません
  • クロスプラットフォーム - Linux、macOS、Windows で動作します
  • 自動更新 - GitHub Actions が CVE を監視し、依存関係を更新します
  • コンテナ化 - Hummingbird Python ベースイメージ上に構築され、quay.io/crunchtools/mcp-gemini で利用できます

命名規則

コンポーネント名前
GitHub リポジトリcrunchtools/mcp-gemini
コンテナquay.io/crunchtools/mcp-gemini
Python パッケージ(PyPI)mcp-gemini-crunchtools
CLI コマンドmcp-gemini-crunchtools
モジュールインポートmcp_gemini_crunchtools

Hummingbird を使用する理由

このコンテナイメージは、Project Hummingbird の Hummingbird Python ベースイメージ 上に構築されており、次の特長を備えています。

  • CVE への露出を最小限に抑制 - Hummingbird イメージは最小限のパッケージセットで構築されており、汎用イメージと比べて攻撃対象領域を大幅に縮小します
  • 定期的な更新 - セキュリティパッチが速やかに適用され、CVE 数を低く保ちます
  • Python に最適化 - 高速で再現性の高いビルドを実現する uv パッケージマネージャーを備えた、事前設定済みの Python 環境です
  • 本番環境に対応 - 適切なシグナル処理と非 root ユーザーのデフォルト設定により、本番環境のワークロード向けに設計されています

そのため、一般的な Python コンテナイメージより脆弱性が少ない、強化された環境で MCP サーバーを実行できます。

機能

クエリツール(5 個)
  • gemini_query - Google Search グラウンディングをオプションで利用して Gemini にクエリを送信します
  • gemini_brainstorm - トピックに関する創造的なアイデアを生成します
  • gemini_analyze_code - セキュリティ、パフォーマンス、バグについてコードを分析します
  • gemini_analyze_text - 感情、語調、内容についてテキストを分析します
  • gemini_summarize - さまざまな形式で内容を要約します
画像生成(4 個)
  • gemini_generate_image - テキストプロンプトから画像を生成します(Gemini ネイティブ)
  • gemini_generate_image_with_input - 既存の画像を編集・変更します
  • gemini_image_prompt - 効果的な画像生成プロンプトを作成します
  • gemini_imagen_generate - Google Imagen 4 モデルを使って画像を生成します
画像編集(4 個)
  • gemini_start_image_edit - 複数ターンの画像編集セッションを開始します
  • gemini_continue_image_edit - アクティブなセッションで編集を続行します
  • gemini_end_image_edit - 画像編集セッションを終了します
  • gemini_list_image_sessions - アクティブな編集セッションをすべて一覧表示します
画像分析(1 個)
  • gemini_analyze_image - ローカルの画像ファイルを分析して説明します
検索ツール(1 個)
  • gemini_search - Google Search グラウンディングを使って Gemini でウェブ検索を行います
ドキュメントツール(3 個)
  • gemini_analyze_document - PDF、DOCX、TXT などを分析します
  • gemini_summarize_pdf - PDF ドキュメントを要約します
  • gemini_extract_tables - ドキュメントから表を抽出します
URL ツール(3 個)
  • gemini_analyze_url - 1 つ以上の URL を分析します
  • gemini_compare_urls - 2 つの URL を比較します
  • gemini_extract_from_url - URL から特定のデータを抽出します
動画ツール(2 個)
  • gemini_generate_video - Veo を使って動画を生成します
  • gemini_check_video - 動画生成の状態を確認します
YouTube ツール(2 個)
  • gemini_youtube - YouTube 動画を分析します
  • gemini_youtube_summary - YouTube 動画を要約します
音声ツール(3 個)
  • gemini_speak - テキストを音声に変換します
  • gemini_dialogue - 複数の音声による対話音声を生成します
  • gemini_list_voices - 利用可能な音声を一覧表示します
リサーチツール(3個のツール)
  • gemini_deep_research - 複数ステップのウェブリサーチを実行します
  • gemini_check_research - リサーチ操作のステータスを確認します
  • gemini_research_followup - 追加の質問をします
キャッシュツール(4個のツール)
  • gemini_create_cache - 繰り返しのクエリ用にコンテンツキャッシュを作成します
  • gemini_query_cache - キャッシュされたコンテンツをクエリします
  • gemini_list_caches - 有効なキャッシュをすべて一覧表示します
  • gemini_delete_cache - キャッシュを削除します
構造化出力ツール(2個のツール)
  • gemini_structured - 構造化された JSON 出力を取得します
  • gemini_extract - テキストから構造化データを抽出します
トークンツール(1個のツール)
  • gemini_count_tokens - コンテンツ内のトークン数を数えます
コード実行ツール(1個のツール)
  • gemini_run_code - Gemini 経由で Python コードを実行します

合計:39個のツール

インストール

uvx を使用(推奨)
uvx mcp-gemini-crunchtools
pip を使用
pip install mcp-gemini-crunchtools
コンテナを使用
# Create a shared output directory (required before first run)
mkdir -p ~/.local/share/mcp-uploads-downloads

podman run -v ~/.local/share/mcp-uploads-downloads:/output:z \
    -e GEMINI_API_KEY=your_key \
    -e GEMINI_OUTPUT_DIR=/output \
    quay.io/crunchtools/mcp-gemini

SELinux に関する注意: :Z(大文字、プライベート)の代わりに :z(小文字、共有)を使用してください。 MCP サーバーは、長時間稼働する stdio プロセスとして実行されます。:Z を使用すると、コンテナの起動後に ディレクトリへコピーしたファイルには、コンテナのプライベートな MCS ラベルが付与されないため、 コンテナ内から見えなくなります。:z フラグは共有の container_file_t コンテキストを設定し、すべてのコンテナとホストが読み書きできるようにします。

ヒント: 複数の MCP コンテナサーバー(例:mcp-gemini や mcp-wordpress)で同じ共有ディレクトリ(~/.local/share/mcp-uploads-downloads/) を使用すると、生成した画像をコピーせずにすぐ WordPress にアップロードできます。

設定

Google Gemini API キーの作成
  1. Google AI Studio にアクセスします

  2. API キーを作成します

    • 「Get API key」または「Create API key」をクリックします
    • Google Cloud プロジェクトを選択するか、新しいプロジェクトを作成します
    • 「Create API key in new project」をクリックします(または既存のプロジェクトを選択します)
  3. API キーをコピーします

    • 重要:API キーをすぐにコピーして、安全に保管してください!
    • キーは AI... で始まります(例:AIzaSy...)
Claude Code に追加
claude mcp add mcp-gemini-crunchtools \
    --env GEMINI_API_KEY=your_api_key_here \
    -- uvx mcp-gemini-crunchtools

コンテナ版の場合:

# Create a shared output directory (required before first run)
mkdir -p ~/.local/share/mcp-uploads-downloads

claude mcp add mcp-gemini-crunchtools \
    --env GEMINI_API_KEY=your_api_key_here \
    --env GEMINI_OUTPUT_DIR=/output \
    -- podman run -i --rm \
        -v ~/.local/share/mcp-uploads-downloads:/output:z \
        -e GEMINI_API_KEY \
        -e GEMINI_OUTPUT_DIR=/output \
        quay.io/crunchtools/mcp-gemini
オプション:出力ディレクトリを設定(コンテナ以外)

コンテナを使用せずに実行する場合に生成される画像、音声、動画用:

claude mcp add mcp-gemini-crunchtools \
    --env GEMINI_API_KEY=your_api_key_here \
    --env GEMINI_OUTPUT_DIR=$HOME/.local/share/mcp-uploads-downloads \
    -- uvx mcp-gemini-crunchtools

使用例

Google 検索を使ったクエリ
User: What are the latest developments in quantum computing?
Assistant: [calls gemini_query with use_google_search=true]
画像を生成
User: Generate a photorealistic image of a sunset over mountains
Assistant: [calls gemini_generate_image with prompt and style]
PDF ドキュメントを分析
User: Analyze this research paper at /path/to/paper.pdf
Assistant: [calls gemini_analyze_document with file_path]
YouTube 動画を要約
User: Summarize this YouTube video: https://youtube.com/watch?v=...
Assistant: [calls gemini_youtube_summary with url]
詳細なリサーチ
User: Research the environmental impact of electric vehicles
Assistant: [calls gemini_deep_research then gemini_check_research]
コード分析
User: Analyze this Python code for security issues
Assistant: [calls gemini_analyze_code with focus="security"]

セキュリティ

このサーバーは、セキュリティを最優先に設計されています。以下については SECURITY.md を参照してください。

  • 脅威モデルと攻撃ベクトル
  • 多層防御アーキテクチャ
  • API キーの取り扱いに関するベストプラクティス
  • 入力検証ルール
  • 監査ログ
主なセキュリティ機能
  1. API キーの保護

    • SecretStr として保存(誤ってログに記録されることはありません)
    • 環境変数のみで管理(ファイルや引数には保存しません)
    • すべてのエラーメッセージからサニタイズ
  2. 入力検証

    • すべての入力に Pydantic モデルを使用
    • ファイルパスの検証
    • URL の検証
    • 厳密なフォーマット検証
  3. API の強化

    • API のベース URL をハードコード(SSRF を防止)
    • TLS 証明書の検証
    • リクエストのタイムアウト
    • レスポンスサイズの制限
  4. CVE の自動スキャン

    • GitHub Actions が依存関係を毎週スキャン
    • セキュリティ更新用の PR を自動作成
    • Dependabot アラートを有効化

開発

セットアップ
git clone https://github.com/crunchtools/mcp-gemini.git
cd mcp-gemini
uv sync
テストを実行
uv run pytest
Lint と型チェック
uv run ruff check src tests
uv run mypy src
コンテナをビルド
podman build -t mcp-gemini .

ライセンス

AGPL-3.0-or-later

コントリビューション

コントリビューションを歓迎します!セキュリティ関連の変更を提出する前に、SECURITY.md をお読みください。

リンク

コメント

MCP は初めてですか?

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

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