mcpField
H
HasData Google Maps

HasData Google Maps

リモート
hasdata.com地図・旅行8今日更新
リポジトリ公式サイト

HasData Google Maps について

HasData Google Maps は、Google Maps の場所、口コミ、写真、投稿、投稿者の履歴を扱う、6 つの読み取り専用ツールを備えたホスト型 MCP サーバーです。構造化 JSON を返し、検索結果の場所 ID を後続の問い合わせに利用できます。

主な機能

  1. 01場所を検索して場所 ID を取得
  2. 02場所の詳細と営業時間を取得
  3. 03口コミと話題別の件数を確認
  4. 04投稿者の口コミ履歴を参照
  5. 05場所の写真と店舗投稿を取得

活用シーン

  1. 01地域内の店舗を探して評価を比較
  2. 02場所の詳細、営業時間、サービスを確認
  3. 03口コミと繰り返し現れる話題を分析
  4. 04投稿者の履歴確認や場所の写真閲覧

MCP 対応

ホスト型リモート MCP サーバーは、場所の検索、詳細、口コミ、写真、投稿、投稿者の口コミ履歴を取得する6つの読み取り専用ツールを公開します。プロンプトとリソースも提供します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.hasdata.com/mcp?apis=google_maps
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://mcp.hasdata.com/mcp?apis=google_maps認証が必要
パッケージ
npm@hasdata/google-maps-mcp1.0.7
pypihasdata-google-maps-mcp1.0.7

ツール

2
パラメーター型必須説明
petsnumberいいえペットの数。
neLatnumberいいえ地図のバウンディングボックスの北東角の緯度。4 つの境界ボックス座標をすべて指定すると、場所ではなくボックス内でリスティングを検索します。
neLngnumberいいえ地図のバウンディングボックスの北東角の経度。
swLatnumberいいえ地図のバウンディングボックスの南西角の緯度。
swLngnumberいいえ地図のバウンディングボックスの南西角の経度。
adultsnumberいいえ大人の人数。
checkInstringはいリスティングのチェックイン日。
infantsnumberいいえ乳幼児の人数。
checkOutstringいいえリスティングのチェックアウト日。
childrennumberいいえ子どもの人数。
locationstringいいえリスティングを検索する場所。完全な地図バウンディングボックス(neLat、neLng、swLat、swLng)を指定しない場合は必須です。
nextPageTokenstringいいえ次のページの結果を取得するためのトークン。

詳細

Google Maps MCP サーバー

Claude、Cursor、Windsurf、その他すべての MCP クライアントで使える、ホスト型の Model Context Protocol(MCP)サーバーです。読み取り専用の Google Maps ツールを6つ提供します。場所の検索、場所の詳細情報の取得、レビュー・写真・投稿の取得、1人のレビュアーの履歴の確認を、すべて構造化 JSON で行えます。Google Cloud プロジェクトの作成や課金の有効化は不要です。

毎月1,000クレジットを無料で利用でき、カードも不要です。10クレジットの料金では、100回呼び出せます。

https://mcp.hasdata.com/mcp?apis=google_maps

Glama スコア ツールコントラクト MCP ツール

目次

必要なもの

カスタムヘッダー付きのストリーミング可能な HTTP に対応した MCP クライアントが必要です。ダッシュボードから取得できる HasData API キーも必要です。カード不要で無料で作成でき、無料枠では10クレジットの料金で月に約100回呼び出せます。それ以外に必要なものはありません。これはリモートサーバーなので、URL とヘッダーを設定するだけで使えます。実行するコンテナも、Google Cloud プロジェクトや API キーも必要ありません。stdio のみに対応したクライアントでは、代わりに @hasdata/google-maps-mcp(npm)または hasdata-google-maps-mcp(PyPI)のランチャーを利用できます。

クイックスタート

URLhttps://mcp.hasdata.com/mcp?apis=google_maps
トランスポートHTTP、ストリーム対応
認証ヘッダーx-api-key: HASDATA_API_KEY

サーバーの URL はすべてのクライアントで共通です。Claude Code と Claude Desktop では、こちらで実際に動作を確認しています。ほかのブロックは、各クライアントがリモートサーバー向けに定めている形式に従っています。

