mcpField
P
pagesdata

pagesdata

ローカル
github.com/CloudCorpRecordsビジネス・マーケティング02 日前に更新

pagesdata について

pagesdataは、HasDataのYellow Pagesサービスにつなぐローカルブリッジで、事業者の検索と掲載情報の取得に使えます。MCPサーバーとCLIから、ディレクトリ情報をJSONで読み取り専用取得できます。

主な機能

  1. 01キーワードと地域で事業者を検索
  2. 02検索結果の並べ替えとページ指定
  3. 03URLから掲載情報の詳細を取得
  4. 04連絡先、営業時間、評価、写真を確認
  5. 05CLIまたはMCPでツールを利用

活用シーン

  1. 01サービスと地域を指定して店舗を検索
  2. 02事業者の評価や口コミ数を比較
  3. 03掲載情報の営業時間と連絡先を確認
  4. 04公開されたサービス内容や写真を確認

MCP 対応

MCPクライアントに読み取り専用のYellow Pagesツールを2種類提供し、呼び出しをHasDataのホスト型MCPサーバーへ転送します。CLIからの実行にも対応します。

設定

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

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

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

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

ツール

2

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

パラメーター型必須説明
urlstringはい店舗の YellowPages URL。

詳細

pagesdata

pagesdata は、ホスト型 HasData Yellow Pages MCP サーバーへの小規模なローカルブリッジです。Yellow Pages のビジネスデータを JSON として返します。場所とキーワードに一致するビジネスを検索したり、 URL から掲載情報を 1 件まるごと取得したりできます。取得できる情報は、ビジネス名、住所、 市区町村、地域、郵便番号、座標、電話番号、 ウェブサイト、営業時間、支払い方法、カテゴリ、評価、 レビュー件数、写真、サービスに関する注記です。また、yellowpages.com の掲載情報でビジネス自身が公開している場合は、メールアドレスと営業年数も取得できます。

このブリッジは独自のディレクトリを保持しません。ライブエンドポイントから取得した内容とまったく同じツール一覧をローカルで返し、各ツール呼び出しを上流に転送して、返ってきた内容をそのまま返します。取得した機能は、ビジネス自身が公開している掲載情報に対する読み取り専用の取得処理が 2 つだけです。書き込み、メッセージ送信、支払いのツールは含まれていません。

ツール

  • hasdata_yellowpages_search_getSearchResults — Yellow Pages でビジネスを検索します。必須: keyword と location。省略可能:sort (default/distance/averageRating/name。 後者のオプションは yellowpages.com に適用)、 domain(www.yellowpages.com または www.yellowpages.ca)、ページネーション用の page。 各ビジネスの名前、掲載 URL、電話番号、 住所、カテゴリ、評価、レビュー件数、営業年数を返します。
  • hasdata_yellowpages_place_getPlaceDetails — 掲載情報を 1 件まるごと取得します。必須:url(YellowPages の 掲載 URL)。名前、住所、市区町村、地域、郵便番号、座標、 電話番号、ウェブサイト、営業時間、支払い方法、 カテゴリ、評価、レビュー件数、写真、 サービスの説明を返します。また、yellowpages.com の掲載情報では、 メールアドレスと営業年数も返します。掲載情報で公開されていないフィールドは、上流で省略されます。

設定

  • HASDATA_YELLOWPAGES_MCP_URL(省略可能)— 上流エンドポイントを上書きします。既定値は https://mcp.hasdata.com/mcp?apis=yellowpages です。(上書き用フックは、この再構築で独自に付与したことを明示した再現機能です。)
  • HASDATA_API_KEY(省略可能)— 設定すると、呼び出し元自身の HasData API キーとして、すべての上流リクエストに x-api-key: <key> ヘッダーが付与されます。設定されていない場合、キーのヘッダーは送信されません。(ヘッダー名と環境変数名は、元のレジストリ記録で確認されています。この環境変数からキーを転送する機能は、再構築で独自に付与したことを明示した再現機能です。元の機能はキーなしで取得されました。)
転送の仕組み

最初のツール呼び出し時に、クライアントは上流とのストリーミング可能な HTTP セッションを開きます。まず JSON-RPC の initialize リクエスト(protocolVersion 2025-03-26、clientInfo の name pagesdata)を送信し、次に notifications/initialized 通知を送信してから、呼び出し元の引数を変更せずに含めた tools/call リクエストを送信します。上流が Mcp-Session-Id ヘッダー付きで initialize に応答した場合、その値は以降のすべてのセッションリクエストに付与されます。セッションはプロセスの存続中、再利用されます。 応答は通常の JSON またはサーバー送信イベントとして届く場合があり、どちらも読み取られます。

上流からの成功結果は、上流が設定した isError フラグも含め、変更せずにそのまま渡されます。 JSON-RPC エラー、2xx 以外のステータス、読み取り不能な応答、完了できないリクエストなどの失敗は、テキストが pagesdata error: で始まる isError 結果として返されます(この表示方法は、この再構築で独自に付与したことを明示した再現機能です)。

CLI

各ツールは、JSON 引数文字列を 1 つ取るサブコマンドとしても実行できます。

npx @reneturcios/pagesdata hasdata_yellowpages_search_getSearchResults '{"keyword":"plumber","location":"Austin, Texas"}'
npx @reneturcios/pagesdata hasdata_yellowpages_place_getPlaceDetails '{"url":"https://www.yellowpages.com/austin-tx/example"}'
npx @reneturcios/pagesdata --version

終了コード:成功時は 0、isError 結果の場合は 1、使用方法に誤りがある場合は 2 です。

MCP サーバー

npx -y @reneturcios/pagesdata mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "pagesdata": {
      "command": "npx",
      "args": ["-y", "@reneturcios/pagesdata", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/pagesdata
docker run --rm ghcr.io/cloudcorprecords/pagesdata --version

コンテナーの既定のコマンドは mcp です。そのため、最初の形式は stdio MCP サーバーとして動作し、それ以外の引数は通常どおり CLI に渡されます。

開発

npm install
npm run build
npm test
npm run dev

テストスイートは、スタブ化された JSON-RPC 上流のみを使って実行されます。ライブネットワークへの呼び出しはありません。

ライセンス

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

コメント

MCP は初めてですか?

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

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