mcpField
I
imagedata

imagedata

ローカル
github.com/CloudCorpRecords検索02 日前に更新

imagedata について

imagedataは、構造化された画像検索結果を必要とするクライアント向けの、HasData Google Images検索サービスへのローカルブリッジです。フィルター、地域設定、ページ送りに対応しています。

主な機能

  1. 01Google Images検索結果の取得
  2. 02サイズ・色・種類による絞り込み
  3. 03SafeSearchと地域の設定
  4. 04デバイス選択とページ送り
  5. 05画像URL・サムネイル・寸法の取得

活用シーン

  1. 01検索語に合う画像の検索
  2. 02サイズや種類による結果の絞り込み
  3. 03地域を指定した検索結果の取得
  4. 04画像の掲載元ページと寸法の確認

MCP 対応

MCPクライアントに上流のGoogle Images検索ツールを公開し、呼び出しをHasDataへ転送して結果をそのまま返します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-imagedata": {
"command": "npx",
"args": [
"-y",
"@reneturcios/imagedata"
]
}
}
}
起動コマンドnpx -y @reneturcios/imagedata

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

パッケージ
npm@reneturcios/imagedata0.1.0
ocighcr.io/cloudcorprecords/imagedata:0.1.0

ツール

1

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

パラメーター型必須説明
qstringはい画像検索結果を取得するための検索語です。
glstringいいえ検索対象を限定する国の 2 文字の国コードです。ドキュメントに記載された値を正確に 1 つ指定してください(245 種類に対応)。例:`ac`、`af`。
hlstringいいえ検索に使用する言語の 2 文字コードです。ドキュメントに記載された値(159 種類)のいずれかを正確に指定してください。例:`af`、`ak`。
ijnnumberいいえページ分割された結果のページ番号です。0 が最初のページです。
tbsstringいいえ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)を検索します。
safeenumいいえ成人向けコンテンツのフィルタリングオプションです。active | off
uulestringいいえエンコードされた地域パラメーターです。
domainstringいいえ使用する Google ドメインです。デフォルトは google.com です。ドキュメントに記載された値を正確に 1 つ指定してください(195 種類に対応)。例:`google.ac`、`google.ad`。
filternumberいいえ「類似した結果」と「除外された結果」のフィルターを有効にするかどうかを指定します。1(デフォルト)で有効、0 で無効になります。
locationstringいいえ検索に使用する Google の正式な地域名です。
deviceTypeenumいいえ検索に使用するデバイスの種類を指定します。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 を参照してください。

コメント

MCP は初めてですか?

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

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