关于 HasData Redfin
HasData Redfin 是面向 MCP 客户端的托管服务,提供 Redfin 房源搜索和完整房产页面数据,适合需要结构化房地产信息的用户。它读取无需登录即可查看的公开页面,并以只读工具返回 JSON。
主要功能
- 01搜索待售、出租和已售房源
- 02按 Redfin 筛选条件查找
- 03读取完整房产页面
- 04以结构化 JSON 返回数据
适用场景
- 01查找指定地区和价格的房源
- 02筛选出租房的宠物或设施条件
- 03查看房产详情、学区与价格历史
MCP 相关
作为托管远程服务,它向 MCP 客户端提供两个只读工具:房源搜索和房产详情查询。还提供提示词与资源。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.hasdata.com/mcp?apis=redfinclaude mcp add --transport http com-hasdata-redfin https://mcp.hasdata.com/mcp?apis=redfin{"mcpServers":{"com-hasdata-redfin":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=redfin"}}}在 Cursor 中打开{"servers":{"com-hasdata-redfin":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=redfin"}}}在 VS Code 中打开{"mcpServers":{"com-hasdata-redfin":{"type":"http","url":"https://mcp.hasdata.com/mcp?apis=redfin"}}}{"mcpServers":{"com-hasdata-redfin":{"serverUrl":"https://mcp.hasdata.com/mcp?apis=redfin"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.hasdata.com/mcp?apis=redfin需要授权工具
2| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| pets | number | 否 | 宠物数量。 |
| neLat | number | 否 | 地图边界框东北角的纬度。提供全部四个边界框坐标后,将在框内搜索房源,而不是按位置搜索。 |
| neLng | number | 否 | 地图边界框东北角的经度。 |
| swLat | number | 否 | 地图边界框西南角的纬度。 |
| swLng | number | 否 | 地图边界框西南角的经度。 |
| adults | number | 否 | 成人数量。 |
| checkIn | string | 是 | 房源的入住日期。 |
| infants | number | 否 | 婴幼儿数量。 |
| checkOut | string | 否 | 房源的退房日期。 |
| children | number | 否 | 子女数量。 |
| location | string | 否 | 用于搜索房源的地点。除非提供完整地图边界框(neLat、neLng、swLat、swLng),否则必填。 |
| nextPageToken | string | 否 | 用于获取下一页结果的令牌。 |
详细介绍
Redfin MCP 服务
这是一个托管的模型上下文协议(MCP)服务,为 Claude、Cursor、Windsurf 及其他任何 MCP 客户端提供两个只读 Redfin 工具。使用 Redfin 向访客展示的筛选条件,搜索待售、出租和已售房源,并以结构化 JSON 格式完整读取一个房产页面,无需 MLS 许可,也无需托管任何内容。
它读取已退出登录的访客可以查看的公开 Redfin 页面。
每月提供 1,000 个免费额度,无需银行卡,按每次调用 10 个额度计算,可调用 Redfin 100 次。
https://mcp.hasdata.com/mcp?apis=redfin
目录
所需条件
一个 MCP 客户端,以及从控制面板获取的 HasData API 密钥。创建账户免费,无需银行卡;免费套餐按每次调用 10 个额度计算,每月约可调用 100 次。这是一个远程服务,因此最简单的接入方式是使用 URL 和 x-api-key 标头,无需运行容器。仅支持 stdio 的客户端可以通过一个轻量启动器访问该服务。启动器已发布到 npm,包名为 @hasdata/redfin-mcp;也已发布到 PyPI,包名为 hasdata-redfin-mcp,如下所示。
快速开始
所有客户端使用的服务器 URL 都相同。我们会在 Claude Code 和 Claude Desktop 中手动运行。其他配置块则遵循各客户端为远程服务文档规定的格式。
| 字段 | 值 |
|---|---|
| URL | https://mcp.hasdata.com/mcp?apis=redfin |
| 传输方式 | HTTP,可流式传输 |
| 身份验证标头 | x-api-key: HASDATA_API_KEY |
支持 OAuth 的客户端可以将相同的 URL 添加为连接器,然后登录,无需在配置文件中填写密钥。
Claude Code
claude mcp add --transport http redfin "https://mcp.hasdata.com/mcp?apis=redfin" \
--header "x-api-key: HASDATA_API_KEY"
Claude Desktop
依次选择“设置”、“连接器”、“添加自定义连接器”,然后粘贴 https://mcp.hasdata.com/mcp?apis=redfin 并登录。
对于通过配置文件连接的方式,Claude Desktop 只会加载本地(stdio)服务,因此需要通过 stdio 启动器连接远程服务。@hasdata/redfin-mcp 软件包就是这个启动器,它会从环境中读取密钥。将以下内容添加到 claude_desktop_config.json:
{
"mcpServers": {
"redfin": {
"command": "npx",
"args": ["-y", "@hasdata/redfin-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
如果使用 Python 而不是 Node,可将启动器替换为 PyPI 软件包,uvx 无需手动安装即可运行它:
{
"mcpServers": {
"redfin": {
"command": "uvx",
"args": ["hasdata-redfin-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
Cursor
对所有项目使用 ~/.cursor/mcp.json,或对单个项目使用 .cursor/mcp.json:
{
"mcpServers": {
"redfin": {
"url": "https://mcp.hasdata.com/mcp?apis=redfin",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json。Windsurf 将此字段称为 serverUrl,而不是 url:
{
"mcpServers": {
"redfin": {
"serverUrl": "https://mcp.hasdata.com/mcp?apis=redfin",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
VS Code
工作区中的 .vscode/mcp.json:
{
"servers": {
"redfin": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=redfin",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
示例提示词
以下每个提示词都会调用一个工具;如果第二个工具需要使用第一个工具返回的 URL,则会依次调用两个工具。
- 查找 78741 中售价低于 $500,000 的三居室待售房屋,并按每平方英尺价格排序。
- 过去三个月奥斯汀有哪些房屋售出?与目前在售的房屋相比如何?
- 获取此 Redfin URL 对应的完整房产页面,并根据描述总结房屋状况。
- 奥斯汀有哪些出租房允许养狗并配有室内洗衣设施?
- 显示奥斯汀独立学区内待售的房屋,且划片小学评分为 8 分或更高。
- 查找此邮政编码中 1970 年以前建成、在 Redfin 上架超过 30 天的待修缮房屋。
提及市场区域的提示词会调用搜索工具。提供 Redfin URL 的提示词会直接调用房产工具。搜索完整街道地址则属于第三种情况,详见下文,因为它返回的是单套房产,而不是列表。
工具
| 工具 | 返回内容 |
|---|---|
hasdata_redfin_listing_getRealEstateListings | 每条房源的信息,包括地址、Redfin URL、挂牌价、卧室/浴室数量、建筑面积、地块面积、建造年份、挂牌天数、状态、坐标、照片、MLS 编号和 HOA;一次调用消耗 10 个积分 |
hasdata_redfin_property_getPropertyDetails | 地址、挂牌价/成交价、价格历史、Redfin 估价、卧室/浴室数量、建筑面积、地块面积、建造年份、房产类型、HOA、挂牌天数、学校评分、税费……一次调用消耗 10 个积分 |
两个工具,每次成功调用消耗 10 个积分。
获取 Redfin 房源信息
hasdata_redfin_listing_getRealEstateListings
返回某个地点的房源列表;如果地点是单个地址,则返回该房产的信息。
必须提供两个参数,其余参数的结构与 Redfin 自带的筛选面板一致。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
keyword | 字符串 | 是 | 邮政编码、城市、社区、学校、学区、公寓楼名称或完整街道地址 |
type | 字符串 | 是 | forSale、forRent 或 sold |
sort | 字符串 | recommended、newest、oldest、priceLowToHigh、priceHighToLow、bedrooms、bathrooms、lotSize、squareFeetPrice 等 | |
page | 数字 | 结果页码,从 1 开始 | |
这些筛选器的名称源自 Redfin 内部使用的嵌套结构,并通过下划线扁平化,因此必须完全按照架构中的写法传入。price_min_ 和 price_max_ 表示价格区间,beds_min_ 和 beds_max_ 表示卧室数量,monthlyPayment_interestRate_ 表示贷款假设。双下划线表示数组。 |
值得了解的参数:
| 参数 | 类型 | 说明 |
|---|---|---|
price_min_ / price_max_ | number | 价格区间 |
beds_min_ / beds_max_ | number | 卧室数量 |
baths | string | 最少浴室数量,取值为 one 到 four,以及 oneAndHalf 和 twoAndHalf |
homeTypes__ | array | house、townhouse、townhome、condo、land、multiFamily、mobile、coOp、apartment、other。适用哪些值取决于 type |
statusOptions__ | array | active、comingSoon、contingentPending |
listingType_category___ | array | byAgent、byOwnerFsbo、newConstruction、foreclosures |
timeOnRedfin | string | 从 newListing 到 moreThan45Days |
soldWithinOption | string | 售出时间范围,从 lastOneWeek 到 lastFiveYear。请参阅下方警告 |
yearBuilt_min_ / yearBuilt_max_ | string | 固定梯度中的年份,范围为 1940 到 2026 |
forSaleSquareFeet_min_ / _max_ | string | 固定梯度中的建筑面积,范围为 750 到 10000 |
lotSize_min_ / lotSize_max_ | string | 按原样填写的 2000 sqft 到 100 acres |
cost_hoa_ | number | HOA 月费上限 |
cost_priceReduced_ | string | 从 inTheLastDay 到 moreThan120Days |
homeFeatures_options___ | array | waterfront、hasAView、fireplace、fixerUpper、guestHouse、elevator、greenHome、accessibleHome 等 |
homeFeatures_poolType_ | string | privatePool、communityPool、privateOrCommunityPool、noPrivatePool |
homeFeatures_keywordSearch_ | string | 在房源描述中搜索自由文本 |
schools_greatSchoolRating_ | number | GreatSchools 评分下限,范围为 1 到 10 |
transportScores_walkScore_ | number | 步行评分下限,范围为 1 到 100 |
rentalAmenities__ | array | inUnitWasherDryer、parkingAllowed、utilitiesIncluded、furnished、pool 等 |
pets__ | array | dogsAllowed、catsAllowed |
moveInDate | string | MM/DD/YYYY |
市场搜索会返回包含 totalResults 的 searchInformation、包含 40 个元素的 properties 数组,以及包含 currentPage、nextPage 和 otherPages 映射的 pagination。待售或已售房源包含 id、mlsId、url、homeType、status、price、beds、baths、area、yearBuilt、daysOnSite、addressRaw、解析后的 address、latitude、longitude、description、atAGlanceFacts 和 photos。
atAGlanceFacts 有两种结构。在搜索结果行中,它是卖点字符串列表;在房源响应中,它是由 factLabel 和 factValue 组成的键值对列表,因此读取其中一种结构的代码在遇到另一种结构时会出错。
{
"id": 31625298,
"mlsId": "2190201772333567097",
"url": "https://www.redfin.com/TX/Austin/1721-Deerfield-Dr-78741/home/31625298",
"homeType": "House",
"status": "FOR_SALE",
"price": 675000,
"beds": 3,
"baths": 2,
"area": 1667,
"yearBuilt": 1963,
"daysOnSite": 0,
"addressRaw": "1721 Deerfield Dr, Austin, TX 78741",
"address": { "street": "1721 Deerfield Dr", "city": "Austin", "state": "TX", "zipcode": "78741" },
"latitude": 30.231372,
"longitude": -97.734893,
"atAGlanceFacts": ["Hill country views", "2020 roof", "Stainless appliances"]
}
出租房源表示一栋建筑,而不是一套住宅,因此 type: forRent 会返回不同的结构。price、beds、baths 和 area 都会变为 { min, max } 对象,表示可出租单元的对应范围;条目还会增加 propertyName、availableUnits、agentEmail 和 agentPhone,同时不再包含 mlsId、homeType、yearBuilt 和 daysOnSite。
{
"id": "31510362",
"propertyName": "The Sonata",
"status": "FOR_RENT",
"availableUnits": 12,
"price": { "min": 745, "max": 1300 },
"beds": { "min": 1, "max": 2 },
"baths": { "min": 1, "max": 2 },
"area": { "min": 474, "max": 976 },
"addressRaw": "1070 Mearns Meadow Blvd, Austin, TX 78758"
}
获取 Redfin 房产详情
hasdata_redfin_property_getPropertyDetails
通过 Redfin URL 获取完整的单套房产页面信息。
| 参数 | 类型 | 必填 | 备注 |
|---|---|---|---|
url | string | 是 | Redfin 房产 URL,即搜索工具返回的 URL |
返回一个 property 对象。除了搜索结果中包含的所有信息外,还会添加 propertyDetails、schools、nearby、agentInfo、viewsActivity、openHouseSchedule、updatedAt、geo 对象,以及完整的 photos 集合;下方示例房产的照片共有 61 张。
propertyDetails 是规格信息区块,分为 parking、interior、exterior、utilities 和 publicFacts。每个分组都是由已标注的区块组成的数组,每个区块又是由 label 和 value 对组成的数组,因此其结构与页面上的呈现方式一致,而不是一个类型化对象。请根据标签查找房产信息,而不要依赖其位置。
schools.assignedSchools 包含对应学区的学校,以及 greatSchoolsRating、parentRating、distanceInMiles 和 servesHome 字段;其中 servesHome 表示该学校是否实际服务此地址。
{
"id": 31625298,
"homeType": "Single Family Residential",
"status": "COMING SOON",
"price": 675000,
"beds": 3,
"baths": 2,
"area": 1667,
"yearBuilt": 1963,
"geo": { "latitude": 30.231372, "longitude": -97.734893 },
"updatedAt": "Sep 9, 2026 4:04 AM",
"viewsActivity": { "views": 98, "favorites": 5 },
"agentInfo": {
"agentName": "Lilly Rockwell",
"agentPhoneNumber": "512-413-1975",
"brokerName": "Compass",
"brokerPhoneNumber": ""
},
"propertyDetails": {
"parking": [{ "parkingInformation": [{ "label": "Has Garage", "value": "yes" }] }],
"utilities": [{ "utilitiesInformation": [{ "label": "Has Air Conditioning", "value": "yes" }] }]
},
"schools": { "assignedSchools": [{ "greatSchoolsRating": 6, "parentRating": 5, "servesHome": true }] }
}
提示词和资源
该服务提供 30 个资源,每个资源对应一个取值为固定列表的参数。读取资源比从被拒绝的调用中了解词汇表更省力,而且不会消耗额度。每个 URI 的格式都是 hasdata://redfin/<parameter>。
| 参数 | 取值数 | 选择内容 |
|---|---|---|
type | 3 | 房源类型。 |
sort | 12 | 搜索结果的排序方式。 |
monthlyPayment_mortgageTerm_ | 6 | 用于计算月供的贷款期限。 |
cost_pricePerSqft__min_ | 16 | 每平方英尺最低价格。 |
cost_pricePerSqft__max_ | 16 | 每平方英尺最高价格。 |
cost_acceptedFinancing_ | 2 | 接受的融资类型。 |
cost_priceReduced_ | 8 | 按降价时间筛选房源。 |
homeTypes__ | 10 | 用于筛选房源的房屋类型数组。允许的取值取决于房源 type。 |
baths | 6 | 最少浴室数量。 |
forSaleSquareFeet_min_ | 20 | 待售房源的最小面积。 |
forSaleSquareFeet_max_ | 20 | 待售房源的最大面积。 |
lotSize_min_ | 16 | 最小地块面积。 |
lotSize_max_ | 16 | 最大地块面积。 |
yearBuilt_min_ | 23 | 房产建成年份下限。 |
yearBuilt_max_ | 23 | 房产建成年份上限。 |
stories_min_ | 8 | 最少楼层数。 |
stories_max_ | 8 | 最多楼层数。 |
listingType_category___ | 4 | 房源类别数组。 |
statusOptions__ | 3 | 房源状态数组。 |
timeOnRedfin | 12 | 房源在 Redfin 上架的时长。 |
soldWithinOption | 8 | 按售出时间筛选已售房源。 |
openHouseAndTour_openHouse_ | 2 | 筛选设有开放日的房源。 |
homeFeatures_options___ | 14 | 用于筛选房源的房屋特征标记数组。 |
homeFeatures_garageSpotsMin_ | 5 | 最少车库车位数。 |
homeFeatures_poolType_ | 4 | 泳池类型。 |
homeFeatures_basement_ | 2 | 地下室类型。 |
rentalAmenities__ | 10 | 用于筛选房源的租赁设施数组。 |
rentalOtherTerms__ | 5 | 其他租赁条款数组。 |
pets__ | 2 | 允许的宠物类型数组。 |
schools_schoolType___ | 3 | 学校类型数组。 |
无需 API 密钥即可获取此列表,因此客户端可以在用户注册之前读取它。
错误和失败路径
请提前考虑这些情况,不要只假设一切顺利。
soldWithinOption 会将已售搜索限定在一个时间范围内,而且只有搭配 type: sold 才有意义。 时间范围会按预期逐层递增,因此对于同一市场,一周范围返回的结果只是全年范围的一小部分。不指定该参数而使用 type: sold 时,搜索范围为 Redfin 默认的最近三个月。已售搜索和在售搜索返回的结果集互不相交,因此同一套房源不会同时出现在两者中。
搜索工具会返回三种不同的结构,具体取决于关键词。 市场关键词的响应包含 searchInformation、properties 和 pagination。完整街道地址或命名建筑的响应包含单个 property 对象,不包含 properties 数组、searchInformation 或 pagination。租房搜索则会返回上文展示的范围型条目。遍历 properties 之前,请先检查它是否存在。
totalResults 报告整个结果集的数量,大型市场的结果可达数千条。 每页包含 40 套房源,pagination.otherPages 会列出其余页面;一个城市可能有数百页。深层页面也能正常返回,因此分页可用,但从头到尾遍历一个市场,每页都需要调用一次。预算比完整性更重要时,请按邮政编码、价格区间或房屋类型筛选。
已售搜索不会将已售价格作为单独字段提供。 price 包含页面针对相应状态显示的价格,因此在售价格和已售价格都会出现在同一字段中。每次都要结合 status 来读取。
房源响应包含搜索结果中没有的历史记录。 priceHistory 和 taxHistory 以事件列表的形式返回;redfinEstimate 包含估值及其背后的可比房源;propertyDetails 则将评估机构风格的信息归入 publicFacts,并列出 parking、interior、exterior、financial 和 utilities。这些信息都不会出现在搜索结果行中,因此要查询历史记录,就必须调用房源接口。
nearby.pointsOfInterest 表示附近地点,而不是可比成交房源。 其中的 categories 来自第三方地点数据集,而且经常出错,例如房屋净值贷款办公室可能被标为酒吧。请参考名称和坐标,不要相信分类。
如果页面包含该版块但没有日期,openHouseSchedule 可能会是一个包含空对象的数组。 请检查数组内容,而不是长度。
brokerPhoneNumber 和其他经纪人字段在无值时会返回空字符串,而不是 null。 请将空字符串视为缺失值。
包含数据的结果也会包含值得在寻求支持时引用的 requestMetadata.id。
定价、免费套餐和限制
每次成功调用 Redfin 工具需 10 个积分。响应大小不会影响价格,因此包含 40 套房源的页面和单套房源的费用相同。
免费套餐每月提供 1,000 个积分,无需银行卡,按基础费率可调用 Redfin 100 次。积分会在计费周期开始时续订,因此低调用量的 Agent 可以一直使用免费套餐。
付费套餐起价为每月 $59,可获得 200,000 个积分,即 20,000 次调用。用量越大,单价越低:入门套餐每 1,000 次调用为 $1.48,Basic 为 $0.60,Growth 各档为 $0.41。最新价格请查看定价页面。
套餐还决定并发数。免费套餐允许同时发送 1 个请求,Startup 为 5 个,Basic 为 15 个,Growth 各档为 50 至 500 个。对于无人值守的任务,遇到 429 时请采用退避策略重试,因为遍历房源列表的 Agent 会比你更早达到上限。
返回非 200 响应的请求不会计费。成功调用但未找到结果,也仍然计为一次调用。
工具选择
从提示词提供的信息入手。市场、邮政编码或学区应使用搜索工具。Redfin URL 则直接使用房产工具。明明已有 URL,却还要花一次搜索调用去找到它,这是最常见的浪费。
然后根据所需深度选择工具。搜索结果足以用于排序、价格筛选和市场概览,而且已包含价格、卧室数、浴室数、面积、建成年份和上线天数。只有房产工具会返回规格信息、划片学校和挂牌经纪人;对于你关注的每套房产,调用一次就值得,而不必对每一行都调用一次。
在服务端筛选。架构与 Redfin 的筛选面板完全一致,因此像“这组邮政编码内,三居室、低于 50 万美元、1970 年之前建成”这样的查询,只需一次调用并传入四个参数,无需先遍历页面再在本地筛选。
比较
Redfin 没有公开 API,因此真正的替代方案是 MLS 或 IDX 数据源。
| MLS 或 IDX 数据源 | 此服务 | |
|---|---|---|
| 使用资格 | 持牌经纪公司或与经纪人的合作关系 | API 密钥 |
| 设置 | 逐个 MLS 申请、签订合同并接受合规审查 | 一个请求头 |
| 覆盖范围 | 每个数据源对应一个 MLS,全国有数百个 | Redfin 发布的所有内容,集中一处 |
| 已售数据 | MLS 允许范围内的完整历史记录 | Redfin 展示的近期时间范围 |
| 租赁房源 | 通常需要单独的数据源,也可能没有 | 使用同一工具,采用范围形式 |
| 再分发 | 受合同限制 | 需自行确认 |
| 费用 | 设置费加上每个 MLS 的月费 | 超出免费额度后付费,每次调用消耗 10 个额度 |
决定性因素是使用资格。MLS 数据源是权威来源,但需要开发者无法购买的许可证,因此不适用于研究、原型开发,以及任何由 Agent 代你完成的工作。如果你是已经接入数据源的经纪公司,那么该数据源更完整、更新也更及时,应当使用它。
常见问题
有官方的 Redfin MCP 服务吗?
Redfin 没有发布官方 MCP 服务,也没有发布公共 API。此服务由 HasData 维护,并读取 Redfin 公开页面。
什么是 Redfin MCP 服务?
MCP 服务会提供 AI 客户端可调用的工具。此服务将 Redfin 搜索结果和房产页面转换为 JSON,供 Agent 推理,无需在技术栈中使用浏览器或抓取库。
我需要 MLS 许可证或 Redfin 账号吗?
不需要。唯一需要的凭据是你的 HasData 密钥。
为什么搜索地址会返回一套房产,而不是列表?
因为 Redfin 会将完整街道地址解析为该房产的页面,而不是结果集。工具会直接传递这一结果,因此响应中包含单个 property 对象,其结构与房产工具返回的结构相同。如果你有地址但没有 URL,这会是一个实用的捷径。
如何获取某个城市的所有挂牌房源?
通过分页获取,每页调用一次。城市会在 totalResults 中报告总数,每次提供 40 条挂牌信息,因此大型市场需要数百次调用,而不是一次遍历。按邮政编码、价格区间或房屋类型缩小市场范围,可以用更少、更精准的查询覆盖相同范围,通常是更好的选择。
我可以按日期筛选已售房源吗?
目前不可靠。type: sold 可以使用,并会返回 Redfin 默认的三个月时间范围,但 soldWithinOption 尚未转换为 Redfin 接受的筛选条件,传入它会返回标记为 SOLD 的在售房源。修复前请不要使用该选项。
支持租赁房源吗?
支持,通过 type: forRent 查询。结果会采用范围形式,而非单套房屋形式,因为租赁房源对应的是包含多个可租单元的建筑。
可以将它与其他 HasData API 一起使用吗?
可以。一个密钥即可调用所有服务,一个端点通过 apis 参数提供所有服务。将客户端指向 ?apis=redfin,zillow,即可在一个连接中获取两套工具;也可以指向 mcp.hasdata.com/mcp 获取完整目录。
HasData 与 Redfin 有关联吗?
没有。HasData 是一项独立服务,与 Redfin 无关联,也未获其认可或赞助。Redfin 是其各自所有者的商标。这些工具仅处理公开可用的数据,您有责任确保使用结果时遵守 Redfin 的条款以及适用于您的法律。
合规与个人数据
房源信息中包含经纪人的联系方式。待售房产会返回包含姓名和直拨电话号码的 agentInfo,出租房源则会返回 agentEmail 和 agentPhone。这些信息属于可识别的个人,且是以专业身份发布的,但这并不意味着它们不受 GDPR 或 CCPA 管辖。针对这些人的营销活动还受到其他法规的约束,而且房地产经纪人经常正是这类活动的目标,因此在建立联系人列表之前,请先确认您需要履行的义务。市场分析完全不需要这些字段。
HasData 链接
- Redfin Scraper API,这些工具背后的 REST 端点
- API 文档
- MCP 服务文档
- 定价
- 控制面板
其他 HasData MCP 服务:Google Search、Google Maps、Google Trends、Google Flights、DuckDuckGo、YouTube、TikTok、Instagram、Amazon、Shopify、Yelp、Zillow、Airbnb、Booking.com、Indeed。
开发
启动器只是连接远程服务的轻量级 stdio 桥接程序,因此无需构建。
npm install
HASDATA_API_KEY=your_key_here npm test
test/ 中的测试用于验证工具契约,也就是无需在此提交代码就可能发生变化的部分。测试会检查 ?apis=redfin 是否返回预期数量的工具、名称是否保持不变、每个工具是否仍声明必需参数并附带说明、此 README 中记录的筛选枚举是否仍与架构提供的一致,以及正在使用的密钥是否确实可用。最后一项检查会实际调用工具,并消耗 10 个积分;这是确保金丝雀能在真正原因导致故障时发出警报所需的成本。
契约测试套件还会按计划每周运行,因为上游工具列表可能在无人修改此仓库的情况下发生变化。
贡献
如果工具表、响应示例或记录的行为与实际情况不符,欢迎提交问题。我们为此准备了专用模板。也欢迎提交相关拉取请求,以及针对启动器的改进。
许可证
MIT,详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。