stream-estate
Official# Stream.estate MCP Server
MCP server for the [Stream.estate](https://stream.estate) French real estate API. Search properties, get market statistics, manage saved searches with webhook notifications, and more.
## Prerequisites
- Node.js >= 20
- [Stream.estate API key](https://stream.estate/signup)
## Quick Start
### Claude Code (one command)
```bash
claude mcp add -e STREAM_ESTATE_API_KEY=your-api-key stream-estate -- npx mcp-stream-estate
```
### Claude Desktop
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"stream-estate": {
"command": "npx",
"args": ["mcp-stream-estate"],
"env": {
"STREAM_ESTATE_API_KEY": "your-api-key"
}
}
}
}
```
## Configuration
| Environment Variable | Required | Default | Description |
|---------------------|----------|---------|-------------|
| `STREAM_ESTATE_API_KEY` | Yes | — | Your Stream.estate API key ([sign up](https://stream.estate/signup)) |
| `STREAM_ESTATE_BASE_URL` | No | `https://api.stream.estate` | API base URL |
## Available Tools
### Properties
| Tool | Description |
|------|-------------|
| `search-properties` | Search properties with 50+ filters (location, price, size, energy, etc.) |
| `get-property` | Get full property details by UUID |
| `find-similar-properties` | Find properties similar to a given one |
### Indicators
| Tool | Description |
|------|-------------|
| `get-cities` | Search cities by name, zipcode, or INSEE code |
| `location-autocomplete` | Autocomplete city/department names (returns IDs for filters) |
| `get-points-of-interest` | Find nearby schools, hospitals, restaurants, etc. |
| `get-price-per-meter` | Price/m² statistics with average, median, and time series |
### Saved Searches
| Tool | Description |
|------|-------------|
| `create-search` | Create a saved search with webhook notifications |
| `list-searches` | List all saved searches |
| `get-search` | Get a specific saved search |
| `update-search` | Update saved search criteria |
| `delete-search` | Delete a saved search |
### Webhooks
| Tool | Description |
|------|-------------|
| `test-webhook` | Send a test payload to a webhook endpoint |
## Key Concepts
- **Property types**: 0=Flat, 1=House, 2=Building, 3=Parking, 4=Office, 5=Land, 6=Shop
- **Transaction types**: 0=Sell, 1=Rent
- **Publisher types**: 0=Individual, 1=Professional
- **Energy categories**: A (most efficient) through G (least efficient)
- Use `location-autocomplete` first to find city/department IDs for search filters
## Development
```bash
pnpm run dev # Watch mode
pnpm run build # Production build
pnpm start # Run server
```
## License
MIT
TDQS
Scored across 13 tools
Most tools target distinct resources and actions. The only potential confusion is between get-cities and location-autocomplete, which both resolve location identifiers, but their descriptions clarify different use cases (exact search vs autocomplete).
The majority follow a consistent verb_noun pattern (search-properties, create-search, update-search). However, location-autocomplete deviates from this pattern by placing the noun first, which is a minor inconsistency.
13 tools is well within the appropriate range for a real estate search API, covering property discovery, saved search management, location resolution, and auxiliary features like webhooks and pricing stats. Each tool has a clear role.
The tool set provides full CRUD for saved searches, comprehensive property search and detail retrieval, location resolution, and market analysis. No significant gaps for the stated domain of French real estate search.