原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Agentic House Search

作者:asturksever版本 0.1.3i★ –i电脑或云端
注册名称io.github.asturksever/agentic-house-search

安装

概览

作者提供的说明(英文原文)

UK neighbourhood research from government open data: postcode reports, comparisons, 45 datasets.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

你需要

  • 在云端运行无需安装任何东西,通过互联网连接
  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

适用于网页版、桌面版和手机版 Claude:

  1. 打开 Settings → Connectors
  2. 点击 Add custom connector
  3. 粘贴下面的地址,然后点击 Add
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Add2https://…3
https://agentic-house-search.vercel.app/mcp

或者在你的电脑上运行

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "agentic-house-search": {
      "command": "npx",
      "args": [
        "-y",
        "agentic-house-search"
      ]
    }
  }
}

在终端中运行这条命令

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

或者在你的电脑上运行

claude mcp add agentic-house-search -- npx -y agentic-house-search

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

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

或者在你的电脑上运行

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "agentic-house-search": {
      "command": "npx",
      "args": [
        "-y",
        "agentic-house-search"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

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

或者在你的电脑上运行

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "agentic-house-search": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "agentic-house-search"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

ChatGPT 只能连接互联网上的服务器:

  1. 打开网页版 ChatGPT → Settings → Connectors (Apps)
  2. 点击 Create 或 Add(部分套餐需要先在 Advanced 中开启 Developer mode)
  3. 粘贴下面的地址,起个名字,然后保存
  4. 如果要求登录,请登录作者的服务
SettingsConnectors1+ Create2https://…3
https://agentic-house-search.vercel.app/mcp

菜单名称可能因套餐和版本不同而略有差异。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 asturksever 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    端点有响应

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    使用 OAuth 登录

    尚未检查;我们会轮流检查各个端点

  • … 尚未检查

    工具描述中没有隐藏指令

    尚未检查;我们会在检查端点时读取工具列表

与“法律与政府数据”中的其他服务器比较i

  • 星标数多于此分类中其他 1745 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 1745 个服务器的 22% 更新
  • 基础检查结果等于或优于此分类中其他 1745 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Agentic House Search 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

两种方式都可以:安装在你的电脑上,或者连接云端版本。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.1.3)于3个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。

有什么可以替代它?

同一分类中有:Private Law Wiki, EcuDataMCP, USVI Public Records

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Private Law Wiki

Sourced answers, search and bank-case assessment for wiki.private.law by the Mothership runtime.

作者:privatelawattorneys非常新今天更新

在云端运行

EcuDataMCP

Ecuador's open government data for AI assistants: CKAN, SRI, BCE, INEC, Supercias, SERCOP and more.

作者:DweskZ非常新↓ 37/周今天更新

在你的电脑上运行

USVI Public Records

Search and read U.S. Virgin Islands public records: laws, court records, audits, hearings, reports.

作者:usvipublicrecords.com起步阶段今天更新

在云端运行✓ usvipublicrecords.com

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

agentic-house-search

An MCP server for UK neighbourhood research. Give it a postcode, get back what the government's own open data says about that place — demographics, crime, deprivation, prices, fibre, 5G, noise, transport, amenities, schools and planning constraints — plus a searchable registry of the 45 datasets underneath.

It is the postcode report with an agent-shaped front door. Both run the *same* provider modules, so a threshold or a caveat is written once and shows up in both.

Connect

Nothing to install, no account, no API key. Paste this URL wherever your client asks for a connector, custom integration or MCP server URL:

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

The connect page has a copy button, one-click buttons for Cursor and VS Code, and the same instructions per client.

Claude Code:

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

Anything that connects by editing JSON — Claude Desktop (claude_desktop_config.json), a project .mcp.json, and most others:

{

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

GET /health says whether the endpoint is up, which is more useful than a client that only reports "connection failed".

Or find it by name

This server is listed in the official MCP registry, so a client with registry support can add it without being given a URL at all. Search for agentic-house-search, or use the canonical name:

io.github.asturksever/agentic-house-search

Anything resolving it programmatically can read the entry straight from the registry API — it carries both install paths, the hosted endpoint and the npm package, so a client can pick whichever it supports:

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

The listing's version tracks releases, so it is worth checking it against /health if a client reports something unexpected — a stale listing means the registry entry was not republished after a release, not that the server is wrong.

Or run it yourself

Free, ungated and with no dependency on the hosted deployment. Requires 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"] } } }

Tools

ToolWhat it does
postcode_reportEleven categories for one postcode. Filter with categories to keep responses small.
postcode_lookupGeography only — coordinates, local authority, ward, constituency, LSOA/MSOA/OA codes, police force, deprivation rank. One fast call.
postcode_compareTwo to five postcodes side by side on chosen categories, with comparability caveats.
postcode_search_datasetsSearch the 45-dataset registry by text or category, paginated.
postcode_get_datasetOne registry entry in full: endpoint, API docs, licence, coverage, cadence.
Examples
"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")

What the numbers mean

The point of this server is that every figure states what it actually describes. Agents summarising it should carry that through:

  • Geography varies by source. A census figure describes an LSOA — a neighbourhood of roughly 1,500 people, not an address. A crime count describes a 1 km square. Ofcom mobile coverage describes an entire local authority, because that is the finest grain Ofcom publishes; two postcodes in the same authority will always show identical mobile figures. Ofcom broadband is per postcode.
  • Coverage varies by UK nation, and is stated rather than hidden. Census tables are England & Wales; data.police.uk excludes Scotland; the Planning Data platform, Defra noise and the DfE school register are England-only. Those categories come back as out_of_coverage with the reason and a link to the devolved equivalent — never as a zero or an empty result.
  • Deprivation ranks are not comparable across nations. England, Wales, Scotland and Northern Ireland each rank their own areas against their own index over a different number of areas. The index and its size are always returned; postcode_compare refuses to let a cross-nation comparison pass without a caveat.
  • Police data depends on each force submitting. A very low count in a built-up area is more likely a gap than a quiet street, and the report says so when the count is implausibly low.
  • `unavailable` means not built yet, not "none" — currently the Defra noise extract, which needs a polygon join that has not been run.

This is not a survey, a valuation or a conveyancing search.

Configuration

VariableDefaultPurpose
AHS_BASE_URLthe published siteWhere to read the registry and pack extracts. Point it at http://localhost:8000/ to develop against a local checkout.
AHS_JS_ROOTunsetWhere the shared js/ provider modules live. A hint, not a requirement: with it unset the server checks next to the compiled output (the published package) and then ./js (a bundled function), and fails with the list of directories it tried. Only set it when neither is right.
ALLOWED_ORIGINSnoneComma-separated Origin allowlist for HTTP mode. Requests carrying any other Origin are rejected with 403.
API_KEYSunsetHTTP mode only. Comma-separated key or key:pro. Unset means every caller is anonymous and nothing is rejected.
RATE_LIMIT_ANONYMOUS60/hourHTTP mode only. A courtesy limit so one runaway agent cannot burn the upstream fair-use budgets.
RATE_LIMIT_PRO1000/hourHTTP mode only.

HTTP mode binds to 127.0.0.1 by default and is stateless: a fresh server per request, so it scales horizontally with no session affinity.

Running it yourself is free and ungated, and stays that way. stdio has no limits at all, and --http with no API_KEYS set is open. The rate limiting exists so that a *shared* deployment is a good neighbour to the government APIs underneath, not to nudge you toward a paid tier. There isn't one. See COMMERCIAL.md for where that boundary sits and what would have to be true before any of it were sold.

The hosted endpoint

https://agentic-house-search.vercel.app/mcp is this same package, built from this repository, deployed as a serverless function (api/mcp.mjs, vercel.json) on the same host as the website, which scripts/stage-site.mjs assembles into public/ at build time. It exists so that connecting takes a URL rather than a config file. It is unauthenticated because there is nothing to authenticate: every source is public open data and the server holds no per-user state.

Both HTTP hosts share src/http.ts, so the hosted endpoint and your own --http cannot drift apart in how they speak the protocol.

Deploying it

This repository is the deployment. Vercel builds from GitHub: connect the repo once, and every push to main redeploys the endpoint. There is no CLI step, no separate copy of the source and nothing to remember to run — the same push that updates the website updates the MCP server, and a revert reverts both.

Setup is once, in Vercel's *Add New → Project → Import Git Repository*. Two things matter:

  • Name the project `agentic-house-search`. vercel.json carries every other setting, but not the project name, and the project name is what the URL is made of. Any other name and the documented URL is a lie — change it in connect.html, server.json, both READMEs and index.html, or alias a domain onto it.
  • Leave the framework preset on "Other." The build command and output are already in vercel.json; a preset would override them.

The build runs npm ci && npm run build in mcp/, and AHS_JS_ROOT=js tells the bundled function where the provider modules landed. .vercelignore keeps the website's own files out of the upload, since Pages serves those and / here redirects there.

npm run smoke:http drives the same entrypoint locally and runs in CI on every push, so a deployment that would break should go red in Actions first.

server.json is the entry for the official MCP registry, which is how a client can offer this server by name rather than by URL. Publish it with the registry's own CLI (brew install mcp-publisher), from the repository root:

mcp-publisher login github

mcp-publisher publish

Publish to npm first. The registry proves you own the package you point it at by reading mcpName out of the *published* npm package and comparing it with server.json#name — so it validates what npm already has, not what is in this repo. A version listed in server.json that npm has never seen fails, and because npm will not accept the same version twice, the fix is another bump. npm run check:versions compares both fields locally and runs in CI.

Development

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 copies the repo's js/ provider modules into dist/js. That copy is deliberate: the alternative is reimplementing eleven providers, their thresholds and their coverage gates in TypeScript, which is exactly how the website and the server would start disagreeing about the same postcode.

evaluation.xml holds ten verified questions for testing whether a model can actually use these tools. Every answer comes from fixed geography, a dated statistical release or the registry — never a live figure that moves monthly.

Licence and attribution

This server is CC0. The data is not: it is public sector information under the Open Government Licence v3.0, plus OS and Royal Mail rights in the postcode geography, and OpenStreetMap contributors (ODbL) for amenities. Every response carries the attribution — please keep it attached.

问 PopNx