Skip to main content
Glama
README.md16.3 kB
# Zoopla MCP Server [English](./README_EN.md) | 简体中文 | [繁體中文](./README_ZH-TW.md) 用于访问 Zoopla API 的 MCP 服务器。 ## 🚀 使用 EMCP 平台快速体验 **[EMCP](https://sit-emcp.kaleido.guru)** 是一个强大的 MCP 服务器管理平台,让您无需手动配置即可快速使用各种 MCP 服务器! ### 快速开始: 1. 🌐 访问 **[EMCP 平台](https://sit-emcp.kaleido.guru)** 2. 📝 注册并登录账号 3. 🎯 进入 **MCP 广场**,浏览所有可用的 MCP 服务器 4. 🔍 搜索或找到本服务器(`bach-zoopla`) 5. 🎉 点击 **"安装 MCP"** 按钮 6. ✅ 完成!即可在您的应用中使用 ### EMCP 平台优势: - ✨ **零配置**:无需手动编辑配置文件 - 🎨 **可视化管理**:图形界面轻松管理所有 MCP 服务器 - 🔐 **安全可靠**:统一管理 API 密钥和认证信息 - 🚀 **一键安装**:MCP 广场提供丰富的服务器选择 - 📊 **使用统计**:实时查看服务调用情况 立即访问 **[EMCP 平台](https://sit-emcp.kaleido.guru)** 开始您的 MCP 之旅! --- ## 简介 这是一个 MCP 服务器,用于访问 Zoopla API。 - **PyPI 包名**: `bach-zoopla` - **版本**: 1.0.0 - **传输协议**: stdio ## 安装 ### 从 PyPI 安装: ```bash pip install bach-zoopla ``` ### 从源码安装: ```bash pip install -e . ``` ## 运行 ### 方式 1: 使用 uvx(推荐,无需安装) ```bash # 运行(uvx 会自动安装并运行) uvx --from bach-zoopla bach_zoopla # 或指定版本 uvx --from bach-zoopla@latest bach_zoopla ``` ### 方式 2: 直接运行(开发模式) ```bash python server.py ``` ### 方式 3: 安装后作为命令运行 ```bash # 安装 pip install bach-zoopla # 运行(命令名使用下划线) bach_zoopla ``` ## 配置 ### API 认证 此 API 需要认证。请设置环境变量: ```bash export API_KEY="your_api_key_here" ``` ### 环境变量 | 变量名 | 说明 | 必需 | |--------|------|------| | `API_KEY` | API 密钥 | 是 | | `PORT` | 不适用 | 否 | | `HOST` | 不适用 | 否 | ### 在 Cursor 中使用 编辑 Cursor MCP 配置文件 `~/.cursor/mcp.json`: ```json { "mcpServers": { "bach-zoopla": { "command": "uvx", "args": ["--from", "bach-zoopla", "bach_zoopla"], "env": { "API_KEY": "your_api_key_here" } } } } ``` ### 在 Claude Desktop 中使用 编辑 Claude Desktop 配置文件 `claude_desktop_config.json`: ```json { "mcpServers": { "bach-zoopla": { "command": "uvx", "args": ["--from", "bach-zoopla", "bach_zoopla"], "env": { "API_KEY": "your_api_key_here" } } } } ``` ## 可用工具 此服务器提供以下工具: ### `propertiesv2list` List properties for sale or rent with options and filters **端点**: `GET /properties/v2/list` **参数**: - `locationValue` (string) *必需*: The value of geoLabel field returned in .../v2/auto-complete endpoint with listings as search_type. Or the value of name field returned in .../house-prices/v2/get-area (If you are searching by postal code). You must use EXACTLY the value returned by the endpoint. *'listing_id' OR 'area' parameter must be provided to get this endpoint working. - `locationIdentifier` (string) *必需*: The value of geoIdentifier field returned in .../v2/auto-complete endpoint with listings as search_type. Or the value of id field returned in ..../house-prices/v2/get-area endpoint (If you are searching by postal code). You must use EXACTLY the value returned by the endpoint. - `category` (string): One of the following residential|commercial - `furnishedState` (string): One of the following : Any|furnished|part_furnished|unfurnished - `includeRented` (string): Example value: - `includeRetirementHomes` (string): Example value: - `includeSharedAccommodation` (string): Example value: - `includeSharedOwnership` (string): Example value: - `includeSold` (string): Example value: - `isAuction` (string): Example value: - `petsAllowed` (string): Example value: - `billsIncluded` (string): Example value: - `keywords` (string): Any word or term, ex : garden,wooden floors - `section` (string): One of the following : for-sale|to-rent - `bedsMax` (number): Max number of bed rooms (1 - 10) - `bedsMin` (number): Min number of bed rooms (1 - 10) - `priceMax` (number): Maximum sale or rent price - `priceMin` (number): Minimum sale or rent price - `sortOrder` (string): One of the following : newest_listings|highest_price|lowest_price|most_reduced - `page` (number): The page index for paging purpose - `radius` (number): The radius (miles) to look for properties (0.25 - 40) - `priceFrequency` (string): One of the following per_month|per_year - `newHomes` (string): One of the following : only|exclude - `added` (string): Recently added. One of the following : 24_hours|3_days|7_days|14_days|30_days - `propertySubType` (string): Filter properties by category. Ignore OR one of the followings (Separated by comma for multiple options) : park_home,bungalow,farms_land,terraced,flats,semi_detached,detached - `chainFree` (string): Example value: - `reducedPriceOnly` (string): Example value: - `feature` (string): One of the followings : has_balcony_terrace|has_parking_garage|has_garden . Separated by comma for multiple options. Ex : has_balcony_terrace,has_parking_garage,... - `tenure` (string): One of the followings : share_of_freehold|freehold|leasehold. Ex : freehold,leasehold,... - `smartTags` (string): One of the followings : condition.needs_modernisation|architecture.period_property|type.cottage|style.modern|attributes.utility_room|attributes.basement|attributes.conservatory|attributes.home_office|attributes.bath|attributes.en_suite|attributes.patio|attributes.kitchen_island. Ex : condition.needs_modernisation,architecture.period_property,... --- ### `house_pricesv2estimate` Returned list of estimated house prices **端点**: `GET /house-prices/v2/estimate` **参数**: - `geoIdentifier` (string) *必需*: The value of 'urlPath' field returned in .../house-prices/v2/auto-complete endpoint OR the value of 'id' field returned in .../house-prices/v2/get-area endpoint. - `after` (number): The offset to ignore for paging purpose. - `first` (number): The number of items per response --- ### `agentsdetail` Get detailed information of an agent by id **端点**: `GET /agents/detail` **参数**: - `id` (number) *必需*: The value of id field returned in .../agents/list endpoint --- ### `agentslist` List agents with filters and options **端点**: `GET /agents/list` **参数**: - `location` (string) *必需*: The value of geoIdentifier field returned in .../v2/auto-complete endpoint with listings as search_type. Or the value of id field returned in ..../house-prices/v2/get-area endpoint (If you are searching by postal code). You must use EXACTLY the value returned by the endpoint. - `search_type` (string): One of the followings : estate-agents|letting-agents|commercial-agents - `company_name` (string): Search by agent name. Either 'location' or 'company_name' is required. You can ignore 'location' parameter when passing value into 'company_name' parameter. - `agents_sort` (string): One of the following : a_z|lowest_avg_price|highest_avg_price|shortest_avg_age|longest_avg_age - `pn` (number): The page index for paging purpose - `radius` (number): The radius (miles) to look for agents (0.25 - 40) --- ### `house_pricesget_area_stats_deprecated` Get area stats **端点**: `GET /house-prices/get-area-stats` **参数**: - `property_id` (number) *必需*: The value of property_id field returned in .../house-prices/estimate endpoint. --- ### `house_pricesget_historic_listings_deprecated` Get historic listings **端点**: `GET /house-prices/get-historic-listings` **参数**: - `property_id` (number) *必需*: The value of property_id field returned in .../house-prices/estimate endpoint. --- ### `house_pricesv2get_area` Use along with .../house-prices/v2/auto-complete endpoint to get related geo id. For example, geo id of postal code. **端点**: `GET /house-prices/v2/get-area` **参数**: - `geoString` (string) *必需*: Postal code, city, district, ward, area, etc.... Use exact values returned in .../house-prices/v2/auto-complete endpoint for best result --- ### `house_pricesget_running_costs_deprecated` Get running costs **端点**: `GET /house-prices/get-running-costs` **参数**: - `property_id` (number) *必需*: The value of property_id field returned in .../house-prices/estimate endpoint. --- ### `house_pricesget_market_activity_deprecated` Get market activity in an area **端点**: `GET /house-prices/get-market-activity` **参数**: - `identifier` (string): The value of suggestions/identifier json object returned in .../auto-complete endpoint with properties as search_type. You must use EXACTLY the value returned by the endpoint. - `area` (string) *必需*: The value of suggestions/value json object returned in .../auto-complete endpoint with properties as search_type. You must use EXACTLY the value returned by the endpoint. --- ### `house_pricesget_sales_history_deprecated` Get sales history **端点**: `GET /house-prices/get-sales-history` **参数**: - `property_id` (number) *必需*: The value of property_id field returned in .../house-prices/estimate endpoint. --- ### `propertiesget_nearby_deprecated` Get nearest points of interest **端点**: `GET /properties/get-nearby` **参数**: - `listing_id` (number) *必需*: The value of listing_id field returned in .../properties/list endpoint --- ### `propertiesv2detail` Get property detail **端点**: `GET /properties/v2/detail` **参数**: - `listingId` (number) *必需*: The value of listingId field returned in .../properties/v2/list endpoint --- ### `propertiesget_broadband_deprecated` Get broadband information **端点**: `GET /properties/get-broadband` **参数**: - `listing_id` (number) *必需*: The value of listing_id field returned in .../properties/list endpoint --- ### `propertiesget_running_costs_deprecated` Get running costs **端点**: `GET /properties/get-running-costs` **参数**: - `listing_id` (number) *必需*: The value of listing_id field returned in .../properties/list endpoint - `category` (string): One of the following residential|commercial - `section` (string): One of the following for-sale|to-rent --- ### `propertieslist_deprecated` List properties for sale or rent with options and filters **端点**: `GET /properties/list` **参数**: - `area` (string) *必需*: The value of suggestions/value json object returned in .../auto-complete endpoint with listings as search_type. You must use EXACTLY the value returned by the endpoint. *'listing_id' OR 'area' parameter must be provided to get this endpoint working. - `identifier` (string): The value of suggestions/identifier json object returned in .../auto-complete endpoint with listings as search_type. You must use EXACTLY the value returned by the endpoint. - `listing_id` (string): The value of listing_id field returned right in this endpoint. *'listing_id' OR 'area' parameter must be provided to get this endpoint working. - `category` (string): One of the following residential|commercial - `created_since` (string): The date time from which properties added. The format must be yyyy-MM-dd HH:mm:ss, Ex : 2020-09-16 15:00:00 - `furnished` (string): One of the following furnished|part_furnished|unfurnished - `include_featured_properties` (number): One of the following 1 | 0 - `include_rented` (number): One of the following 1 | 0 - `include_retirement_homes` (string): One of the following yes | no - `include_shared_accommodation` (string): One of the following yes | no - `include_shared_ownership` (string): One of the following yes | no - `include_sold` (number): One of the following 1 | 0 - `keywords` (string): Any word or term, ex : garden,wooden floors - `listing_status` (string): One of the following sale | rent - `maximum_beds` (number): Max number of bed rooms (1 - 10) - `minimum_beds` (number): Min number of bed rooms (1 - 10) - `maximum_price` (number): Maximum sale or rent price - `minimum_price` (number): Minimum sale or rent price - `order_by` (string): One of the following age|price|price_change|view_count - `ordering` (string): One of the following ascending|descending - `page_number` (number): The page index for paging purpose - `page_size` (number): The number of items per response (max 40) - `property_type` (string): One of the following and separated by comma for multiple values : flats|farms_land|terraced|semi_detached|detached|bungalow|park_home|offices|retail|industrial|hospitality|land - `radius` (number): The radius (miles) to look for properties (1 - 40) - `pets_allowed` (string): One of the following yes | no - `price_frequency` (string): One of the following per_month|per_year - `step_back_used` (number): One of the following 1 | 0 - `bills_included` (string): One of the following yes | no - `floor_area_max` (number): Maximum floor area, only use with commercial category. - `floor_area_min` (number): Minimum floor area, only use with commercial category. - `floor_area_units` (string): One of the following sq_feet|sq_metres - `new_homes` (string): One of the following yes | no --- ### `propertiesget_area_stats_deprecated` Get area stats **端点**: `GET /properties/get-area-stats` **参数**: - `listing_id` (number) *必需*: The value of listing_id field returned in .../properties/list endpoint --- ### `v2auto_complete` Get auto complete suggestion by term or phrase **端点**: `GET /v2/auto-complete` **参数**: - `locationPrefix` (string) *必需*: Example value: greenwich --- ### `auto_complete_deprecated` Get auto complete suggestion by term or phrase **端点**: `GET /auto-complete` **参数**: - `search_term` (string) *必需*: Example value: greenwich - `search_type` (string): One of the following properties|listings. Use listings value to get suggestion for .../properties/list endpoint. Use properties value to get suggestion for .../house-prices/estimate endpoint. --- ### `house_pricesv2detail` Get property price detailed information **端点**: `GET /house-prices/v2/detail` **参数**: - `uprn` (number) *必需*: The value of "uprn" field returned in .../house-prices/v2/estimate endpoint. --- ### `house_pricesv2auto_complete` Get suggestions by term or phrase about city, country, area,etc... **端点**: `GET /house-prices/v2/auto-complete` **参数**: - `addressPartial` (string) *必需*: City, district, ward, area, etc.... --- ### `house_pricesget_points_of_interest_deprecated` Get nearest points of interest **端点**: `GET /house-prices/get-points-of-interest` **参数**: - `property_id` (number) *必需*: The value of property_id field returned in .../house-prices/estimate endpoint. --- ### `house_pricesestimate_deprecated` Returned list of estimated house prices **端点**: `GET /house-prices/estimate` **参数**: - `identifier` (string): The value of suggestions/identifier json object returned in .../auto-complete endpoint with properties as search_type. You must use EXACTLY the value returned by the endpoint. - `area` (string) *必需*: The value of suggestions/value json object returned in .../auto-complete endpoint with properties as search_type. You must use EXACTLY the value returned by the endpoint. - `order_by` (string): One of the following price_paid|last_sold|address|estimated_value - `ordering` (string): One of the following ascending|descending - `page_number` (number): The page index for paging purpose - `page_size` (number): The number of items per response (max 40) - `property_type` (string): One of the following detached|flat|terraced|semi_detached --- ## 技术栈 - **传输协议**: stdio - **HTTP 客户端**: httpx ## 许可证 MIT License - 详见 [LICENSE](./LICENSE) 文件。 ## 开发 此服务器由 [API-to-MCP](https://github.com/BACH-AI-Tools/api-to-mcp) 工具生成。 版本: 1.0.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BACH-AI-Tools/bachai-zoopla'

If you have feedback or need assistance with the MCP directory API, please join our Discord server