OAuth に対応したクライアントなら、同じ URL をコネクターとして追加してサインインできるため、設定ファイルにキーを記述する必要はありません。

Claude Code
claude mcp add --transport http google-maps "https://mcp.hasdata.com/mcp?apis=google_maps" \
  --header "x-api-key: HASDATA_API_KEY"
Claude Desktop

Claude Desktop は設定ファイルからローカル(stdio)サーバーのみを読み込むため、stdio ランチャーを介してリモートサーバーに接続します。@hasdata/google-maps-mcp パッケージがそのランチャーで、キーは環境変数から読み込みます。

claude_desktop_config.json:

{
  "mcpServers": {
    "google-maps": {
      "command": "npx",
      "args": ["-y", "@hasdata/google-maps-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}

Node ではなく Python を使いますか?ランチャーを PyPI パッケージに置き換えれば、uvx が手動でインストールせずに実行します。

{
  "mcpServers": {
    "google-maps": {
      "command": "uvx",
      "args": ["hasdata-google-maps-mcp"],
      "env": { "HASDATA_API_KEY": "YOUR_KEY" }
    }
  }
}

OAuth に対応したクライアントなら、代わりに URL をカスタムコネクターとして追加し、ランチャーを省略できます。

Cursor

.cursor/mcp.json:

{
  "mcpServers": {
    "google-maps": {
      "url": "https://mcp.hasdata.com/mcp?apis=google_maps",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
Windsurf

~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "google-maps": {
      "serverUrl": "https://mcp.hasdata.com/mcp?apis=google_maps",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
Cline
{
  "mcpServers": {
    "google-maps": {
      "url": "https://mcp.hasdata.com/mcp?apis=google_maps",
      "type": "streamableHttp",
      "headers": { "x-api-key": "HASDATA_API_KEY" },
      "disabled": false
    }
  }
}
VS Code

.vscode/mcp.json:

{
  "servers": {
    "google-maps": {
      "type": "http",
      "url": "https://mcp.hasdata.com/mcp?apis=google_maps",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}
Gemini CLI

~/.gemini/settings.json:

{
  "mcpServers": {
    "google-maps": {
      "httpUrl": "https://mcp.hasdata.com/mcp?apis=google_maps",
      "headers": { "x-api-key": "HASDATA_API_KEY" }
    }
  }
}

プロンプトの例

回数の記載がないものは、それぞれツール呼び出し 1 回です。

Google Maps でシアトルのダウンタウン近くにあるコーヒー店を検索し、評価、レビュー数、ウェブサイトとともに上位 10 件を教えてください。

1 回の呼び出しで、10 クレジットです。検索結果には placeId と dataId がすでに含まれているため、以下の後続の呼び出しでは検索手順は不要です。

ChIJAb0KE0RrkFQRuI4X0By5Mcw の詳細情報をすべて取得してください。営業時間、サービスオプション、価格帯、メニューへのリンクを教えてください。

1 回の呼び出しで、10 クレジットです。

その場所の最新レビューを新しい順に読み、最も多く取り上げられているトピックを教えてください。

1 回の呼び出しで、10 クレジットです。レスポンスには Google 独自のトピック分類と各トピックの言及数が含まれており、順位もデータに含まれています。

最上位のレビューの投稿者を特定し、その人がレビューしたほかの場所を、付けた評価とともにすべて列挙してください。

1 回の呼び出しで、10 クレジットです。レビューには投稿者の contributorId が含まれており、投稿者ツールにはこの ID をそのまま渡せます。

その場所の写真フィードと、ビジネスの最近の投稿を取得してください。

2 回の呼び出しです。写真と投稿はそれぞれ 10 クレジットです。

これらの一連の呼び出しを低コストにできる理由は 2 つあります。検索結果にはすべて placeId と dataId が含まれており、詳細、レビュー、写真、投稿を取得する呼び出しでは、個別に解決する手順が不要です。また、レビューには投稿者の contributorId が含まれているため、「このレビューを書いたのは誰か」を、その人の全履歴を取得する 1 回の呼び出しに結び付けられます。

ツール

ツール返される内容
hasdata_google_maps_contributor_reviews_getMapReviewsレビューごとの評価、テキスト、日付、場所の名前、住所、placeId、写真、オーナーの返信です。1 回の呼び出しにつき 10 クレジット
hasdata_google_maps_photos_getMapPhotos写真ごとの画像 URL、サムネイル、アップロード日、投稿者、photoId です。1 回の呼び出しにつき 10 クレジット
hasdata_google_maps_place_getPlaceDetails名前、住所、座標、電話番号、ウェブサイト、カテゴリ、営業時間、評価、レビュー数、価格帯、写真、混雑する時間帯、属性/設備、plus_code、地図 URL です。1 回の呼び出しにつき 10 クレジット
hasdata_google_maps_posts_getMapPosts投稿ごとのタイトル、説明、画像、投稿日時、リンク、ソース/ビジネス名です。1 回の呼び出しにつき 10 クレジット
hasdata_google_maps_reviews_getMapReviewsレビューごとの投稿者名とプロフィールリンク、星評価、テキスト、公開日/相対日付、「いいね」の数、オーナーの返信、添付写真、ローカルガイドのフラグです。1 回の呼び出しにつき 10 クレジット
hasdata_google_maps_search_performMapSearchplaceId、名前、住所、座標、評価、レビュー数、価格帯、カテゴリ、電話番号、ウェブサイト、営業時間、サムネイルを含むローカルパックの一覧です。1 回の呼び出しにつき 10 クレジット

ツールは 6 つあり、すべて読み取り専用です。以下のサンプルは実際の呼び出し結果を抜粋したもので、場所のレビューが増えるにつれて数値は変わります。データの形を確認するためのものとしてご覧ください。各ツール名は、そのエンドポイントのリファレンスにリンクしています。

サンプルはペイロードであり、レスポンス全体ではありません。tools/call の結果には 1 つのテキストブロックが含まれ、そのテキスト自体が url、status、text、json を格納した JSON で、スクレイピングしたデータは json の下にあります。生の JSON-RPC レスポンスでは、パスは result.content[0].text です。これを解析してから .json にアクセスします。チャットクライアントはこれを自動で展開しますが、エンドポイントと直接通信するコードでは展開されません。

4 つのツールは、placeId または dataId のどちらでも場所を指定できます。検索結果には、どちらの ID も含まれます。一般的な流れは、まず検索を 1 回実行し、続いて保持した ID を再利用して詳細、レビュー、写真、または投稿を取得する呼び出しを行います。

Google マップを検索する

hasdata_google_maps_search_performMapSearch

Google マップのランキング順で返される、クエリに一致する場所です。

パラメーター型必須備考
qstringはい自由形式のクエリです。例:coffee、plumber
llstring@lat,lng,zoomz 形式の地図の中心とズームです。例:@47.6062,-122.3321,14z。これにより、検索対象を特定の場所に設定できます
gl / hlstring2 文字の国コードと言語コードです
domainstringクエリに使用する Google のドメインです。例:google.com
startnumberページネーション用の結果オフセットです。20 件単位で指定します。ll も設定する必要があります

各結果には、position、title、placeId、dataId、address、gpsCoordinates、rating、reviews、type、types、price、website、thumbnail、openState、workingHours、serviceOptions が含まれます。また、Google に表示されている場合は menu リンクも含まれます。

場所はクエリではなく ll で指定します。地図の中心とズームをここに設定してください。「coffee」だけでは、Google が判定した場所の結果が返されます。ズームの数字で、結果が表示される範囲を広げたり狭めたりできます。

{
  "localResults": [
    {
      "position": 1,
      "title": "Howdy Y'all Coffee (Central Library)",
      "placeId": "ChIJAb0KE0RrkFQRuI4X0By5Mcw",
      "dataId": "0x54906b44130abd01:0xcc31b91cd0178eb8",
      "address": "1000 4th Ave Fl 3, Seattle, WA 98104",
      "rating": 4.9,
      "reviews": 117,
      "type": "Coffee shop",
      "website": "https://howdyyallcoffee.com/",
      "workingHours": {
        "timezone": "America/Los_Angeles",
        "days": [ { "day": "Friday", "time": "10 AM–4 PM" } ]
      }
    }
  ]
}
場所の詳細を取得する

hasdata_google_maps_place_getPlaceDetails

placeId を使って、1 つの場所の詳細を取得します。

パラメーター型必須備考
placeIdstringはい検索結果の placeId です
hlstring言語コードです
domainstringGoogle のドメインです

検索結果と同じフィールドに加えて、images 配列を含む単一の placeResults オブジェクトを返します。不要な検索を実行せずに、1 つの場所の完全なレコードを取得できます。

場所のレビューを取得

hasdata_google_maps_reviews_getMapReviews

場所のレビューをページごとに取得します。

ParameterTypeRequiredNotes
placeIdstring場所を指定します。placeId または dataId のいずれかが必要です
dataIdstring代わりに場所を dataId で指定します
sortBystringデフォルトは mostRelevant で、newestFirst、ratingHigh、ratingLow も指定できます
topicIdstringtopics 配列の id を使用して、トピックを1つに絞り込みます
hlstring言語コード
nextPageTokenstring前回のレスポンスの pagination.nextPageToken

placeInfo、topics 配列、reviews 配列、pagination を返します。各レビューには reviewId、rating、snippet、date、isoDate、link、images、user オブジェクトが含まれ、オーナーが返信している場合は response も含まれます。

topics は、レビューで言及されている内容を Google が独自にクラスタリングしたもので、それぞれに keyword と mentions 件数が含まれます。すべてのレビューを読む必要はなく、テーマごとの件数があらかじめ集計されています。トピックの id を topicId として渡すと、そのトピックに言及しているレビューだけを取得できます。

各レビューの user には contributorId が含まれます。これは投稿者ツールが受け取る入力値なので、「誰が書いたか」から「その人が書いたすべてのレビュー」まで、あと1回の呼び出しで確認できます。

{
  "placeInfo": { "title": "Howdy Y'all Coffee (Central Library)", "rating": 4.9, "reviews": 117 },
  "topics": [
    { "keyword": "earl grey matcha", "mentions": 26, "id": "bew1w_KAk5U" },
    { "keyword": "friendly baristas", "mentions": 17, "id": "FOw-91tYieQ" }
  ],
  "reviews": [
    {
      "reviewId": "…",
      "rating": 5,
      "snippet": "…",
      "isoDate": "2026-07-06T19:49:00.657Z",
      "user": { "name": "Angela Li", "contributorId": "106033685843245983748" },
      "response": { "isoDate": "2026-07-07T04:44:34.000Z", "snippet": "Thank you!! 🥺☺️" }
    }
  ],
  "pagination": { "nextPageToken": "…" }
}
投稿者のレビューを取得

hasdata_google_maps_contributor_reviews_getMapReviews

その人が評価したすべての場所について、その人が投稿したレビューをすべて取得します。

ParameterTypeRequiredNotes
contributorIdstringyesレビューの user オブジェクトに含まれる contributorId
numnumber返すレビューの件数
gl / hlstring国コードと言語コード
nextPageTokenstring前回のレスポンスのトークン

name、level、points、投稿内容の内訳を含む contributor オブジェクトと、各エントリーにそれぞれの placeInfo が含まれる reviews 配列を返します。これにより、追加の検索をしなくても、各レビューがどの場所についてのものかを確認できます。このツールは、レビュー一覧だけでは行えない、レビュアーの信頼性やレビューのネットワークに関する調査に利用できます。1人の公開レビュー履歴を読み取るため、結果は Google の利用規約および適用される法律に従って使用してください。

場所の写真を取得

hasdata_google_maps_photos_getMapPhotos

場所の写真を取得します。

ParameterTypeRequiredNotes
placeIdstring場所を指定します。placeId または dataId のいずれかが必要です
dataIdstring代わりに場所を dataId で指定します
categoryIdstringcategories 配列の id を使用して、カテゴリーを1つに絞り込みます
hlstring言語コード
nextPageTokenstring前回のレスポンスのトークン

categories 配列(All、Latest、Videos、Menu、および場所固有のカテゴリー)、各エントリーに image と thumbnail の URL が含まれる photos 配列、pagination を返します。

場所の投稿を取得する

hasdata_google_maps_posts_getMapPosts

Google のリスティングに掲載された、ビジネス自身の投稿や更新情報です。

パラメーター型必須備考
placeIdstring場所です。placeId または dataId のいずれかが必要です
dataIdstringdataId で指定する場所です
hlstring言語コード

posts 配列を返します。このツールはページ分割に対応していません。レビューや写真では nextPageToken を受け取りますが、このツールでは受け取りません。リスティングに表示されている内容が返されます。

投稿がない場所がほとんどなので、posts 配列が空なのはよくあることです。投稿があると決めつける前に、配列の長さを確認してください。

プロンプトとリソース

サーバーには、クライアントがユーザーにツール呼び出しの作成を求める代わりに提示できる、すぐに使えるワークフローである2つのプロンプトが用意されています。

プロンプト内容
google_maps_searchGoogle Maps でビジネスや場所を検索します。
google_maps_reviewsある場所について、レビュー投稿者の意見を要約します。

また、サーバーは、受け付ける値が固定リストになっているパラメーターごとに1つ、計4つのリソースを公開しています。拒否された呼び出しから値の候補を学ぶよりも、リソースを読み取るほうが効率的で、クレジットも消費しません。各 URI は hasdata://google_maps/<parameter> です。

パラメーター値の数選択する内容
hl159検索で使用する言語の2文字の言語コードです。
gl245検索対象を限定する国の2文字の国コードです。
domain195使用する Google ドメインです。デフォルトは google.com です。
sortBy4結果の並べ替えや絞り込みに使用するパラメーターです。

どちらのリストも API キーなしで提供されるため、ユーザーが登録する前にクライアントが読み取れます。

エラーと失敗時の処理

クライアントがツール呼び出しから HTTP エラーコードを受け取ることは、ほとんどありません。MCP レイヤーは 200 を返し、失敗の内容を結果に含めます。isError は true に設定され、理由がテキストで示されます。エージェントには、ステータス行が表示されると思われる箇所にメッセージが表示されます。

キーが正しくない場合、接続失敗ではなくツールの出力にエラーが現れます。 ツール一覧の取得では空でないキーなら何でも受け付けるため、クライアントはハンドシェイクを完了し、緑色の状態を表示します。最初のツール呼び出しで isError: true と HasData API error: 401 Unauthorized というテキストが返されます。フローのそれ以前の段階では問題が報告されないため、この文字列に注意してください。

実際に HTTP エラーが発生するのは、キーがない場合です。認証はどのツールよりも先に実行され、接続自体が 401 で失敗します。

スキーマに適合しない引数は、リクエストになる前に拒否されます。 q を指定しない検索では、isError: true と MCP error -32602: Input validation error というテキストが返され、問題のフィールド名も示されます。データは取得されず、料金も発生しません。

レビュー、写真、投稿の呼び出しには場所の指定が必要です。 これら3つの呼び出しでは placeId または dataId が必要です。どちらも送信しない場合、条件付きの要件であり、スキーマでは通常の必須項目リストとして表現できないため、両方のフィールド名を示す 422 が返されます。どちらか一方を渡してください。

解決できない場所 ID は、空のデータではなく明確なエラーになります。 isError: true と HasData API error: 400 Bad Request が返され、requestMetadata.status は error に設定されます。配列の長さではなく、このフラグを確認してください。

空の posts は正しいデータです。 投稿がないリスティングがほとんどなので、呼び出しは status が ok の状態で成功し、空の配列が返されます。その場所には投稿がないだけです。

データを含む結果には、サポートへの問い合わせ時に伝えると役立つ requestMetadata.id に加え、その呼び出しの保存済み成果物への html リンクと json リンクも含まれます。

料金、無料枠、制限

検索、場所の詳細、レビュー、投稿者のレビュー、写真は、呼び出しが成功するごとに10クレジットかかります。投稿は10クレジットです。レスポンスのサイズによって料金は変わりません。レビューが1件のページでも、1ページ分のレビューでも料金は同じです。

無料枠は、カード登録なしで毎月1,000クレジットです。10クレジットのレートで100回呼び出せます。請求サイクルごとに更新されるため、利用量の少ないエージェントなら、無料枠だけで使い続けられます。

有料プランは、200,000クレジットで月額59ドルからです。これは、5クレジットの呼び出しなら40,000回分です。利用量が増えるほどクレジットあたりの料金は下がります。最新の料金は料金ページで確認できます。

同時実行数もプランによって異なります。無料枠では一度に1件、Startupでは5件、Basicでは15件、Growthの各プランでは50~500件を実行できます。同時実行数だけがスロットルの対象です。リクエスト数/分の上限は別途なく、無料枠がほかの方法で遅くなったり制限されたりすることもありません。無人で実行するものでは、上限を超えた場合に備えてください。複数の場所にリクエストを並行して送るエージェントは、すぐに上限に達する可能性があります。

ページ送りのたびに呼び出し料金がかかります。レビューは1ページあたり約10件のため、100件のレビューなら約10回の呼び出しで100クレジットかかります。写真は1ページあたり20件です。無料枠でも、かなりの量を利用できます。

ツールの選択

?apis=google_mapsを指定すると、次の6つのツールだけが公開されます。このパラメーターにはリストを指定でき、?apis=google_maps,google_serpとすると、Mapsツールに加えてGoogle検索も利用できます。パラメーターを省略すると、HasDataが公開するすべてのツール(現在は57個)が利用可能になります。

通常は、対象を絞ったリストをデフォルトにするのがおすすめです。モデルが57個のツールから選ぶ場合より、6個のツールから選ぶ場合のほうが正しく選択できる可能性が高く、ツールの説明自体もターンごとにコンテキストを消費します。

比較

ほかのGoogle Maps MCP サーバーのほとんどは、公式のGoogle Maps Platformをラップしています。どちらを選ぶかは、ここが重要な判断ポイントです。

こうしたサーバーはPlaces API、Routes API、Geocoding APIを、ユーザー自身のGoogle Cloud認証情報で呼び出します。利用するには、Google Cloudプロジェクトを作成し、カードを登録して課金を有効にし、各APIを有効化したうえで、キーとクォータを管理する必要があります。このサーバーでは対応していないルート検索、ジオコーディング、住所の検証が必要な場合は、こちらが適しています。

このサーバーは、Google Mapsでユーザーに表示される情報を読み取り、解析して返します。Google Cloudプロジェクトも、課金の有効化も、APIごとのクォータ管理も必要ありません。また、Places APIでは取得できない情報にもアクセスできます。少数の固定サンプルではなくすべてのレビュー、1人の投稿者の全履歴、写真フィード、ビジネスの投稿が対象です。

公式Platformラッパーこのサーバー
必要な設定Google Cloudプロジェクト、課金、APIごとのキーとクォータAPIキー1つのみ
ルート検索、ジオコーディング、住所の検証対応非対応
レビュー場所ごとに少数の固定サンプルトピックのクラスター付きでページ分割されたフィード
投稿者の履歴非対応contributorIdで取得可能
写真と投稿制限あり写真フィードとビジネスの投稿
出力Platformのスキーマに準拠したJSONユーザーに表示される情報を解析したJSON
料金Googleの従量課金が請求される1回の呼び出しにつき10クレジット、投稿は10クレジット

判断のポイントは、2つの項目です。道順が必要な場合や、住所を座標に変換する必要がある場合、このサーバーでは対応できませんが、Platformなら対応できます。最初の数件の先にあるレビューや、評価したすべての場所を通して投稿者が誰なのかを知りたい場合、Platformでは対応できませんが、このサーバーなら対応できます。

このサーバーが対応していないこと。 ルート検索、ジオコーディング、住所の検証、距離行列、書き込み操作には対応していません。地図の情報を読み取るサーバーです。

FAQ

Google Maps MCP サーバーとは何ですか?

AI クライアントが呼び出せるツールとして、Google Maps のデータを公開するサーバーです。クライアントは Model Context Protocol 経由でツール呼び出しを送信し、サーバーがデータを取得して構造化された JSON を返します。モデルはその結果を扱うため、HTML ページを見ることはありません。このサーバーは読み取り専用のツールを6つ公開し、リモートで動作します。クライアントは URL に接続するだけで、ローカルプロセスは起動しません。

Google Maps の公式 MCP サーバーはありますか?

Google は汎用的な MCP サーバーを提供していません。Google Maps Platform は、独自の Cloud プロジェクトで呼び出す有料 API のセットで、これをラップするコミュニティ製 MCP サーバーも複数あります。このサーバーは、Cloud プロジェクトを必要としないホスト型の代替サービスです。

Google Cloud プロジェクトや Maps API キーは必要ですか?

いいえ。必要な認証情報は HasData キーだけです。作成が必要な Google Cloud プロジェクトも、有効化する請求設定も、管理する API ごとのクォータもありません。

placeId と dataId の違いは何ですか?

どちらも、同じ場所に対して Google が使用する2種類の ID です。検索結果には毎回両方が含まれ、詳細、レビュー、写真、投稿の各ツールではどちらも使用できます。検索結果から好きな方を選び、その後も使い続けてください。

最初のページだけでなく、すべてのレビューを取得するにはどうすればよいですか?

各レスポンスから pagination.nextPageToken を読み取り、なくなるまで nextPageToken として渡してください。各ページの取得に1回の呼び出しが必要です。

何かをホストしたり実行したりする必要がありますか?

いいえ。これはストリーミング可能な HTTP 上で動作するリモート MCP サーバーです。インストールするものも、Python 環境も、再起動するプロセスもありません。

データはリアルタイムですか、それともキャッシュされていますか?

リアルタイムです。呼び出しのたびにリクエスト時点でデータを取得し、個別の requestMetadata.id が付与されます。同じ内容の呼び出しを2回行うと、別々にデータを取得し、保存済みのコピーを再生することはありません。

1つのサーバーで複数の Google サービスを利用できますか?

はい。apis パラメーターにはリストを指定でき、?apis=google_maps,google_serp を指定すると、エージェントは Google 検索と合わせて Maps ツールも利用できます。

API キーに有効期限はありますか?

いいえ。キーに有効期限はありません。必要に応じて、ダッシュボードでキーをローテーションしてください。

Google と提携していますか?

いいえ。HasData は独立したサービスであり、Google と提携、推奨、または後援の関係にありません。Google と Google Maps は、それぞれの所有者の商標です。ツールが扱うのは公開データのみです。結果を Google の規約および適用される法律に従って使用する責任は、お客様にあります。

HasData のリンク

製品ページ検索、レビュー、写真、投稿
サーバーのドキュメントMCP サーバーのドキュメント
1つのサーバーで使える全57種類のツールHasData/hasdata-mcp
クライアントの使い方ガイドMCP クライアントとインテグレーション
その他の解析対象その他53種類のスクレイパー API
プランとクレジットの料金プランとクレジットの料金
キーと使用状況HasData ダッシュボード
npm の Node ランチャー@hasdata/google-maps-mcp
PyPI の Python ランチャーhasdata-google-maps-mcp

開発

このリポジトリには、リモートサーバーの設定とドキュメントが含まれています。ビルド手順はなく、コンテナ化するものもありません。

ただし、コントラクトテストは用意されています。README では特定のパラメーターを持つ6つのツールを約束していますが、上流のツール一覧はこのリポジトリにコミットがなくても変更される可能性があり、その場合、このファイルには気付かないうちに誤った情報が残ってしまいます。このテストではその約束を検証し、プッシュのたびに加えて、CI で毎週実行されます。

HASDATA_API_KEY=your_key_here npm test

PowerShell の場合:

$env:HASDATA_API_KEY = "your_key_here"; npm test

最後のチェックでは実際に呼び出しを行い、10クレジットを消費します。正当な理由で失敗する可能性があるカナリアテストの料金です。ツール一覧の取得は空でないキーがあれば成功するため、ツール一覧の取得だけを行うテストは、キーが失効していても成功したままになります。

コントリビューション

ツールの表とレスポンスのサンプルは内容が変わりやすいため、これらの修正が最も役立つコントリビューションです。実行した呼び出しと、そのとき得られたレスポンスを記載してください。フォークからのプルリクエストではキーなしでテストスイートが実行され、ライブチェックは失敗せずにスキップされます。

ライセンス

MIT。LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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