imagedata について
imagedataは、構造化された画像検索結果を必要とするクライアント向けの、HasData Google Images検索サービスへのローカルブリッジです。フィルター、地域設定、ページ送りに対応しています。
主な機能
- 01Google Images検索結果の取得
- 02サイズ・色・種類による絞り込み
- 03SafeSearchと地域の設定
- 04デバイス選択とページ送り
- 05画像URL・サムネイル・寸法の取得
活用シーン
- 01検索語に合う画像の検索
- 02サイズや種類による結果の絞り込み
- 03地域を指定した検索結果の取得
- 04画像の掲載元ページと寸法の確認
MCP 対応
MCPクライアントに上流のGoogle Images検索ツールを公開し、呼び出しをHasDataへ転送して結果をそのまま返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 2 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| q | string | はい | 画像検索結果を取得するための検索語です。 |
| gl | string | いいえ | 検索対象を限定する国の 2 文字の国コードです。ドキュメントに記載された値を正確に 1 つ指定してください(245 種類に対応)。例:`ac`、`af`。 |
| hl | string | いいえ | 検索に使用する言語の 2 文字コードです。ドキュメントに記載された値(159 種類)のいずれかを正確に指定してください。例:`af`、`ak`。 |
| ijn | number | いいえ | ページ分割された結果のページ番号です。0 が最初のページです。 |
| tbs | string | いいえ | Google Images API の `tbs` パラメーターでは、カンマ区切りで複数のフィルターを組み合わせて画像検索結果をカスタマイズできます。利用可能なオプションは次のとおりです。 画像サイズフィルター: - `isz:l` - 大きい画像を検索します。 - `isz:m` - 中サイズの画像を検索します。 - `isz:i` - アイコンサイズの画像を検索します。 - `isz:lt,islt:qsvga` - 400×300 より大きい画像に絞り込みます。 - `isz:lt,islt:vga` - 640×480 より大きい画像に絞り込みます。 - `isz:lt,islt:svga` - 800×600 より大きい画像に絞り込みます。 - `isz:lt,islt:xga` - 1024×768 より大きい画像に絞り込みます。 - `isz:lt,islt:2mp` - 1600×1200 より大きい画像に絞り込みます。 - `isz:lt,islt:4mp` - 2272×1704 より大きい画像に絞り込みます。 - `isz:ex,iszw:1000,iszh:1000` - 1000×1000 ちょうどの画像を検索します。 色フィルター: - `ic:color` - フルカラー画像を検索します。 - `ic:gray` - 白黒画像を検索します。 - `ic:specific,isc:red`(オレンジ、黄色、緑など他の色も指定可能)- 指定した色が主体の画像を検索します。 画像タイプフィルター: - `itp:face` - 顔の画像を検索します。 - `itp:photo` - 写真を検索します。 - `itp:clipart` - クリップアート画像を検索します。 - `itp:lineart` - 線画を検索します。 - `itp:animated` - アニメーション画像(GIF)を検索します。 |
| safe | enum | いいえ | 成人向けコンテンツのフィルタリングオプションです。active | off |
| uule | string | いいえ | エンコードされた地域パラメーターです。 |
| domain | string | いいえ | 使用する Google ドメインです。デフォルトは google.com です。ドキュメントに記載された値を正確に 1 つ指定してください(195 種類に対応)。例:`google.ac`、`google.ad`。 |
| filter | number | いいえ | 「類似した結果」と「除外された結果」のフィルターを有効にするかどうかを指定します。1(デフォルト)で有効、0 で無効になります。 |
| location | string | いいえ | 検索に使用する Google の正式な地域名です。 |
| deviceType | enum | いいえ | 検索に使用するデバイスの種類を指定します。desktop | mobile | tablet |
詳細
imagedata
imagedata は、ホスト型の HasData
Google Images MCP サーバーへの小規模なローカルブリッジです。Google Images
の検索結果を JSON として返します。クエリを渡すと、そのクエリの画像検索結果を取得します。各画像について、タイトル、表示されているページ、画像の直接 URL、
サムネイル、寸法、ソース名、検索結果内での
位置を返します。検索条件は、tbs フィルター文字列(画像サイズ、主要な色、
顔、写真、クリップアート、線画、
アニメーションなどの画像タイプ)、セーフサーチ、類似・省略された検索結果の
フィルター切り替え、Google ドメイン、国と言語のコード、正規形式またはエンコードされた場所、デバイスタイプ、
ページベースのページネーションで指定できます。
このブリッジは検索結果を保存しません。ライブエンドポイントから取得した状態のまま、上流サーバーのツール一覧をローカルで提供し、各ツール呼び出しを上流に転送して、結果を変更せずに返します。 取得したインターフェースは読み取り専用の単一の取得機能のみです。 書き込み、メッセージ送信、決済のツールはありません。
ツール
hasdata_google_images_images_getImageSearchResults— Google Images の検索結果を1ページ取得します。必須:q(検索語)。任意:location(Google の正規形式の場所)、uule(エンコードされた場所パラメーター)、domain(使用する Google ドメイン、 例:google.com)、gl(2文字の国コード)、hl(2文字の言語コード)、tbs(isz:lのようなサイズフィルター、ic:colorのような色フィルター、itp:photoのようなタイプフィルターを組み合わせたフィルター文字列)、safe(active/off)、filter(1 または 0:類似・省略された検索結果のフィルタリング)、deviceType(desktop/mobile/tablet)、およびijn(ページ番号。0 が最初のページ)。各画像について、タイトル、ソースページ URL、画像の直接 URL、サムネイル、寸法、ソース名、位置を返します。
設定
HASDATA_GOOGLE_IMAGES_MCP_URL(任意)— 上流エンドポイントを上書きします。デフォルトはhttps://mcp.hasdata.com/mcp?apis=google_imagesです。 (この上書き用フックは、この再構築独自のラベル付き再現です。)HASDATA_API_KEY(任意)— 設定すると、呼び出し元自身の HasData API キーとして、すべての上流リクエストにx-api-key: <key>ヘッダーが付加されます。設定されていない場合、キーのヘッダーは送信されません。(ヘッダー名と環境変数名は、オリジナルのレジストリレコードに基づいています。この環境変数からキーを転送する動作はラベル付き再現です。オリジナルのインターフェースはキーなしで取得されました。)
転送の仕組み
最初のツール呼び出し時に、クライアントは上流とのストリーム可能な
HTTP セッションを開きます。まず JSON-RPC の
initialize リクエスト(protocolVersion 2025-03-26、
clientInfo name imagedata)を送り、次に
notifications/initialized 通知、続いて呼び出し元の引数を変更せずに含めた
tools/call リクエストを送信します。上流が initialize への応答で
Mcp-Session-Id ヘッダーを返した場合、その値は
セッションの後続のすべてのリクエストに付与され、プロセスの実行中は同じセッションが再利用されます。応答は
通常の JSON またはサーバー送信イベントで届くことがあり、どちらも読み取ります。
上流で成功した結果は、上流が設定した isError フラグも含め、そのまま通過します。
JSON-RPC エラー、2xx 以外のステータス、読み取り不能な応答、
完了できないリクエストなどの失敗は、テキストが imagedata error: で始まる isError 結果として返されます(この表示方法は、この再構築独自のラベル付き再現です)。
CLI
このツールは、JSON 引数文字列を1つ受け取るサブコマンドとしても実行できます。
npx @reneturcios/imagedata hasdata_google_images_images_getImageSearchResults '{"q":"golden retriever puppies","tbs":"isz:l,ic:color,itp:photo","safe":"active"}'
npx @reneturcios/imagedata --version
終了コード:成功時は 0、isError の結果の場合は 1、
使用方法に誤りがある場合は 2 です。
MCP サーバー
npx -y @reneturcios/imagedata mcp
MCP クライアントの設定:
{
"mcpServers": {
"imagedata": {
"command": "npx",
"args": ["-y", "@reneturcios/imagedata", "mcp"]
}
}
}
Docker
docker run -i ghcr.io/cloudcorprecords/imagedata
docker run --rm ghcr.io/cloudcorprecords/imagedata --version
コンテナーのデフォルトコマンドは mcp なので、最初の形式は stdio MCP サーバーとして動作します。それ以外の引数は通常どおり CLI に渡されます。
開発
npm install
npm run build
npm test
npm run dev
テストスイートはすべて、スタブ化された JSON-RPC 上流を使用して実行されます。ライブネットワークへの呼び出しはありません。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。