HasData Google Images について
HasData がホストする MCP サーバーで、MCP クライアントから Google 画像検索を読み取り専用で利用できます。サイズ、色、種類で絞り込み、出典ページ、サムネイル、元画像の URL を返します。
主な機能
- 01Google 画像検索
- 02サイズ・色・種類で絞り込み
- 03出典ページと元画像 URL の取得
- 04サムネイルと画像寸法の取得
- 05地域・言語・デバイスの指定
活用シーン
- 01指定サイズ以上の画像を探す
- 02地域ごとの画像出典を比較する
- 03モノクロ写真や画像形式で絞り込む
MCP 対応
クライアントに読み取り専用の Google 画像検索ツールを 1 つ公開し、結果を構造化 JSON で返すリモート MCP サーバーです。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.hasdata.com/mcp?apis=google_imagesclaude mcp add --transport http com-hasdata-google-images https://mcp.hasdata.com/mcp?apis=google_images{"mcpServers":{"com-hasdata-google-images":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=google_images"}}}Cursor で開く{"servers":{"com-hasdata-google-images":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=google_images"}}}VS Code で開く{"mcpServers":{"com-hasdata-google-images":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=google_images"}}}{"mcpServers":{"com-hasdata-google-images":{"serverUrl":"https://mcp.hasdata.com/mcp?apis=google_images"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.hasdata.com/mcp?apis=google_images認証が必要ツール
2| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| pets | number | いいえ | ペットの数。 |
| neLat | number | いいえ | 地図のバウンディングボックスの北東角の緯度。4 つの境界ボックス座標をすべて指定すると、場所ではなくボックス内でリスティングを検索します。 |
| neLng | number | いいえ | 地図のバウンディングボックスの北東角の経度。 |
| swLat | number | いいえ | 地図のバウンディングボックスの南西角の緯度。 |
| swLng | number | いいえ | 地図のバウンディングボックスの南西角の経度。 |
| adults | number | いいえ | 大人の人数。 |
| checkIn | string | はい | リスティングのチェックイン日。 |
| infants | number | いいえ | 乳幼児の人数。 |
| checkOut | string | いいえ | リスティングのチェックアウト日。 |
| children | number | いいえ | 子どもの人数。 |
| location | string | いいえ | リスティングを検索する場所。完全な地図バウンディングボックス(neLat、neLng、swLat、swLng)を指定しない場合は必須です。 |
| nextPageToken | string | いいえ | 次のページの結果を取得するためのトークン。 |
詳細
Google Images MCP Server
Claude、Cursor、Windsurf、その他あらゆる MCP クライアントに、読み取り専用の Google Images ツールを 1 つ提供するホスト型 Model Context Protocol(MCP)サーバーです。サイズ、色、種類のフィルターを使って画像を検索し、1 回の呼び出しで 100 件の結果を取得できます。各結果には、掲載元のページとフル解像度のファイル URL が含まれ、構造化 JSON として返されるため、ホストするものはありません。
ログアウト状態の訪問者に表示される Google Images の検索結果ページを読み取ります。
毎月 1,000 クレジットを無料で利用でき、カードの登録も不要です。10 クレジットのレートで、Google Images を 100 回呼び出せます。
https://mcp.hasdata.com/mcp?apis=google_images
目次
必要なもの
MCP クライアントと、ダッシュボードで取得できる HasData API キーが必要です。カード不要で無料で作成でき、無料枠では 10 クレジットのレートで月に約 100 回呼び出せます。これはリモートサーバーなので、コンテナーを実行する必要はなく、URL と x-api-key ヘッダーを使うのが最も簡単です。stdio のみを話すクライアントからは、npm で @hasdata/google-images-mcp、PyPI で hasdata-google-images-mcp として公開されている軽量ランチャーを経由して接続できます。以下で説明します。
クイックスタート
サーバー URL はすべてのクライアントで共通です。Claude Code と Claude Desktop では、実際に動作させる手順を紹介します。その他のブロックは、それぞれのクライアントがリモートサーバー向けにドキュメントで定めている形式に従います。
| フィールド | 値 |
|---|---|
| URL | https://mcp.hasdata.com/mcp?apis=google_images |
| トランスポート | HTTP、ストリーミング可能 |
| 認証ヘッダー | x-api-key: HASDATA_API_KEY |
OAuth に対応しているクライアントでは、同じ URL をコネクターとして追加してサインインすれば、設定ファイルにキーを記載せずに利用できます。
Claude Code
claude mcp add --transport http google-images "https://mcp.hasdata.com/mcp?apis=google_images" \
--header "x-api-key: HASDATA_API_KEY"
Claude Desktop
「設定」から「コネクター」、「カスタムコネクターを追加」の順に選択し、https://mcp.hasdata.com/mcp?apis=google_images を貼り付けてサインインします。
設定ファイルを使う方法では、Claude Desktop はローカル(stdio)サーバーのみを読み込むため、stdio ランチャーを介してリモートサーバーに接続します。@hasdata/google-images-mcp パッケージがそのランチャーで、キーは環境変数から読み込みます。次の内容を claude_desktop_config.json に追加します。
{
"mcpServers": {
"google-images": {
"command": "npx",
"args": ["-y", "@hasdata/google-images-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Node の代わりに Python を使う場合は、手動でインストールせずに uvx で実行できる PyPI パッケージにランチャーを置き換えます。
{
"mcpServers": {
"google-images": {
"command": "uvx",
"args": ["hasdata-google-images-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Cursor
すべてのプロジェクトで使う場合は ~/.cursor/mcp.json、1 つのプロジェクトで使う場合は .cursor/mcp.json を使用します。
{
"mcpServers": {
"google-images": {
"url": "https://mcp.hasdata.com/mcp?apis=google_images",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json を使用します。Windsurf ではフィールド名に url ではなく serverUrl を使います。
{
"mcpServers": {
"google-images": {
"serverUrl": "https://mcp.hasdata.com/mcp?apis=google_images",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
VS Code
ワークスペース内の .vscode/mcp.json を使用します。
{
"servers": {
"google-images": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=google_images",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
プロンプトの例
- Austin のスカイラインの画像を探し、幅が 1500 ピクセルを超えるものを教えてください。
- この商品名で画像が上位に表示されているサイトはどこですか?
- このクエリの白黒写真を取得し、クリップアートと線画は除外してください。
- ドイツ版 Google でこのクエリを検索し、検索結果の出典を米国版のものと比較してください。
- このランドマークの画像を探し、ストックフォトかどうかを教えてください。
- このクエリの次のページの検索結果を取得してください。
1 ページには 100 件の結果が含まれるため、これらの各リクエストには 1 回の呼び出しで回答できます。それ以上の場合にのみページ送りが必要です。
ツール
| ツール | 戻り値 |
|---|---|
hasdata_google_images_images_getImageSearchResults | タイトル、ソースページ URL、画像の直接 URL、サムネイル、寸法、ソースドメイン、掲載順位を含む各画像。1 回の呼び出しにつき 10 クレジット |
ツールは 1 つで、成功した呼び出し 1 回につき 10 クレジットです。
画像検索結果を取得する
hasdata_google_images_images_getImageSearchResults
Google 画像検索結果の 1 ページ分です。
| パラメーター | 型 | 必須 | 備考 |
|---|---|---|---|
q | string | はい | 検索語 |
tbs | string | サイズ、色、種類を指定する Google のフィルター文字列です。以下を参照してください | |
location | string | 検索に使用する Google の正規の場所 | |
uule | string | すでに指定済みの場合に使用する、エンコードされた場所 | |
domain | string | Google のドメインです。195 種類から選択でき、デフォルトは google.com です | |
gl | string | 国コードです。245 種類から選択できます | |
hl | string | インターフェースの言語です。159 種類から選択できます | |
safe | string | active または off | |
filter | number | 1 は Google の類似結果と省略結果のフィルターを適用し、0 は適用しません | |
deviceType | string | desktop、mobile、または tablet | |
ijn | number | ページ番号です。最初のページは 0 です |
imagesResults 配列を返します。各エントリーには、position、title、画像を掲載しているページへの link、サイト名を示す source、Google の CDN 上の thumbnail、フル解像度のファイルを示す original、originalWidth、originalHeight が含まれます。
{
"position": 1,
"title": "The city skyline of Austin, Texas - Backyard Image",
"link": "https://www.backyardimage.com/the-city-skyline-of-austin-texas/",
"source": "Backyard Image",
"thumbnail": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSOGtSVdgWtQtW1_x8-gi7iQckNHXBQ5FdKqEpCKXsbWg&s=10",
"original": "https://www.backyardimage.com/wp-content/uploads/2025/01/2025-01-12-drone-Heap-0015-Pano-Edit.jpg",
"originalWidth": 1200,
"originalHeight": 615
}
tbs パラメーターは Google 独自のフィルター文字列で、複数のフィルターはカンマで組み合わせます。
| フィルター | 値 |
|---|---|
| 大、中、小(アイコン) | isz:l、isz:m、isz:i |
| 指定サイズより大きい画像 | 400×300 の場合は isz:lt,islt:qsvga、2272×1704 の場合は islt:4mp |
| 正確なサイズ | isz:ex,iszw:1000,iszh:1000 |
| フルカラーまたは白黒 | ic:color、ic:gray |
| 特定の色 | ic:specific,isc:red およびその他の色名 |
| 種類 | itp:photo、itp:face、itp:clipart、itp:lineart、itp:animated |
プロンプトとリソース
サーバーは、受け付ける値が固定リストであるパラメーターごとに 1 つ、計 5 つのリソースを公開します。拒否される呼び出しから語彙を学ぶよりも、リソースを読むほうが低コストで、クレジットも消費しません。各 URI は hasdata://google_images/<parameter> です。
| パラメーター | 値の数 | 選択する内容 |
|---|---|---|
domain | 195 | 使用する Google のドメインです。デフォルトは google.com です。 |
gl | 245 | 検索対象を限定する国の 2 文字の国コードです。 |
hl | 159 | 検索に使用する言語の 2 文字の言語コードです。 |
safe | 2 | アダルトコンテンツのフィルタリング設定です。 |
deviceType | 3 | 検索に使用するデバイスの種類を指定します。 |
リストは API キーなしで提供されるため、クライアントはユーザーが登録する前に読み取ることができます。
エラーと失敗時の処理
正常に進む場合だけを想定せず、こうした事態に備えてください。
original はサードパーティーの URL で、リンク切れやホットリンクのブロック、読み込みの遅延が起こる可能性があります。 これはファイルをホストしているサイト上のファイルを指すため、Google の可用性はまったく保証されません。慎重に取得し、取得できない場合は Google の CDN から配信される thumbnail にフォールバックしてください。
thumbnail は Google の CDN へのリンクであり、埋め込み画像ではありません。 データ URI ではなく実際の URL のため、表示するには gstatic.com へのリクエストが必要です。
1 ページには 10 件ではなく、100 件の結果が含まれます。 コストは結果ごとではなく呼び出しごとにかかるため、画像 100 件を 1 回の呼び出しで取得するのが、ここでは最も安価な方法です。最初の 100 件を超える場合にのみ ijn を使用してください。
ijn はゼロから始まります。 1 を渡すと、最初のページではなく 2 ページ目が取得されます。
サイズはサムネイルではなく元画像のものです。 originalWidth と originalHeight は original の背後にあるファイルのサイズです。そのため、サイズフィルターをローカルで適用する場合は、表示した画像のサイズを測るのではなく、これらの値を読み取る必要があります。
tbs の値は Google のもので、認識されない値は拒否されずに無視されます。 フィルターが何もせずに終わると、すべての結果が見つかった場合と同じように見えます。そのため、手作業で組み立てた tbs 文字列を信頼する前に、結果が実際に絞り込まれていることを確認してください。
domain、gl、hl はそれぞれ独立した軸です。 ドメインはどの Google が回答するか、国コードはどの国から検索するか、言語はインターフェースの言語を指定します。いずれか 1 つを変更しても、結果への影響は予想より小さい場合があります。
データを含む結果には、サポートへの問い合わせで提示する価値のある requestMetadata.id も含まれます。
料金、無料枠、制限
Google Images ツールの料金は、呼び出しが成功するごとに 10 クレジットです。レスポンスのサイズによって料金は変わりません。また、1 回の呼び出しで 100 件の結果が返るため、カタログ内でも返される行あたりの料金が安いツールの 1 つです。
無料枠はカード登録不要で毎月 1,000 クレジットです。基本料金で Google Images を 100 回呼び出せます。請求サイクルごとに更新されるため、使用量の少ないエージェントであれば、無料枠を期限なく利用できます。
有料プランは、20 万クレジット(2 万回の呼び出し)が含まれる月額 59 ドルから始まります。単価は利用量に応じて下がり、エントリープランでは呼び出し 1,000 回あたり 1.48 ドル、Basic では0.60 ドル、Growth ティアでは0.41 ドルです。最新の料金は料金ページをご確認ください。
同時実行数もプランによって決まります。無料枠では一度に 1 リクエスト、Startup では 5、Basic では 15、Growth ティアでは 50 ~ 500 です。無人で実行する場合は、429 が返されたときにバックオフを入れて再試行してください。キーワードリストを一括処理するエージェントは、あなたが上限に達するより先に制限へ到達します。
200 以外のステータスコードで返されたリクエストには課金されません。結果が見つからなくても、呼び出しが成功していれば課金されます。
比較
Google Custom Search JSON API は画像検索結果を取得する公式の方法ですが、より用途が限定されています。
| Custom Search JSON API | このサーバー | |
|---|---|---|
| 利用条件 | Google Cloud プロジェクトと、自分で設定する検索エンジン | API キー |
| 1 回あたりの結果数 | 10 | 100 |
| 1 日あたりの上限 | 1 日 10,000 クエリ、うち無料枠は 100 | プランのクレジット |
| 対象範囲 | プログラム可能な検索エンジンで対象としたサイト | Google Images の公開ページ |
| フィルターの種類 | ドキュメントに記載された一部のフィルター | Google 独自の tbs 文字列 |
| フル解像度の URL | 返される | 返される |
選択の決め手になるのは対象範囲です。プログラム可能な検索エンジンでは設定した範囲が対象となります。これを使ってオープンウェブを検索するには追加の設定が必要であり、人が見るページとは動作も異なります。検索対象のサイトを自分で管理している場合は、少量の利用なら公式 API が無料で、より適しています。
よくある質問
Google 公式の Google Images MCP サーバーはありますか?
Google は公開していません。このサーバーは HasData が保守しており、公開されている Google Images ページを読み取ります。
Google Images MCP サーバーとは何ですか?
MCP サーバーは、AI クライアントが呼び出せるツールを公開します。このサーバーは、Google Images の検索結果ページを、エージェントが推論できる JSON に変換します。スタックにブラウザーやスクレイピングライブラリを用意する必要はありません。
Google アカウントや Cloud プロジェクトは必要ですか?
いいえ。必要な認証情報は HasData キーだけです。
画像をダウンロードできますか?
レスポンスには、ファイルをホストするサイト上の URL である original が含まれます。そのファイルをダウンロード、保存、再利用できるかどうかは、その画像に関する著作権上の問題であり、Google にインデックス登録されているという事実だけでは判断できません。別途確認していない限り、画像は保護されているものと考えてください。
テキストではなく画像で検索できますか?
いいえ。このツールが受け取るのはテキストクエリです。画像の逆検索は別のエンドポイントです。
サイズで絞り込むにはどうすればよいですか?
tbs を使います。isz:l は大きな画像を取得し、isz:lt,islt:2mp は 1600×1200 を超える画像を取得し、isz:ex,iszw:1000,iszh:1000 は 1000×1000 の画像のみを取得します。フィルターはカンマで組み合わせます。
これをほかの HasData API と一緒に使えますか?
はい。1 つのキーですべてを利用でき、apis パラメーターを通じて 1 つのエンドポイントからすべてにアクセスできます。クライアントの接続先を ?apis=google_images,google_serp にすると、1 つの接続で両方のツールセットを利用できます。または、全カタログについては mcp.hasdata.com/mcp をご覧ください。
HasData は Google と提携していますか?
いいえ。HasData は独立したサービスであり、Google と提携、承認、後援関係にはありません。Google はそれぞれの所有者の商標です。ツールは公開されているデータのみを扱います。結果は、Google の規約および適用される法律に従って利用する責任があります。
コンプライアンスと個人データ
画像検索では、クエリに一致した結果が返されます。そのため、人名を指定したクエリではその人物の写真が返され、itp:face は顔に絞り込む指定です。識別可能な人物の画像は個人データであり、いくつかの法域では生体情報の処理が別途、より厳格に規制されています。こうした結果から顔画像のセットを作成する場合は、開始後ではなく開始前に、最も慎重に検討してください。
HasData のリンク
- Google Images API:このツールの基盤となる REST エンドポイント
- API ドキュメント
- MCP サーバーのドキュメント
- 料金
- ダッシュボード
その他の HasData MCP サーバー:Google Search、Google Maps、Google Trends、Google Flights、Bing、DuckDuckGo、YouTube、TikTok、Instagram、Amazon、Walmart、Shopify、Yelp、Yellow Pages、Zillow、Redfin、Airbnb、Booking.com、Indeed、Glassdoor。
開発
ランチャーはリモートサーバーへの薄い stdio ブリッジなので、ビルドするものはありません。
npm install
HASDATA_API_KEY=your_key_here npm test
test/ 内のテストでは、ここでコミットしなくても変更される可能性がある部分であるツールの契約を検証します。?apis=google_images が想定どおりのツールを 1 つ返すこと、名前が変更されていないこと、引き続き q が必須で説明が付いていること、この README に記載されているフィルターと対象指定のパラメーターがスキーマに含まれていること、使用中のキーが実際に受け付けられることを確認します。最後の確認では実際にツールを呼び出すため、10 クレジットを消費します。これは、正しい理由で失敗する可能性のあるカナリアテストの代償です。
あるテストでは、ライブ検索で original とその寸法の両方を含む結果が返されることを検証します。この 3 つのフィールドがあるからこそ、通常の SERP ではなくこのツールを呼び出す価値があります。これらを削除するパーサーの変更があっても、ツール一覧だけは問題のない状態に見えてしまいます。
上流のツール一覧は、このリポジトリに誰も手を加えなくても変更される可能性があるため、契約テストスイートはスケジュールに従って毎週も実行されます。
コントリビューション
ツールの表、レスポンスのサンプル、または実態と一致しない仕様があれば、Issue を作成する価値があります。そのためのテンプレートを用意しています。同様の内容や、ランチャーに関する内容のプルリクエストも歓迎します。
ライセンス
MIT。詳細はLICENSEをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。