HasData Yellow Pages について
HasData Yellow Pagesは、地域の事業者調査や営業リスト作成向けのホスト型MCPサーバーです。キーワードと場所で事業者を検索し、米国・カナダのYellow Pages公開ページから詳細を構造化JSONで返します。
主な機能
- 01キーワードと場所で事業者を検索
- 02距離、評価、名前で並べ替え
- 03電話番号、住所、営業時間の取得
- 04サービス、ブランド、支払方法の確認
- 05掲載情報と写真の取得
活用シーン
- 01地域別の営業候補リスト作成
- 02地域事業者の評価比較
- 03事業者のサービスやブランドの確認
- 04電話番号と営業時間の収集
MCP 対応
ホスト型リモートサーバーとして、読み取り専用のYellow Pages検索・掲載詳細ツールと、並べ替えやドメイン設定用のリソースをMCPクライアントに提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.hasdata.com/mcp?apis=yellowpagesclaude mcp add --transport http com-hasdata-yellowpages https://mcp.hasdata.com/mcp?apis=yellowpages{"mcpServers":{"com-hasdata-yellowpages":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=yellowpages"}}}Cursor で開く{"servers":{"com-hasdata-yellowpages":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=yellowpages"}}}VS Code で開く{"mcpServers":{"com-hasdata-yellowpages":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=yellowpages"}}}{"mcpServers":{"com-hasdata-yellowpages":{"serverUrl":"https://mcp.hasdata.com/mcp?apis=yellowpages"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.hasdata.com/mcp?apis=yellowpages認証が必要ツール
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 | いいえ | 次のページの結果を取得するためのトークン。 |
詳細
Yellow Pages MCP サーバー
Claude、Cursor、Windsurf、その他のMCP クライアントで利用できる、ホスト型のModel Context Protocol(MCP)サーバーです。読み取り専用のYellow Pagesツールを2つ提供します。キーワードと場所で地域のビジネスを検索し、電話番号、営業時間、サービス、写真を含む1件の掲載情報を、どちらも構造化JSONで詳しく読み取れます。ホストするものはありません。
yellowpages.comおよびyellowpages.caで、サインアウトした訪問者が閲覧できる公開Yellow Pages掲載情報を読み取ります。
毎月1,000クレジットが無料で、カード登録も不要です。これは10クレジットのレートで、Yellow Pagesへのリクエスト100回分に相当します。
https://mcp.hasdata.com/mcp?apis=yellowpages
目次
必要なもの
MCP クライアントと、ダッシュボードで取得するHasData APIキーが必要です。カード登録なしで無料で作成でき、無料枠では10クレジットのレートで月に約100回リクエストできます。これはリモートサーバーなので、最も簡単な方法はURLとx-api-keyヘッダーを使うことで、コンテナを実行する必要はありません。stdioのみを扱うクライアントからは、npmで@hasdata/yellowpages-mcp、PyPIでhasdata-yellowpages-mcpとして公開されている軽量ランチャーを介して接続できます。詳細は以下をご覧ください。
クイックスタート
サーバー URL はどのクライアントでも同じです。Claude Code と Claude Desktop では、実際に動作させる手順を紹介します。その他のブロックは、リモートサーバーについて各クライアントのドキュメントに記載された形式に従います。
| 項目 | 値 |
|---|---|
| URL | https://mcp.hasdata.com/mcp?apis=yellowpages |
| トランスポート | HTTP、ストリーム可能 |
| 認証ヘッダー | x-api-key: HASDATA_API_KEY |
OAuth に対応したクライアントでは、同じ URL をコネクターとして追加してサインインすれば、設定ファイルにキーを記述する必要はありません。
Claude Code
claude mcp add --transport http yellowpages "https://mcp.hasdata.com/mcp?apis=yellowpages" \
--header "x-api-key: HASDATA_API_KEY"
Claude Desktop
「設定」から「コネクター」、「カスタムコネクターを追加」の順に選択し、https://mcp.hasdata.com/mcp?apis=yellowpages を貼り付けてサインインします。
設定ファイルを使う場合、Claude Desktop が読み込めるのはローカル(stdio)サーバーのみのため、stdio ランチャーを介してリモートサーバーに接続します。@hasdata/yellowpages-mcp パッケージがそのランチャーで、キーを環境変数から読み込みます。次の内容を claude_desktop_config.json に追加します。
{
"mcpServers": {
"yellowpages": {
"command": "npx",
"args": ["-y", "@hasdata/yellowpages-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Node の代わりに Python を使う場合は、手動でインストールしなくても uvx で実行できる PyPI パッケージにランチャーを差し替えます。
{
"mcpServers": {
"yellowpages": {
"command": "uvx",
"args": ["hasdata-yellowpages-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Cursor
すべてのプロジェクトで使う場合は ~/.cursor/mcp.json、1 つのプロジェクトで使う場合は .cursor/mcp.json を使用します。
{
"mcpServers": {
"yellowpages": {
"url": "https://mcp.hasdata.com/mcp?apis=yellowpages",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json を使用します。Windsurf では url ではなく、フィールド名に serverUrl を使います。
{
"mcpServers": {
"yellowpages": {
"serverUrl": "https://mcp.hasdata.com/mcp?apis=yellowpages",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
VS Code
ワークスペース内の .vscode/mcp.json を使用します。
{
"servers": {
"yellowpages": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=yellowpages",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
プロンプトの例
以下の各例は 1 つのツールで処理されます。2 つ目のツールが最初のツールの返す URL を必要とする場合は、順に 2 つのツールで処理されます。
- テキサス州オースティンの配管業者を探し、評価とレビュー件数を比較して順位付けしてください。
- この郵便番号の HVAC 業者をすべて、電話番号と営業時間とともに一覧表示してください。
- これらの事業者のうち、営業年数が 20 年を超えているのはどれですか?
- この Yellow Pages の掲載情報を読み、対応しているブランドを教えてください。
- オースティンの屋根工事業者の 2 ページ目と 3 ページ目を取得し、1 つのリストにまとめてください。
- この市の歯科医を、関連度ではなく平均評価で並べ替えてください。
ニッチな業種と都市を指定するプロンプトは検索ツールに送られます。サービス、ブランド、支払い方法を読み取るには事業者ごとに 2 回目の呼び出しが必要になるため、見込み顧客リストの作成には検索ツールを、情報の充実化には place ツールを使います。
ツール
| ツール | 返される内容 |
|---|---|
hasdata_yellowpages_place_getPlaceDetails | 単一の YellowPages 事業者掲載 URL をスクレイピングし、事業者名、完全な住所、電話番号、ウェブサイト、カテゴリー、営業年数、営業時間、評価などを返します。1 回の呼び出しにつき 10 クレジット |
hasdata_yellowpages_search_getSearchResults | 各事業者の名前、掲載 URL、電話番号、住所、カテゴリー、評価、レビュー件数、営業年数を返します。1 回の呼び出しにつき 10 クレジット |
ツールは 2 つで、成功した呼び出し 1 回につき 10 クレジットです。
Yellow Pages の検索結果を取得
hasdata_yellowpages_search_getSearchResults
場所を指定してキーワードを検索した場合の事業者一覧です。1ページあたり30件です。
| パラメーター | 型 | 必須 | 備考 |
|---|---|---|---|
keyword | string | はい | 検索する内容。例:plumber |
location | string | はい | 検索する場所。例:Austin, TX |
sort | string | default、distance、averageRating、name のいずれか | |
domain | string | www.yellowpages.com または www.yellowpages.ca | |
page | number | 結果のページ番号。1から始まります |
検索クエリがそのまま返される searchInformation と totalResults、organicResults 配列、そして currentPage、totalPages、perPage、nextPageUrl、otherPageUrls を含む pagination が返されます。
Yellow Pages では各事業者が掲載料を支払った項目や入力した項目が異なるため、結果のほとんどのフィールドは省略可能です。サンプルの30件では、title、phone、url、categories、country、position はすべての結果に含まれ、address は22件、rating と reviews は11件、contactUs は5件に含まれていました。決まった形式を前提とせず、各項目の有無を確認してください。
{
"position": 2,
"title": "Clarke Kent Plumbing",
"url": "https://www.yellowpages.com/austin-tx/mip/clarke-kent-plumbing-10674347?lid=1002194068759",
"phone": "(512) 766-0970",
"address": "1408 W Ben White Blvd",
"city": "Austin",
"region": "TX",
"zipcode": "78704",
"country": "US",
"website": "http://www.clarkekentplumbing.com",
"directions": "https://www.yellowpages.com/listings/1002194068759/directions",
"categories": ["Plumbers", "Plumbing-Drain & Sewer Cleaning"],
"rating": 2.87,
"reviews": 15,
"workingHours": ["Mo-Fr 09:00-17:00"],
"openState": "open now",
"badges": ["40 Years in Business", "1 Year with Yellow Pages"]
}
Yellow Pages の場所の詳細を取得
hasdata_yellowpages_place_getPlaceDetails
Yellow Pages の URL を指定して、1件の掲載情報をすべて取得します。
| パラメーター | 型 | 必須 | 備考 |
|---|---|---|---|
url | string | はい | 検索ツールが返す掲載情報の URL |
単一のフラットなオブジェクトではなく、4つのブロックが返されます。
overview には名前、場所、電話番号、営業時間、バッジ、ウェブサイトが再掲され、さらに paymentAccepted と、掲載情報が Yellow Pages の分類体系のどこに位置するかを示す breadcrumbs 配列が追加されます。ratings には星評価が含まれます。details には事業者が作成した詳細な説明が含まれます。images は写真 URL の配列です。
情報を補完するうえで価値があるのは details ブロックですが、配列ではなく、カンマで連結されたテキストとして返されます。generalInfo は事業者の説明、servicesProducts はサービス一覧、brands は取り扱いブランド、paymentMethod は支払い方法、categories はカテゴリー全体を1つの文字列で表したものです。
{
"overview": {
"title": "ARS Rescue Rooter",
"phone": "(833) 947-9225",
"city": "Austin",
"region": "TX",
"zipcode": "78754",
"workingHours": ["Mo-Su"],
"openState": "Open 24 hours",
"paymentAccepted": "visa, amex, master card",
"badges": ["1 Year with Yellow Pages"],
"breadcrumbs": ["TX", "Austin", "Building Contractors", "Plumbers"]
},
"ratings": { "rating": 3.5 },
"details": {
"generalInfo": "ARS/Rescue Rooter has a proven track record of providing reliable, long-lasting repair services...",
"servicesProducts": "Air Conditioner Repair and Replacement, Air Duct Repair and Replacement, Air Filter Installation...",
"brands": "Goodman, Mitsubishi, Bosch, Diakin, Bradford White, April Aire Indoor Air Quality",
"paymentMethod": "visa, amex, master card"
},
"images": ["https://i4.ypcdn.com/blob/ce73451958465ab47dd7be41922973a98bc847af_640.jpg"]
}
プロンプトとリソース
サーバーは、受け付ける値が固定リストになっている2つのパラメーターについて、それぞれ1つずつ、計2つのリソースを公開しています。エラーになる呼び出しから値を学ぶより、リソースを読み取るほうが効率的で、クレジットも消費しません。URI はそれぞれ hasdata://yellowpages/<parameter> です。
| パラメーター | 値 | 選択する内容 |
|---|---|---|
sort | 4 | 検索結果の並べ替え方法です。 |
domain | 2 | 使用する YellowPages のドメインです。デフォルトは www.yellowpages.com です。 |
このリストは API キーなしで提供されるため、クライアントはユーザーが登録する前に読み取ることができます。
エラーと失敗パス
成功する場合だけを想定せず、これらのケースも考慮してください。
レビュー数を確認する場合は、店舗詳細ではなく検索結果を参照してください。 検索ツールでは、rating と reviews は名前どおりの値(2.87 や 15 など)です。店舗ツールでは、確認したすべての掲載情報で ratings.reviews が ratings.rating と同じ値になっているため、レビュー数は取得できません。検索結果から数値を取得し、そこから情報を補完してください。
店舗レスポンスに ratings がまったく含まれない場合があります。 取得した4件のうち1件には、空のブロックではなく、ブロック自体がありませんでした。
details のフィールドはカンマで連結された文字列で、categories の型はツールによって異なります。 検索結果では categories は配列です。details では単一の文字列です。リストが必要な場合はカンマで分割してください。ただし、カテゴリ名自体にカンマが含まれる場合もあります。
website が Yellow Pages に戻るリンクになっている場合があります。 いくつかの掲載情報では、店舗独自のサイトが入ると思われるフィールドに、yellowpages.com のトラッキング URL が含まれています。リンクをたどったり保存したりする前に、ホストを確認してください。
営業年数はフィールドではなくバッジです。 badges には、「40 Years in Business」のような営業年数と、「11 Years with Yellow Pages」のような Yellow Pages の有料利用年数という、2種類の情報が混在しています。最初の数字ではなく、文言を確認してください。
番地が必ずあるとは限りません。 30件中22件の結果では address に通りの住所が含まれており、city、region、zipcode はそれぞれ別のフィールドとして併記されています。取得できた情報を組み合わせて住所を作成してください。
openState は呼び出し時点の状態です。 リクエストが実行された時点での closed や Open 24 hours を示すため、店舗の属性ではなくスナップショットです。長期的に使えるフィールドは workingHours です。
ページングは URL で行い、クエリの実行が長引く場合があります。 ある都市とキーワードの組み合わせでは、pagination.totalPages が17に達し、1ページあたり30件でした。コストはページ数に応じて増えるため、すべてのページを取得する前にキーワードを絞り込んでください。
データを含む結果には、サポートへの問い合わせ時に伝えると役立つ requestMetadata.id も含まれています。
料金、無料枠、制限
Yellow Pages の各ツールは、呼び出し1回の成功につき10クレジットかかります。レスポンスのサイズによって料金は変わらないため、30件の事業者を含むページも、1件の掲載情報の詳細も同じ料金です。
無料枠はカード不要で毎月1,000クレジット、基本料金では Yellow Pages を100回呼び出せます。請求サイクルに合わせて更新されるため、呼び出し頻度の低いエージェントであれば、無料枠を継続して利用できます。
有料プランは、200,000クレジット(20,000回の呼び出し)で月額59ドルからです。利用量が増えるほど単価が下がり、エントリープランでは呼び出し1,000回あたり2.95ドル、Basic では1.19ドル、Growth の各プランでは0.83ドルです。最新の料金は料金ページで確認できます。
同時実行数もプランによって異なります。無料枠では一度に1リクエスト、Startup では5、Basic では15、Growth の各プランでは50~500です。無人実行する処理では、429 が返された場合にバックオフして再試行してください。事業者のページを補完するエージェントは、あなたより先に上限に達するためです。
200以外のステータスコードで返されたリクエストには課金されません。結果が0件でも、成功した呼び出しとして課金されます。
ツールの選び方
まず、プロンプトに含まれる情報を確認してください。ニッチな業種と都市が指定されている場合は検索ツールを使い、Yellow Pages の URL が指定されている場合は、そのまま店舗ツールを使います。
次に、追加情報の必要性を検討してください。検索結果には、名前、電話番号、住所、カテゴリ、営業時間、バッジが含まれます。また、Yellow Pages に表示されている場合は評価とレビュー数も含まれます。これらの情報があれば、見込み顧客リストの作成、対応範囲の集計、評価の比較を1回の呼び出しで行えます。店舗ツールでは、説明、サービス一覧、ブランド、写真を取得できますが、事業者ごとに1回の呼び出しが必要です。そのため、30件の事業者の情報を補完すると300クレジットかかりますが、ページの取得にかかるのは10クレジットです。
並び順に関する質問では、サーバー側で並べ替えてください。sort: averageRating は1つのパラメーターで指定できますが、複数のページを取得してローカルで並べ替えると、呼び出し回数も複数回になります。
比較
Yellow Pages には公開 API がないため、現実的な代替手段は主要なローカルデータ API 2 つです。
| Google Places API | Yelp Fusion API | このサーバー | |
|---|---|---|---|
| 利用条件 | 請求先が設定された Google Cloud プロジェクト | 承認済みの開発者アプリ | API キー |
| サービスとブランド | 返されません | 返されません | details ブロック |
| 支払い方法 | 返されません | 属性として一部返されます | 記載どおり |
| 営業年数 | 返されません | 返されません | badges 内 |
| 写真 | 別途請求される呼び出しで取得 | 含まれます | URL の配列 |
| カナダ | 対応 | 対応 | yellowpages.ca |
| カバレッジ | 最も広範 | 消費者向けが中心 | 職人・サービス業 |
決め手となるのは、掲載情報に事業者自身が何を記載しているかです。Google と Yelp が返すのは構造化されたレコードですが、Yellow Pages が返すのは、事業者が自社のサービス、ブランド、支払い条件について書いた文章です。これこそが、職人向けの見込み客リスト作成に役立つ情報です。カバレッジ、営業時間の正確さ、消費者向けカテゴリについては、Google Places のほうが優れています。
よくある質問
Yellow Pages の公式 MCP サーバーはありますか?
Yellow Pages は公式サーバーを公開しておらず、公開 API も提供していません。このサーバーは HasData が保守しており、公開されている Yellow Pages の掲載情報を読み取ります。
Yellow Pages MCP サーバーとは何ですか?
MCP サーバーは、AI クライアントが呼び出せるツールを公開します。このサーバーは、Yellow Pages の検索結果と掲載情報を、ブラウザーやスクレイピングライブラリをスタックに追加することなく、エージェントが推論に使用できる JSON に変換します。
Yellow Pages のアカウントは必要ですか?
いいえ。必要な認証情報は HasData キーだけです。
どの国に対応していますか?
米国は www.yellowpages.com、カナダは www.yellowpages.ca に対応しています。domain を指定して切り替えてください。
結果によってフィールドが欠けているのはなぜですか?
各事業者が入力した情報や、有料で追加した情報だけが Yellow Pages に表示されるためです。サンプルでは、30 件中 11 件に評価が、22 件に住所が含まれていました。名前、電話番号、URL、カテゴリ以外はすべて任意項目として扱ってください。
レビュー件数はどこで取得できますか?
検索結果で取得できます。reviews は件数です。場所ツールの ratings.reviews は評価を反映したもので、レビュー件数ではないため、その情報を取得するフィールドではありません。
他の HasData API と組み合わせて使えますか?
はい。1 つのキーですべてを利用でき、apis パラメーターを使って 1 つのエンドポイントからすべて提供されます。?apis=yellowpages,google_maps をクライアントに指定すると、1 つの接続で両方のツールセットを取得できます。すべてのカタログを利用する場合は、mcp.hasdata.com/mcp を指定してください。
HasData は Yellow Pages と提携していますか?
いいえ。HasData は独立したサービスであり、Thryv または Yellow Pages ブランドと提携、推奨、後援関係にありません。Yellow Pages はそれぞれの所有者の商標です。ツールが扱うのは公開データのみです。結果をサイトの利用規約および適用される法律に従って使用する責任は、利用者にあります。
コンプライアンスと個人データ
これらの掲載情報は事業者の記録であり、用途としてすぐに思い浮かぶのは見込み客リストです。注意が必要なのはこの点です。収集した電話番号への発信やテキストメッセージの送信には、番号の収集とは別の規制が適用されます。米国では TCPA がこれらの番号への通話とテキストメッセージを規制しており、複数の点で事業者への連絡も対象となります。また、FTC のテレマーケティング規則も適用されます。個人事業主の掲載情報には、本人の氏名や携帯電話番号が含まれる場合もあり、事業者の記録であると同時に個人データにもなります。リストの収集は簡単ですが、営業活動を始める前に、その情報をどのように利用できるか確認してください。
HasData のリンク
- Yellow Pages Scraper API。これらのツールの背後にある REST エンドポイントです
- API ドキュメント
- MCP サーバーのドキュメント
- 料金
- ダッシュボード
その他の HasData MCP サーバー:Google Maps、Yelp、Google Search、Google Trends、Google Flights、DuckDuckGo、YouTube、TikTok、Instagram、Amazon、Walmart、Shopify、Zillow、Redfin、Airbnb、Booking.com、Indeed、Glassdoor。
開発
ランチャーはリモートサーバーへの薄い stdio ブリッジなので、ビルドするものはありません。
npm install
HASDATA_API_KEY=your_key_here npm test
test/ のテストでは、ここでコミットしなくても壊れる可能性のあるツールの契約を検証します。?apis=yellowpages が期待どおりのツール数を返すこと、名前が変更されていないこと、すべてのツールに必須パラメーターが宣言され説明が付いていること、sort が引き続き4種類の並び順を提供すること、そして使用中のキーが実際に受け付けられることを確認します。最後のチェックでは実際にツールを呼び出すため、10クレジットかかります。これは、適切な理由で失敗する可能性のあるカナリアテストの代償です。
あるテストでは、ライブ検索の結果のうちレビュー件数があるものに、実際のレビュー件数が引き続き含まれることを検証します。README では、その件数が場所ツールでは取得できないため、読者を検索ツールに案内しています。この案内が有効なのは、そのフィールドが存在する間だけです。
上流のツール一覧は、このリポジトリに誰も手を加えなくても変更される可能性があるため、契約テスト一式は週次スケジュールでも実行されます。
貢献
実態と一致しないツール一覧表、レスポンスのサンプル、または説明されている動作があれば、ぜひ Issue を作成してください。そのためのテンプレートがあります。同様の内容や、ランチャーに関する Pull Request も歓迎します。
ライセンス
MIT。詳細はLICENSEを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。