Agentic House Search について
Agentic House Searchは、英国の地域を郵便番号単位で調査・比較するMCPサーバーです。45件の政府オープンデータをまとめ、結果とともに地理的な対象範囲や比較上の注意点を示します。
主な機能
- 0111カテゴリの郵便番号レポート
- 02郵便番号の地理情報を検索
- 032〜5件の郵便番号を比較
- 0445件のデータセットを検索・確認
- 05対象範囲と比較上の注意点を表示
活用シーン
- 01引っ越し前に地域を調査
- 02郵便番号ごとのブロードバンドと交通を比較
- 03不動産調査に使うデータセットを検索
MCP 対応
ホスト型のStreamable HTTPまたはローカルのstdioとHTTPを通じて、郵便番号調査とデータセット検索のツールをMCPクライアントに提供します。公開エンドポイントへの接続とローカル実行に対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://agentic-house-search.vercel.app/mcpclaude mcp add --transport http asturksever-agentic-house-search https://agentic-house-search.vercel.app/mcp{"mcpServers":{"asturksever-agentic-house-search":{"type":"http","url":"https://agentic-house-search.vercel.app/mcp"}}}Cursor で開く{"servers":{"asturksever-agentic-house-search":{"type":"http","url":"https://agentic-house-search.vercel.app/mcp"}}}VS Code で開く{"mcpServers":{"asturksever-agentic-house-search":{"type":"http","url":"https://agentic-house-search.vercel.app/mcp"}}}{"mcpServers":{"asturksever-agentic-house-search":{"serverUrl":"https://agentic-house-search.vercel.app/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
5| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| postcode | string | はい | スペースの有無を問わない英国の郵便番号。例:"SW11 1AA"、"m11ae" |
| categories | array | いいえ | 取得するセクション。省略すると 11 カテゴリすべてを取得します。必要なものだけを取得すると高速になり、結果も小さくなります。たとえば、家族の安全に関する質問では ["crime","schools"] を指定します。 |
| include_sources | boolean | いいえ | 使用した各データセットの提供元とライセンスを追加します(デフォルト false) |
| response_format | enum | いいえ | 読みやすい '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_report | 1つの郵便番号について11カテゴリの情報を取得します。categories で絞り込むと、応答を小さくできます。 |
postcode_lookup | 地理情報のみを取得します。座標、地方自治体、選挙区、国会選挙区、LSOA/MSOA/OA コード、警察管区、剥奪度の順位を、高速な1回の呼び出しで取得します。 |
postcode_compare | 選択したカテゴリについて、2~5件の郵便番号を横並びで比較します。比較可能性に関する注意事項も表示します。 |
postcode_search_datasets | 45件のデータセットレジストリを、テキストまたはカテゴリで検索します。ページネーションに対応しています。 |
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_ANONYMOUS | 60/hour | HTTP モードでのみ使用します。暴走したエージェントが上流の公正利用枠を使い切らないようにするための、配慮としての利用制限です。 |
RATE_LIMIT_PRO | 1000/hour | HTTP モードでのみ使用します。 |
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)の権利の対象です。すべての応答に帰属表示が含まれています。必ず付けたままにしてください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。