mcpField
A
Agentic House Search

Agentic House Search

リモート
agentic-house-search.vercel.appビジネス・マーケティング16 日前に更新
リポジトリ公式サイト

Agentic House Search について

Agentic House Searchは、英国の地域を郵便番号単位で調査・比較するMCPサーバーです。45件の政府オープンデータをまとめ、結果とともに地理的な対象範囲や比較上の注意点を示します。

主な機能

  1. 0111カテゴリの郵便番号レポート
  2. 02郵便番号の地理情報を検索
  3. 032〜5件の郵便番号を比較
  4. 0445件のデータセットを検索・確認
  5. 05対象範囲と比較上の注意点を表示

活用シーン

  1. 01引っ越し前に地域を調査
  2. 02郵便番号ごとのブロードバンドと交通を比較
  3. 03不動産調査に使うデータセットを検索

MCP 対応

ホスト型のStreamable HTTPまたはローカルのstdioとHTTPを通じて、郵便番号調査とデータセット検索のツールをMCPクライアントに提供します。公開エンドポイントへの接続とローカル実行に対応します。

設定

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

エンドポイントhttps://agentic-house-search.vercel.app/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

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

パッケージ
npmagentic-house-search0.1.3

ツール

5
パラメーター型必須説明
postcodestringはいスペースの有無を問わない英国の郵便番号。例:"SW11 1AA"、"m11ae"
categoriesarrayいいえ取得するセクション。省略すると 11 カテゴリすべてを取得します。必要なものだけを取得すると高速になり、結果も小さくなります。たとえば、家族の安全に関する質問では ["crime","schools"] を指定します。
include_sourcesbooleanいいえ使用した各データセットの提供元とライセンスを追加します(デフォルト false)
response_formatenumいいえ読みやすい 'markdown'、完全な構造化データには 'json'markdown | json

詳細

agentic-house-search

英国の地域調査向け MCP サーバーです。郵便番号を入力すると、その地域について政府のオープンデータが示す情報を返します。人口統計、犯罪、剥奪度、価格、光ファイバー、5G、騒音、交通、施設、学校、開発計画上の制約に加え、その基盤となる45件のデータセットを検索できるレジストリも利用できます。

郵便番号レポートに、エージェント向けの入口を用意したものです。どちらも同じプロバイダーモジュールを実行するため、しきい値や注意事項は一度書けば、両方に反映されます。

接続

インストールもアカウントも API キーも不要です。クライアントでコネクター、カスタム連携、または MCP サーバー URL を求められたら、この URL を貼り付けてください。

https://agentic-house-search.vercel.app/mcp

接続ページには、コピー用ボタン、Cursor と VS Code 用のワンクリックボタン、および各クライアント向けの同じ手順が掲載されています。

Claude Code:

claude mcp add --transport http agentic-house-search https://agentic-house-search.vercel.app/mcp

JSON を編集して接続する場合 — Claude Desktop (claude_desktop_config.json)、プロジェクトの .mcp.json、その他の多くのクライアント:

{
  "mcpServers": {
    "agentic-house-search": {
      "type": "http",
      "url": "https://agentic-house-search.vercel.app/mcp"
    }
  }
}

GET /health ではエンドポイントが稼働しているかどうかを確認できます。「接続に失敗しました」としか報告しないクライアントより便利です。

名前で検索する場合

このサーバーは公式 MCP レジストリに登録されているため、レジストリに対応したクライアントなら URL を渡さなくても追加できます。 agentic-house-search を検索するか、正式名称を使用してください。

io.github.asturksever/agentic-house-search

プログラムから解決する場合は、レジストリ API から登録情報を直接取得できます。ホスト型エンドポイントと npm パッケージの両方のインストール方法が記載されているため、クライアントは対応している方法を選択できます。

curl -s "https://registry.modelcontextprotocol.io/v0/servers?search=agentic-house-search"

登録情報のバージョンはリリースに合わせて更新されるため、クライアントが予期しない動作を報告した場合は、/health と照合することをおすすめします。登録情報が古い場合は、リリース後にレジストリの登録情報が再公開されていないことを意味し、サーバーに問題があるわけではありません。

自分で実行する場合

無料で制限はなく、ホスト型デプロイにも依存しません。Node 20 以降が必要です。

npx -y agentic-house-search              # stdio
npx -y agentic-house-search --http       # streamable HTTP on 127.0.0.1:8848
{
  "mcpServers": {
    "agentic-house-search": {
      "command": "npx",
      "args": ["-y", "agentic-house-search"]
    }
  }
}

ツール

