iflow-mcp_sap156-zillow-mcp-server 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,320 @@
1
+ Metadata-Version: 2.4
2
+ Name: iflow-mcp_sap156-zillow-mcp-server
3
+ Version: 1.0.0
4
+ Summary: Zillow MCP Server for real estate data access via the Model Context Protocol
5
+ Author-email: Sai Abhinav Parvathaneni <neni.abhinav@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/sap156/zillow-mcp-server
8
+ Project-URL: Repository, https://github.com/sap156/zillow-mcp-server
9
+ Project-URL: Issues, https://github.com/sap156/zillow-mcp-server/issues
10
+ Keywords: zillow,mcp,model-context-protocol,real-estate,claude,api
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
+ Requires-Python: >=3.8
22
+ Description-Content-Type: text/markdown
23
+ Requires-Dist: fastmcp>=2.0.0
24
+ Requires-Dist: requests>=2.31.0
25
+ Requires-Dist: python-dotenv>=1.0.0
26
+ Requires-Dist: backoff>=2.2.1
27
+ Requires-Dist: urllib3>=2.0.0
28
+ Provides-Extra: dev
29
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
30
+ Requires-Dist: black>=23.0.0; extra == "dev"
31
+ Requires-Dist: mypy>=1.0.0; extra == "dev"
32
+
33
+ # Zillow MCP Server
34
+
35
+ A Model Context Protocol (MCP) server that provides real-time access to Zillow real estate data, built with Python and FastMCP.
36
+
37
+ ## Features
38
+
39
+ - 🏠 **Property Search**: Search for properties by location, price range, and property features
40
+ - 💰 **Property Details**: Get detailed information about specific properties
41
+ - 📊 **Zestimates**: Access Zillow's proprietary home valuation data
42
+ - 📈 **Market Trends**: View real estate market trends for any location
43
+ - 🧮 **Mortgage Calculator**: Calculate mortgage payments based on various inputs
44
+ - 🔍 **Health Check**: Verify API connectivity and monitor performance
45
+
46
+ ## Installation
47
+
48
+ ### Prerequisites
49
+
50
+ - Python 3.8 or higher
51
+ - A Zillow Bridge API key (request access at api@bridgeinteractive.com)
52
+
53
+ ### Setup
54
+
55
+ 1. Clone this repository:
56
+ ```
57
+ git clone https://github.com/yourusername/zillow-mcp-server.git
58
+ cd zillow-mcp-server
59
+ ```
60
+
61
+ 2. Install the dependencies:
62
+ ```
63
+ pip install -r requirements.txt
64
+ ```
65
+
66
+ 3. Create a `.env` file with your Zillow API key:
67
+ ```
68
+ ZILLOW_API_KEY=your_zillow_api_key_here
69
+ ```
70
+
71
+ ### Running the Server
72
+
73
+ Run the server with options:
74
+
75
+ ```bash
76
+ # Standard stdio mode (for Claude Desktop)
77
+ python zillow_mcp_server.py
78
+
79
+ # HTTP server mode (for remote access)
80
+ python zillow_mcp_server.py --http --port 8000
81
+
82
+ # Debug mode for more verbose logging
83
+ python zillow_mcp_server.py --debug
84
+ ```
85
+
86
+ ### Docker Deployment
87
+
88
+ You can also run the server using Docker:
89
+
90
+ ```bash
91
+ # Build the Docker image
92
+ docker build -t zillow-mcp-server .
93
+
94
+ # Run with environment variables
95
+ docker run -p 8000:8000 -e ZILLOW_API_KEY=your_key_here zillow-mcp-server
96
+
97
+ # Or using an env file
98
+ docker run -p 8000:8000 --env-file .env zillow-mcp-server
99
+ ```
100
+
101
+ ## Usage with Claude Desktop
102
+
103
+ Add the Zillow MCP server to your Claude Desktop configuration file:
104
+
105
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
106
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
107
+
108
+ ```json
109
+ {
110
+ "mcpServers": {
111
+ "zillow": {
112
+ "command": "python",
113
+ "args": ["/path/to/zillow_mcp_server.py"]
114
+ }
115
+ }
116
+ }
117
+ ```
118
+
119
+ For remote HTTP server:
120
+
121
+ ```json
122
+ {
123
+ "mcpServers": {
124
+ "zillow-remote": {
125
+ "command": "npx",
126
+ "args": ["mcp-remote", "https://your-mcp-server-url.com/sse"]
127
+ }
128
+ }
129
+ }
130
+ ```
131
+
132
+ ## Available Tools
133
+
134
+ ### Search Properties
135
+
136
+ Search for properties based on various criteria:
137
+
138
+ ```python
139
+ search_properties(
140
+ location: str,
141
+ type: str = "forSale",
142
+ min_price: Optional[int] = None,
143
+ max_price: Optional[int] = None,
144
+ beds_min: Optional[int] = None,
145
+ beds_max: Optional[int] = None,
146
+ baths_min: Optional[float] = None,
147
+ baths_max: Optional[float] = None,
148
+ home_types: Optional[List[str]] = None
149
+ )
150
+ ```
151
+
152
+ Example usage in Claude:
153
+ ```
154
+ Please search for properties in Seattle with prices between $500,000 and $800,000.
155
+ ```
156
+
157
+ ### Get Property Details
158
+
159
+ Get detailed information about a specific property:
160
+
161
+ ```python
162
+ get_property_details(
163
+ property_id: str = None,
164
+ address: str = None
165
+ )
166
+ ```
167
+
168
+ Example usage in Claude:
169
+ ```
170
+ Can you get the details for the property with ID 12345?
171
+ ```
172
+
173
+ ### Get Zestimate
174
+
175
+ Get Zillow's estimated value for a property:
176
+
177
+ ```python
178
+ get_zestimate(
179
+ property_id: str = None,
180
+ address: str = None
181
+ )
182
+ ```
183
+
184
+ Example usage in Claude:
185
+ ```
186
+ What's the Zestimate for 123 Main St, Seattle, WA?
187
+ ```
188
+
189
+ ### Get Market Trends
190
+
191
+ Get real estate market trends for a specific location:
192
+
193
+ ```python
194
+ get_market_trends(
195
+ location: str,
196
+ metrics: List[str] = ["median_list_price", "median_sale_price", "median_days_on_market"],
197
+ time_period: str = "1year"
198
+ )
199
+ ```
200
+
201
+ Example usage in Claude:
202
+ ```
203
+ What are the current real estate trends in Boston over the past year?
204
+ ```
205
+
206
+ ### Calculate Mortgage
207
+
208
+ Calculate mortgage payments and related costs:
209
+
210
+ ```python
211
+ calculate_mortgage(
212
+ home_price: int,
213
+ down_payment: int = None,
214
+ down_payment_percent: float = None,
215
+ loan_term: int = 30,
216
+ interest_rate: float = 6.5,
217
+ annual_property_tax: int = None,
218
+ annual_homeowners_insurance: int = None,
219
+ monthly_hoa: int = 0,
220
+ include_pmi: bool = True
221
+ )
222
+ ```
223
+
224
+ Example usage in Claude:
225
+ ```
226
+ Calculate the monthly mortgage payment for a $600,000 house with 20% down and a 6% interest rate.
227
+ ```
228
+
229
+ ### Check Health
230
+
231
+ Verify the Zillow API connection and get server status:
232
+
233
+ ```python
234
+ check_health()
235
+ ```
236
+
237
+ Example usage in Claude:
238
+ ```
239
+ Please check if the Zillow API is currently responsive.
240
+ ```
241
+
242
+ ### Get Server Tools
243
+
244
+ Get a list of all available tools on this server:
245
+
246
+ ```python
247
+ get_server_tools()
248
+ ```
249
+
250
+ Example usage in Claude:
251
+ ```
252
+ What tools are available in the Zillow MCP server?
253
+ ```
254
+
255
+ ## Available Resources
256
+
257
+ ### Property Resource
258
+
259
+ Get property information as a formatted text resource:
260
+
261
+ ```
262
+ zillow://property/{property_id}
263
+ ```
264
+
265
+ ### Market Trends Resource
266
+
267
+ Get market trends information as a formatted text resource:
268
+
269
+ ```
270
+ zillow://market-trends/{location}
271
+ ```
272
+
273
+ ## Error Handling
274
+
275
+ The server implements robust error handling with:
276
+
277
+ - Automatic retries with exponential backoff
278
+ - Detailed error logging
279
+ - Rate limit handling
280
+ - Connection timeouts
281
+ - Graceful degradation
282
+
283
+
284
+ ## Technical Architecture
285
+
286
+ This MCP server is built using:
287
+
288
+ - **FastMCP**: A Pythonic framework for building Model Context Protocol servers
289
+ - **Requests**: For making HTTP requests to the Zillow Bridge API with connection pooling and retries
290
+ - **Backoff**: For implementing exponential backoff retry logic
291
+ - **python-dotenv**: For managing environment variables
292
+
293
+ The server provides both tools (interactive functions) and resources (static data) that Claude can access to provide real estate information to users.
294
+
295
+ ## Limitations and Considerations
296
+
297
+ - Zillow's API has usage limits (typically 1,000 requests per day per dataset)
298
+ - Zillow's terms of service prohibit storing data locally; all requests must be dynamic
299
+ - You must properly attribute data to Zillow in the user interface
300
+ - The Bridge API format may change; refer to Zillow's documentation for updates
301
+
302
+ ## Contributing
303
+
304
+ Contributions are welcome! Please feel free to submit a Pull Request.
305
+
306
+ 1. Fork the repository
307
+ 2. Create a feature branch: `git checkout -b feature-name`
308
+ 3. Commit your changes: `git commit -m 'Add some feature'`
309
+ 4. Push to the branch: `git push origin feature-name`
310
+ 5. Submit a pull request
311
+
312
+ ## License
313
+
314
+ This project is licensed under the MIT License - see the LICENSE file for details.
315
+
316
+ ## Acknowledgments
317
+
318
+ - [FastMCP](https://github.com/jlowin/fastmcp) for the Pythonic MCP implementation
319
+ - [Zillow](https://www.zillow.com) for providing real estate data APIs
320
+ - [Model Context Protocol](https://modelcontextprotocol.io) for the standard protocol specification
@@ -0,0 +1,288 @@
1
+ # Zillow MCP Server
2
+
3
+ A Model Context Protocol (MCP) server that provides real-time access to Zillow real estate data, built with Python and FastMCP.
4
+
5
+ ## Features
6
+
7
+ - 🏠 **Property Search**: Search for properties by location, price range, and property features
8
+ - 💰 **Property Details**: Get detailed information about specific properties
9
+ - 📊 **Zestimates**: Access Zillow's proprietary home valuation data
10
+ - 📈 **Market Trends**: View real estate market trends for any location
11
+ - 🧮 **Mortgage Calculator**: Calculate mortgage payments based on various inputs
12
+ - 🔍 **Health Check**: Verify API connectivity and monitor performance
13
+
14
+ ## Installation
15
+
16
+ ### Prerequisites
17
+
18
+ - Python 3.8 or higher
19
+ - A Zillow Bridge API key (request access at api@bridgeinteractive.com)
20
+
21
+ ### Setup
22
+
23
+ 1. Clone this repository:
24
+ ```
25
+ git clone https://github.com/yourusername/zillow-mcp-server.git
26
+ cd zillow-mcp-server
27
+ ```
28
+
29
+ 2. Install the dependencies:
30
+ ```
31
+ pip install -r requirements.txt
32
+ ```
33
+
34
+ 3. Create a `.env` file with your Zillow API key:
35
+ ```
36
+ ZILLOW_API_KEY=your_zillow_api_key_here
37
+ ```
38
+
39
+ ### Running the Server
40
+
41
+ Run the server with options:
42
+
43
+ ```bash
44
+ # Standard stdio mode (for Claude Desktop)
45
+ python zillow_mcp_server.py
46
+
47
+ # HTTP server mode (for remote access)
48
+ python zillow_mcp_server.py --http --port 8000
49
+
50
+ # Debug mode for more verbose logging
51
+ python zillow_mcp_server.py --debug
52
+ ```
53
+
54
+ ### Docker Deployment
55
+
56
+ You can also run the server using Docker:
57
+
58
+ ```bash
59
+ # Build the Docker image
60
+ docker build -t zillow-mcp-server .
61
+
62
+ # Run with environment variables
63
+ docker run -p 8000:8000 -e ZILLOW_API_KEY=your_key_here zillow-mcp-server
64
+
65
+ # Or using an env file
66
+ docker run -p 8000:8000 --env-file .env zillow-mcp-server
67
+ ```
68
+
69
+ ## Usage with Claude Desktop
70
+
71
+ Add the Zillow MCP server to your Claude Desktop configuration file:
72
+
73
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
74
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
75
+
76
+ ```json
77
+ {
78
+ "mcpServers": {
79
+ "zillow": {
80
+ "command": "python",
81
+ "args": ["/path/to/zillow_mcp_server.py"]
82
+ }
83
+ }
84
+ }
85
+ ```
86
+
87
+ For remote HTTP server:
88
+
89
+ ```json
90
+ {
91
+ "mcpServers": {
92
+ "zillow-remote": {
93
+ "command": "npx",
94
+ "args": ["mcp-remote", "https://your-mcp-server-url.com/sse"]
95
+ }
96
+ }
97
+ }
98
+ ```
99
+
100
+ ## Available Tools
101
+
102
+ ### Search Properties
103
+
104
+ Search for properties based on various criteria:
105
+
106
+ ```python
107
+ search_properties(
108
+ location: str,
109
+ type: str = "forSale",
110
+ min_price: Optional[int] = None,
111
+ max_price: Optional[int] = None,
112
+ beds_min: Optional[int] = None,
113
+ beds_max: Optional[int] = None,
114
+ baths_min: Optional[float] = None,
115
+ baths_max: Optional[float] = None,
116
+ home_types: Optional[List[str]] = None
117
+ )
118
+ ```
119
+
120
+ Example usage in Claude:
121
+ ```
122
+ Please search for properties in Seattle with prices between $500,000 and $800,000.
123
+ ```
124
+
125
+ ### Get Property Details
126
+
127
+ Get detailed information about a specific property:
128
+
129
+ ```python
130
+ get_property_details(
131
+ property_id: str = None,
132
+ address: str = None
133
+ )
134
+ ```
135
+
136
+ Example usage in Claude:
137
+ ```
138
+ Can you get the details for the property with ID 12345?
139
+ ```
140
+
141
+ ### Get Zestimate
142
+
143
+ Get Zillow's estimated value for a property:
144
+
145
+ ```python
146
+ get_zestimate(
147
+ property_id: str = None,
148
+ address: str = None
149
+ )
150
+ ```
151
+
152
+ Example usage in Claude:
153
+ ```
154
+ What's the Zestimate for 123 Main St, Seattle, WA?
155
+ ```
156
+
157
+ ### Get Market Trends
158
+
159
+ Get real estate market trends for a specific location:
160
+
161
+ ```python
162
+ get_market_trends(
163
+ location: str,
164
+ metrics: List[str] = ["median_list_price", "median_sale_price", "median_days_on_market"],
165
+ time_period: str = "1year"
166
+ )
167
+ ```
168
+
169
+ Example usage in Claude:
170
+ ```
171
+ What are the current real estate trends in Boston over the past year?
172
+ ```
173
+
174
+ ### Calculate Mortgage
175
+
176
+ Calculate mortgage payments and related costs:
177
+
178
+ ```python
179
+ calculate_mortgage(
180
+ home_price: int,
181
+ down_payment: int = None,
182
+ down_payment_percent: float = None,
183
+ loan_term: int = 30,
184
+ interest_rate: float = 6.5,
185
+ annual_property_tax: int = None,
186
+ annual_homeowners_insurance: int = None,
187
+ monthly_hoa: int = 0,
188
+ include_pmi: bool = True
189
+ )
190
+ ```
191
+
192
+ Example usage in Claude:
193
+ ```
194
+ Calculate the monthly mortgage payment for a $600,000 house with 20% down and a 6% interest rate.
195
+ ```
196
+
197
+ ### Check Health
198
+
199
+ Verify the Zillow API connection and get server status:
200
+
201
+ ```python
202
+ check_health()
203
+ ```
204
+
205
+ Example usage in Claude:
206
+ ```
207
+ Please check if the Zillow API is currently responsive.
208
+ ```
209
+
210
+ ### Get Server Tools
211
+
212
+ Get a list of all available tools on this server:
213
+
214
+ ```python
215
+ get_server_tools()
216
+ ```
217
+
218
+ Example usage in Claude:
219
+ ```
220
+ What tools are available in the Zillow MCP server?
221
+ ```
222
+
223
+ ## Available Resources
224
+
225
+ ### Property Resource
226
+
227
+ Get property information as a formatted text resource:
228
+
229
+ ```
230
+ zillow://property/{property_id}
231
+ ```
232
+
233
+ ### Market Trends Resource
234
+
235
+ Get market trends information as a formatted text resource:
236
+
237
+ ```
238
+ zillow://market-trends/{location}
239
+ ```
240
+
241
+ ## Error Handling
242
+
243
+ The server implements robust error handling with:
244
+
245
+ - Automatic retries with exponential backoff
246
+ - Detailed error logging
247
+ - Rate limit handling
248
+ - Connection timeouts
249
+ - Graceful degradation
250
+
251
+
252
+ ## Technical Architecture
253
+
254
+ This MCP server is built using:
255
+
256
+ - **FastMCP**: A Pythonic framework for building Model Context Protocol servers
257
+ - **Requests**: For making HTTP requests to the Zillow Bridge API with connection pooling and retries
258
+ - **Backoff**: For implementing exponential backoff retry logic
259
+ - **python-dotenv**: For managing environment variables
260
+
261
+ The server provides both tools (interactive functions) and resources (static data) that Claude can access to provide real estate information to users.
262
+
263
+ ## Limitations and Considerations
264
+
265
+ - Zillow's API has usage limits (typically 1,000 requests per day per dataset)
266
+ - Zillow's terms of service prohibit storing data locally; all requests must be dynamic
267
+ - You must properly attribute data to Zillow in the user interface
268
+ - The Bridge API format may change; refer to Zillow's documentation for updates
269
+
270
+ ## Contributing
271
+
272
+ Contributions are welcome! Please feel free to submit a Pull Request.
273
+
274
+ 1. Fork the repository
275
+ 2. Create a feature branch: `git checkout -b feature-name`
276
+ 3. Commit your changes: `git commit -m 'Add some feature'`
277
+ 4. Push to the branch: `git push origin feature-name`
278
+ 5. Submit a pull request
279
+
280
+ ## License
281
+
282
+ This project is licensed under the MIT License - see the LICENSE file for details.
283
+
284
+ ## Acknowledgments
285
+
286
+ - [FastMCP](https://github.com/jlowin/fastmcp) for the Pythonic MCP implementation
287
+ - [Zillow](https://www.zillow.com) for providing real estate data APIs
288
+ - [Model Context Protocol](https://modelcontextprotocol.io) for the standard protocol specification
@@ -0,0 +1,320 @@
1
+ Metadata-Version: 2.4
2
+ Name: iflow-mcp_sap156-zillow-mcp-server
3
+ Version: 1.0.0
4
+ Summary: Zillow MCP Server for real estate data access via the Model Context Protocol
5
+ Author-email: Sai Abhinav Parvathaneni <neni.abhinav@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/sap156/zillow-mcp-server
8
+ Project-URL: Repository, https://github.com/sap156/zillow-mcp-server
9
+ Project-URL: Issues, https://github.com/sap156/zillow-mcp-server/issues
10
+ Keywords: zillow,mcp,model-context-protocol,real-estate,claude,api
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
+ Requires-Python: >=3.8
22
+ Description-Content-Type: text/markdown
23
+ Requires-Dist: fastmcp>=2.0.0
24
+ Requires-Dist: requests>=2.31.0
25
+ Requires-Dist: python-dotenv>=1.0.0
26
+ Requires-Dist: backoff>=2.2.1
27
+ Requires-Dist: urllib3>=2.0.0
28
+ Provides-Extra: dev
29
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
30
+ Requires-Dist: black>=23.0.0; extra == "dev"
31
+ Requires-Dist: mypy>=1.0.0; extra == "dev"
32
+
33
+ # Zillow MCP Server
34
+
35
+ A Model Context Protocol (MCP) server that provides real-time access to Zillow real estate data, built with Python and FastMCP.
36
+
37
+ ## Features
38
+
39
+ - 🏠 **Property Search**: Search for properties by location, price range, and property features
40
+ - 💰 **Property Details**: Get detailed information about specific properties
41
+ - 📊 **Zestimates**: Access Zillow's proprietary home valuation data
42
+ - 📈 **Market Trends**: View real estate market trends for any location
43
+ - 🧮 **Mortgage Calculator**: Calculate mortgage payments based on various inputs
44
+ - 🔍 **Health Check**: Verify API connectivity and monitor performance
45
+
46
+ ## Installation
47
+
48
+ ### Prerequisites
49
+
50
+ - Python 3.8 or higher
51
+ - A Zillow Bridge API key (request access at api@bridgeinteractive.com)
52
+
53
+ ### Setup
54
+
55
+ 1. Clone this repository:
56
+ ```
57
+ git clone https://github.com/yourusername/zillow-mcp-server.git
58
+ cd zillow-mcp-server
59
+ ```
60
+
61
+ 2. Install the dependencies:
62
+ ```
63
+ pip install -r requirements.txt
64
+ ```
65
+
66
+ 3. Create a `.env` file with your Zillow API key:
67
+ ```
68
+ ZILLOW_API_KEY=your_zillow_api_key_here
69
+ ```
70
+
71
+ ### Running the Server
72
+
73
+ Run the server with options:
74
+
75
+ ```bash
76
+ # Standard stdio mode (for Claude Desktop)
77
+ python zillow_mcp_server.py
78
+
79
+ # HTTP server mode (for remote access)
80
+ python zillow_mcp_server.py --http --port 8000
81
+
82
+ # Debug mode for more verbose logging
83
+ python zillow_mcp_server.py --debug
84
+ ```
85
+
86
+ ### Docker Deployment
87
+
88
+ You can also run the server using Docker:
89
+
90
+ ```bash
91
+ # Build the Docker image
92
+ docker build -t zillow-mcp-server .
93
+
94
+ # Run with environment variables
95
+ docker run -p 8000:8000 -e ZILLOW_API_KEY=your_key_here zillow-mcp-server
96
+
97
+ # Or using an env file
98
+ docker run -p 8000:8000 --env-file .env zillow-mcp-server
99
+ ```
100
+
101
+ ## Usage with Claude Desktop
102
+
103
+ Add the Zillow MCP server to your Claude Desktop configuration file:
104
+
105
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
106
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
107
+
108
+ ```json
109
+ {
110
+ "mcpServers": {
111
+ "zillow": {
112
+ "command": "python",
113
+ "args": ["/path/to/zillow_mcp_server.py"]
114
+ }
115
+ }
116
+ }
117
+ ```
118
+
119
+ For remote HTTP server:
120
+
121
+ ```json
122
+ {
123
+ "mcpServers": {
124
+ "zillow-remote": {
125
+ "command": "npx",
126
+ "args": ["mcp-remote", "https://your-mcp-server-url.com/sse"]
127
+ }
128
+ }
129
+ }
130
+ ```
131
+
132
+ ## Available Tools
133
+
134
+ ### Search Properties
135
+
136
+ Search for properties based on various criteria:
137
+
138
+ ```python
139
+ search_properties(
140
+ location: str,
141
+ type: str = "forSale",
142
+ min_price: Optional[int] = None,
143
+ max_price: Optional[int] = None,
144
+ beds_min: Optional[int] = None,
145
+ beds_max: Optional[int] = None,
146
+ baths_min: Optional[float] = None,
147
+ baths_max: Optional[float] = None,
148
+ home_types: Optional[List[str]] = None
149
+ )
150
+ ```
151
+
152
+ Example usage in Claude:
153
+ ```
154
+ Please search for properties in Seattle with prices between $500,000 and $800,000.
155
+ ```
156
+
157
+ ### Get Property Details
158
+
159
+ Get detailed information about a specific property:
160
+
161
+ ```python
162
+ get_property_details(
163
+ property_id: str = None,
164
+ address: str = None
165
+ )
166
+ ```
167
+
168
+ Example usage in Claude:
169
+ ```
170
+ Can you get the details for the property with ID 12345?
171
+ ```
172
+
173
+ ### Get Zestimate
174
+
175
+ Get Zillow's estimated value for a property:
176
+
177
+ ```python
178
+ get_zestimate(
179
+ property_id: str = None,
180
+ address: str = None
181
+ )
182
+ ```
183
+
184
+ Example usage in Claude:
185
+ ```
186
+ What's the Zestimate for 123 Main St, Seattle, WA?
187
+ ```
188
+
189
+ ### Get Market Trends
190
+
191
+ Get real estate market trends for a specific location:
192
+
193
+ ```python
194
+ get_market_trends(
195
+ location: str,
196
+ metrics: List[str] = ["median_list_price", "median_sale_price", "median_days_on_market"],
197
+ time_period: str = "1year"
198
+ )
199
+ ```
200
+
201
+ Example usage in Claude:
202
+ ```
203
+ What are the current real estate trends in Boston over the past year?
204
+ ```
205
+
206
+ ### Calculate Mortgage
207
+
208
+ Calculate mortgage payments and related costs:
209
+
210
+ ```python
211
+ calculate_mortgage(
212
+ home_price: int,
213
+ down_payment: int = None,
214
+ down_payment_percent: float = None,
215
+ loan_term: int = 30,
216
+ interest_rate: float = 6.5,
217
+ annual_property_tax: int = None,
218
+ annual_homeowners_insurance: int = None,
219
+ monthly_hoa: int = 0,
220
+ include_pmi: bool = True
221
+ )
222
+ ```
223
+
224
+ Example usage in Claude:
225
+ ```
226
+ Calculate the monthly mortgage payment for a $600,000 house with 20% down and a 6% interest rate.
227
+ ```
228
+
229
+ ### Check Health
230
+
231
+ Verify the Zillow API connection and get server status:
232
+
233
+ ```python
234
+ check_health()
235
+ ```
236
+
237
+ Example usage in Claude:
238
+ ```
239
+ Please check if the Zillow API is currently responsive.
240
+ ```
241
+
242
+ ### Get Server Tools
243
+
244
+ Get a list of all available tools on this server:
245
+
246
+ ```python
247
+ get_server_tools()
248
+ ```
249
+
250
+ Example usage in Claude:
251
+ ```
252
+ What tools are available in the Zillow MCP server?
253
+ ```
254
+
255
+ ## Available Resources
256
+
257
+ ### Property Resource
258
+
259
+ Get property information as a formatted text resource:
260
+
261
+ ```
262
+ zillow://property/{property_id}
263
+ ```
264
+
265
+ ### Market Trends Resource
266
+
267
+ Get market trends information as a formatted text resource:
268
+
269
+ ```
270
+ zillow://market-trends/{location}
271
+ ```
272
+
273
+ ## Error Handling
274
+
275
+ The server implements robust error handling with:
276
+
277
+ - Automatic retries with exponential backoff
278
+ - Detailed error logging
279
+ - Rate limit handling
280
+ - Connection timeouts
281
+ - Graceful degradation
282
+
283
+
284
+ ## Technical Architecture
285
+
286
+ This MCP server is built using:
287
+
288
+ - **FastMCP**: A Pythonic framework for building Model Context Protocol servers
289
+ - **Requests**: For making HTTP requests to the Zillow Bridge API with connection pooling and retries
290
+ - **Backoff**: For implementing exponential backoff retry logic
291
+ - **python-dotenv**: For managing environment variables
292
+
293
+ The server provides both tools (interactive functions) and resources (static data) that Claude can access to provide real estate information to users.
294
+
295
+ ## Limitations and Considerations
296
+
297
+ - Zillow's API has usage limits (typically 1,000 requests per day per dataset)
298
+ - Zillow's terms of service prohibit storing data locally; all requests must be dynamic
299
+ - You must properly attribute data to Zillow in the user interface
300
+ - The Bridge API format may change; refer to Zillow's documentation for updates
301
+
302
+ ## Contributing
303
+
304
+ Contributions are welcome! Please feel free to submit a Pull Request.
305
+
306
+ 1. Fork the repository
307
+ 2. Create a feature branch: `git checkout -b feature-name`
308
+ 3. Commit your changes: `git commit -m 'Add some feature'`
309
+ 4. Push to the branch: `git push origin feature-name`
310
+ 5. Submit a pull request
311
+
312
+ ## License
313
+
314
+ This project is licensed under the MIT License - see the LICENSE file for details.
315
+
316
+ ## Acknowledgments
317
+
318
+ - [FastMCP](https://github.com/jlowin/fastmcp) for the Pythonic MCP implementation
319
+ - [Zillow](https://www.zillow.com) for providing real estate data APIs
320
+ - [Model Context Protocol](https://modelcontextprotocol.io) for the standard protocol specification
@@ -0,0 +1,8 @@
1
+ README.md
2
+ pyproject.toml
3
+ iflow_mcp_sap156_zillow_mcp_server.egg-info/PKG-INFO
4
+ iflow_mcp_sap156_zillow_mcp_server.egg-info/SOURCES.txt
5
+ iflow_mcp_sap156_zillow_mcp_server.egg-info/dependency_links.txt
6
+ iflow_mcp_sap156_zillow_mcp_server.egg-info/entry_points.txt
7
+ iflow_mcp_sap156_zillow_mcp_server.egg-info/requires.txt
8
+ iflow_mcp_sap156_zillow_mcp_server.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ zillow-mcp-server = zillow_mcp_server:main
@@ -0,0 +1,10 @@
1
+ fastmcp>=2.0.0
2
+ requests>=2.31.0
3
+ python-dotenv>=1.0.0
4
+ backoff>=2.2.1
5
+ urllib3>=2.0.0
6
+
7
+ [dev]
8
+ pytest>=7.0.0
9
+ black>=23.0.0
10
+ mypy>=1.0.0
@@ -0,0 +1,56 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "iflow-mcp_sap156-zillow-mcp-server"
7
+ version = "1.0.0"
8
+ description = "Zillow MCP Server for real estate data access via the Model Context Protocol"
9
+ readme = "README.md"
10
+ license = {text = "MIT"}
11
+ requires-python = ">=3.8"
12
+ authors = [
13
+ {name = "Sai Abhinav Parvathaneni", email = "neni.abhinav@gmail.com"},
14
+ ]
15
+ keywords = ["zillow", "mcp", "model-context-protocol", "real-estate", "claude", "api"]
16
+ classifiers = [
17
+ "Development Status :: 4 - Beta",
18
+ "Intended Audience :: Developers",
19
+ "License :: OSI Approved :: MIT License",
20
+ "Programming Language :: Python :: 3",
21
+ "Programming Language :: Python :: 3.8",
22
+ "Programming Language :: Python :: 3.9",
23
+ "Programming Language :: Python :: 3.10",
24
+ "Programming Language :: Python :: 3.11",
25
+ "Programming Language :: Python :: 3.12",
26
+ "Topic :: Software Development :: Libraries :: Python Modules",
27
+ ]
28
+ dependencies = [
29
+ "fastmcp>=2.0.0",
30
+ "requests>=2.31.0",
31
+ "python-dotenv>=1.0.0",
32
+ "backoff>=2.2.1",
33
+ "urllib3>=2.0.0",
34
+ ]
35
+
36
+ [project.optional-dependencies]
37
+ dev = [
38
+ "pytest>=7.0.0",
39
+ "black>=23.0.0",
40
+ "mypy>=1.0.0",
41
+ ]
42
+
43
+ [project.scripts]
44
+ zillow-mcp-server = "zillow_mcp_server:main"
45
+
46
+ [project.urls]
47
+ Homepage = "https://github.com/sap156/zillow-mcp-server"
48
+ Repository = "https://github.com/sap156/zillow-mcp-server"
49
+ Issues = "https://github.com/sap156/zillow-mcp-server/issues"
50
+
51
+ [tool.setuptools.packages.find]
52
+ where = ["."]
53
+ include = ["*"]
54
+
55
+ [tool.setuptools.package-data]
56
+ "*" = ["README.md", "LICENSE"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+