ツール機能
postcode_report1つの郵便番号について11カテゴリの情報を取得します。categories で絞り込むと、応答を小さくできます。
postcode_lookup地理情報のみを取得します。座標、地方自治体、選挙区、国会選挙区、LSOA/MSOA/OA コード、警察管区、剥奪度の順位を、高速な1回の呼び出しで取得します。
postcode_compare選択したカテゴリについて、2~5件の郵便番号を横並びで比較します。比較可能性に関する注意事項も表示します。
postcode_search_datasets45件のデータセットレジストリを、テキストまたはカテゴリで検索します。ページネーションに対応しています。
postcode_get_datasetレジストリの1項目を完全な形で取得します。エンドポイント、API ドキュメント、ライセンス、対象範囲、更新頻度が含まれます。
使用例
"What's SW11 1AA like?"
  → postcode_report(postcode="SW11 1AA")

"Which of these three has the best broadband and transport?"
  → postcode_compare(postcodes=[...], categories=["broadband","transport"])

"Where would I get EPC data for a property?"
  → postcode_search_datasets(query="EPC") → postcode_get_dataset(id="epc")

数値の意味

このサーバーの目的は、すべての数値が実際に何を示しているのかを明確にすることです。 これを要約するエージェントも、その意味を保つ必要があります。

  • 地理的な範囲はデータソースによって異なります。 国勢調査の数値が示すのは LSOA(およそ1,500人が暮らす近隣地域)であり、住所ではありません。犯罪件数が示すのは1 km四方の範囲です。Ofcom のモバイル通信カバレッジが示すのは自治体全体です。Ofcom が公開する最も細かい単位がこれだからです。同じ自治体内にある2つの郵便番号では、モバイル通信の数値は常に同じになります。Ofcom のブロードバンドは郵便番号単位です。
  • 対象となる地域は英国の各構成国で異なり、その範囲は隠さず明示します。 国勢調査の表はイングランドとウェールズが対象です。data.police.uk はスコットランドを対象外としています。Planning Data プラットフォーム、Defra の騒音データ、DfE の学校登録簿はイングランドのみが対象です。これらのカテゴリは、理由と権限委譲先の同等サービスへのリンクを含む out_of_coverage として返されます。ゼロや空の結果として返されることはありません。
  • 剥奪度の順位は、各構成国をまたいで比較できません。 イングランド、ウェールズ、スコットランド、北アイルランドでは、それぞれ異なる数の地域を対象に、独自の指数で地域の順位を付けています。指数と対象地域数は必ず返されます。postcode_compare は、注意書きなしで構成国をまたぐ比較が行われることを防ぎます。
  • 警察のデータは、各警察組織がデータを提出するかどうかに左右されます。 市街地で件数が非常に少ない場合、静かな通りであるというより、データの欠落である可能性が高く、件数が不自然に少ない場合はレポートにその旨が記載されます。
  • unavailable はまだ作成されていないという意味であり、「該当なし」ではありません。現在これに該当するのは Defra の騒音データ抽出で、まだ実行されていないポリゴン結合処理が必要です。

これは調査でも、査定でも、物件売買の事前調査でもありません。

設定

変数デフォルト目的
AHS_BASE_URL公開サイトレジストリとデータパックの抽出データを読み込む場所です。ローカルのチェックアウトを使って開発するには、http://localhost:8000/ を指定します。
AHS_JS_ROOT未設定共有 js/ プロバイダーモジュールの場所です。これはヒントであり、必須ではありません。未設定の場合、サーバーはコンパイル済み出力(公開パッケージ)の隣、次に ./js(バンドルされた関数)の順で確認し、試したディレクトリの一覧を表示して失敗します。どちらも適切でない場合にのみ設定してください。
ALLOWED_ORIGINSなしHTTP モードで使用する、カンマ区切りの Origin 許可リストです。許可リストにない Origin を含むリクエストは、403 で拒否されます。
API_KEYS未設定HTTP モードでのみ使用します。カンマ区切りの key または key:pro を指定します。未設定の場合、すべての呼び出し元は匿名となり、拒否されることはありません。
RATE_LIMIT_ANONYMOUS60/hourHTTP モードでのみ使用します。暴走したエージェントが上流の公正利用枠を使い切らないようにするための、配慮としての利用制限です。
RATE_LIMIT_PRO1000/hourHTTP モードでのみ使用します。

HTTP モードはデフォルトで 127.0.0.1 にバインドされ、ステートレスです。リクエストごとに新しいサーバーを起動するため、セッションアフィニティなしで水平スケーリングできます。

自分で実行する場合は無料で、利用制限もなく、今後もそのままです。 stdio には制限が一切なく、API_KEYS を設定せずに --http を使う場合も公開されています。利用制限は、共有デプロイが基盤となる政府 API に過度な負荷をかけないようにするためのもので、有料プランへ誘導するためではありません。有料プランはありません。境界がどこにあり、どのような条件が満たされれば有料化されるのかについては、COMMERCIAL.md を参照してください。

ホストされたエンドポイント

https://agentic-house-search.vercel.app/mcp は、このリポジトリからビルドされた同じパッケージを、ウェブサイトと同じホスト上でサーバーレス関数(api/mcp.mjs、vercel.json)としてデプロイしたものです。ウェブサイトはビルド時に scripts/stage-site.mjs によって public/ に組み立てられます。設定ファイルではなく URL だけで接続できるように、このエンドポイントを用意しています。認証はありません。認証する対象がないためです。すべてのデータソースは公開オープンデータであり、サーバーはユーザーごとの状態を保持しません。

両方の HTTP ホストは src/http.ts を共有しているため、プロトコルの扱いがホストされたエンドポイントとお使いの --http とで異なることはありません。

デプロイ

このリポジトリがデプロイ対象です。 Vercel は GitHub からビルドします。リポジトリを一度接続すれば、main へのプッシュのたびにエンドポイントが再デプロイされます。CLI の手順も、ソースの別コピーも、実行を忘れないようにするものもありません。ウェブサイトを更新するプッシュと同じプッシュで MCP サーバーも更新され、リバートすれば両方とも元に戻ります。

Vercel の Add New → Project → Import Git Repository で一度だけセットアップします。重要なのは次の 2 点です。

  • プロジェクト名を agentic-house-search にします。 vercel.json にはプロジェクト名以外の設定がすべて含まれています。URL はプロジェクト名から作られます。別の名前にすると、記載されている URL が実際と異なってしまいます。connect.html、server.json、両方の README、index.html を変更するか、ドメインをエイリアスとして割り当ててください。
  • フレームワークのプリセットは「Other」のままにします。 ビルドコマンドと出力先はすでに vercel.json に設定されています。プリセットを選ぶと、それらが上書きされます。

ビルドでは mcp/ 内で npm ci && npm run build が実行され、AHS_JS_ROOT=js によって、バンドルされた関数にプロバイダーモジュールの配置先が伝えられます。.vercelignore によりウェブサイト側のファイルはアップロード対象から除外されます。これらのファイルは Pages が配信し、ここでは / がそちらにリダイレクトされるためです。

npm run smoke:http はローカルで同じエントリーポイントを実行し、プッシュのたびに CI でも実行されます。そのため、デプロイによって問題が起きる場合は、先に Actions で失敗が検出されます。

server.json は公式 MCP レジストリへの登録情報です。これにより、クライアントは URL ではなく名前でこのサーバーを提供できます。リポジトリのルートから、レジストリ独自の CLI(brew install mcp-publisher)で公開してください。

mcp-publisher login github
mcp-publisher publish

先に npm へ公開してください。 レジストリは、公開済みの npm パッケージから mcpName を読み取り、server.json#name と比較することで、指定されたパッケージの所有権を確認します。つまり、検証対象はこのリポジトリの内容ではなく、npm にすでに公開されている内容です。npm に存在しないバージョンを server.json に記載すると失敗します。また、npm では同じバージョンを 2 回受け付けないため、修正するにはバージョンをもう一度上げる必要があります。npm run check:versions は両方のフィールドをローカルで比較し、CI でも実行されます。

開発

npm install
npm run build      # tsc, then copy ../js into dist/js
npm run smoke      # drives the built server over stdio and checks every tool
npm run smoke:http # drives the serverless entrypoint the hosted endpoint uses
npm run inspect    # MCP Inspector

npm run build は、リポジトリの js/ プロバイダーモジュールを dist/js にコピーします。このコピーは意図的なものです。代わりに 11 個のプロバイダーと、それぞれのしきい値やカバレッジゲートを TypeScript で再実装すると、同じ郵便番号についてウェブサイトとサーバーの結果が食い違い始めることになるからです。

evaluation.xml には、モデルがこれらのツールを実際に使えるかどうかをテストするための、検証済みの質問が 10 件含まれています。回答はすべて、固定された地理情報、日付が明示された統計リリース、またはレジストリに基づいており、毎月変動する最新の数値は使っていません。

ライセンスと帰属表示

このサーバーは CC0 です。データは異なります。データは Open Government Licence v3.0 に基づく公共部門情報に加え、郵便番号地理情報に関する OS および Royal Mail の権利、ならびにアメニティに関する OpenStreetMap 貢献者(ODbL)の権利の対象です。すべての応答に帰属表示が含まれています。必ず付けたままにしてください。

コメント

MCP は初めてですか?

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

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